aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Lewis <nerf@judo.za.org>2017-02-15 16:19:51 +0200
committerAndrew Lewis <nerf@judo.za.org>2017-02-15 16:43:34 +0200
commit125b8dfd0cc0257e66401b4ec66d29404012e10f (patch)
tree6cccba1c011ddcdefe4509f69c3f424cbbbccb90
parent549961da0a10caf819290b8ff66cdaeafe8d7510 (diff)
downloadrspamd-125b8dfd0cc0257e66401b4ec66d29404012e10f.tar.gz
rspamd-125b8dfd0cc0257e66401b4ec66d29404012e10f.zip
[Feature] Support setting subject in force actions module
-rw-r--r--src/plugins/lua/force_actions.lua10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/plugins/lua/force_actions.lua b/src/plugins/lua/force_actions.lua
index caee6f264..6c01afc2b 100644
--- a/src/plugins/lua/force_actions.lua
+++ b/src/plugins/lua/force_actions.lua
@@ -25,7 +25,7 @@ local rspamd_cryptobox_hash = require "rspamd_cryptobox_hash"
local rspamd_expression = require "rspamd_expression"
local rspamd_logger = require "rspamd_logger"
-local function gen_cb(expr, act, pool, message)
+local function gen_cb(expr, act, pool, message, subject)
local function parse_atom(str)
local atom = table.concat(fun.totable(fun.take_while(function(c)
@@ -54,6 +54,9 @@ local function gen_cb(expr, act, pool, message)
return function(task)
if e:process(task) == 1 then
+ if subject then
+ task:set_metric_subject(subject)
+ end
if message then
task:set_pre_result(act, message)
else
@@ -77,15 +80,16 @@ local function configure_module()
for action, expressions in pairs(opts.actions) do
if type(expressions) == 'table' then
for _, expr in ipairs(expressions) do
- local message
+ local message, subject
if type(expr) == 'table' then
+ subject = expr[3]
message = expr[2]
expr = expr[1]
else
message = (opts.messages or E)[expr]
end
if type(expr) == 'string' then
- local cb, atoms = gen_cb(expr, action, rspamd_config:get_mempool(), message)
+ local cb, atoms = gen_cb(expr, action, rspamd_config:get_mempool(), message, subject)
if cb and atoms then
local h = rspamd_cryptobox_hash.create()
h:update(expr)