diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2018-12-02 12:53:48 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2018-12-02 12:53:48 +0000 |
commit | 9508d87e3ceffeb21795eb1356229f48648182bf (patch) | |
tree | f7a825459adc4fbdefd1781a9258cd125ce0d356 | |
parent | a45d5bd3da50cb5ede2d1fcf356190e68bb13f03 (diff) | |
download | rspamd-9508d87e3ceffeb21795eb1356229f48648182bf.tar.gz rspamd-9508d87e3ceffeb21795eb1356229f48648182bf.zip |
[Minor] Fix greylisting messages
Issue: #2660
-rw-r--r-- | src/plugins/lua/greylist.lua | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/plugins/lua/greylist.lua b/src/plugins/lua/greylist.lua index 7427f999e..87ed1080d 100644 --- a/src/plugins/lua/greylist.lua +++ b/src/plugins/lua/greylist.lua @@ -195,22 +195,25 @@ local function greylist_check(task) local greylisted_meta = false if data then + local end_time_body,end_time_meta + if data[1] and type(data[1]) ~= 'userdata' then + local tm = tonumber(data[1]) or rspamd_util.get_time() ret_body,greylisted_body = check_time(task, data[1], 'body') if greylisted_body then - local end_time = rspamd_util.time_to_string(rspamd_util.get_time() - + settings['timeout']) - task:get_mempool():set_variable("grey_greylisted_body", end_time) + end_time_body = rspamd_util.time_to_string(tm + settings['timeout']) + task:get_mempool():set_variable("grey_greylisted_body", end_time_body) end end + if data[2] and type(data[2]) ~= 'userdata' then if not ret_body or greylisted_body then + local tm = tonumber(data[2]) or rspamd_util.get_time() ret_meta,greylisted_meta = check_time(task, data[2], 'meta') if greylisted_meta then - local end_time = rspamd_util.time_to_string(rspamd_util.get_time() - + settings['timeout']) - task:get_mempool():set_variable("grey_greylisted_meta", end_time) + end_time_meta = rspamd_util.time_to_string(tm + settings['timeout']) + task:get_mempool():set_variable("grey_greylisted_meta", end_time_meta) end end end @@ -220,8 +223,7 @@ local function greylist_check(task) + settings['timeout']) task:get_mempool():set_variable("grey_greylisted", end_time) elseif greylisted_body and greylisted_meta then - local end_time = rspamd_util.time_to_string(rspamd_util.get_time() + - settings['timeout']) + local end_time = math.min(end_time_body, end_time_meta) rspamd_logger.infox(task, 'greylisted until "%s"', end_time) greylist_message(task, end_time, 'too early') |