aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/lua/greylist.lua
diff options
context:
space:
mode:
authorAlexander Moisseev <moiseev@mezonplus.ru>2016-12-14 18:06:50 +0300
committerAlexander Moisseev <moiseev@mezonplus.ru>2016-12-14 18:06:50 +0300
commit0a56825bb091e2c1633684d6ebee337ca792402f (patch)
treea2c1ef2f72b2de765a7b1a6b06e5be65c1d166cf /src/plugins/lua/greylist.lua
parent747f2839b029685d4d9ec2faec5785fa8cc0fcce (diff)
downloadrspamd-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.lua5
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')