From: Andrew Lewis Date: Mon, 13 Mar 2017 10:52:29 +0000 (+0200) Subject: [Fix] Greylist: Suppress greylist action for whitelisted hosts too X-Git-Tag: 1.5.3~43^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fpull%2F1517%2Fhead;p=rspamd.git [Fix] Greylist: Suppress greylist action for whitelisted hosts too --- diff --git a/src/plugins/lua/greylist.lua b/src/plugins/lua/greylist.lua index 2653564b5..1cb94b6aa 100644 --- a/src/plugins/lua/greylist.lua +++ b/src/plugins/lua/greylist.lua @@ -227,14 +227,25 @@ local function greylist_check(task) end local function greylist_set(task) + local action = task:get_metric_action('default') local ip = task:get_ip() if task:get_user() or (ip and ip:is_local()) then + if action == 'greylist' then + -- We are going to accept message + rspamd_logger.infox(task, 'Downgrading metric action from "greylist" to "no action"') + task:set_metric_action('default', 'no action') + end return end if ip and ip:is_valid() and whitelisted_ip then if whitelisted_ip:get_key(ip) then + if action == 'greylist' then + -- We are going to accept message + rspamd_logger.infox(task, 'Downgrading metric action from "greylist" to "no action"') + task:set_metric_action('default', 'no action') + end return end end @@ -255,7 +266,6 @@ local function greylist_set(task) end end - local action = task:get_metric_action('default') if action == 'reject' or not do_greylisting_required and action == 'no action' then return