diff options
author | Alexander Moisseev <moiseev@mezonplus.ru> | 2016-12-14 18:06:50 +0300 |
---|---|---|
committer | Alexander Moisseev <moiseev@mezonplus.ru> | 2016-12-14 18:06:50 +0300 |
commit | 0a56825bb091e2c1633684d6ebee337ca792402f (patch) | |
tree | a2c1ef2f72b2de765a7b1a6b06e5be65c1d166cf /src/plugins/lua/greylist.lua | |
parent | 747f2839b029685d4d9ec2faec5785fa8cc0fcce (diff) | |
download | rspamd-0a56825bb091e2c1633684d6ebee337ca792402f.tar.gz rspamd-0a56825bb091e2c1633684d6ebee337ca792402f.zip |
[Fix] Do not set pre-result and update records for no `Queue-ID` messages
Diffstat (limited to 'src/plugins/lua/greylist.lua')
-rw-r--r-- | src/plugins/lua/greylist.lua | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/lua/greylist.lua b/src/plugins/lua/greylist.lua index 691527a99..3de1a0a7a 100644 --- a/src/plugins/lua/greylist.lua +++ b/src/plugins/lua/greylist.lua @@ -199,6 +199,7 @@ local function greylist_check(task) rspamd_logger.infox(task, 'greylisted until "%s" using %s key', end_time, type) task:insert_result(settings['symbol'], 0.0, 'greylisted', end_time) + if not task:get_queue_id() then return end if settings.message_func then task:set_pre_result('soft reject', settings.message_func(task, end_time)) @@ -271,6 +272,7 @@ local function greylist_set(task) end end + local qid = task:get_queue_id() if is_whitelisted then if action == 'greylist' then -- We are going to accept message @@ -282,6 +284,7 @@ local function greylist_set(task) is_whitelisted, rspamd_util.time_to_string(rspamd_util.get_time() + settings['expire'])) + if not qid then return end ret,conn,upstream = rspamd_redis_make_request(task, redis_params, -- connect params hash_key, -- hash key @@ -304,6 +307,7 @@ local function greylist_set(task) rspamd_logger.infox(task, 'greylisted until "%s", new record', end_time) task:insert_result(settings['symbol'], 0.0, 'greylisted', end_time, 'new record') + if not qid then return end task:set_pre_result(settings['action'], settings['message']) -- Create new record ret,conn,upstream = rspamd_redis_make_request(task, @@ -342,6 +346,7 @@ local function greylist_set(task) end end task:set_metric_action('default', settings['action']) + if not qid then return end task:set_pre_result(settings['action'], settings['message']) else task:insert_result(settings['symbol'], 0.0, 'greylisted', 'passed') |