]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Update greylisting threshold as it can be easily dynamic
authorVsevolod Stakhov <vsevolod@rspamd.com>
Fri, 5 Apr 2024 16:44:59 +0000 (17:44 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Fri, 5 Apr 2024 16:44:59 +0000 (17:44 +0100)
Issue: #4908
Closes: #4908
src/plugins/lua/greylist.lua

index 6e221b39df37e06dc7525f4b0693f8676594f2ec..b69e909f61b33bc0ebb809cc470cbfedd5dc9ee5 100644 (file)
@@ -329,9 +329,11 @@ local function greylist_set(task)
     end
   end
 
-  if settings.greylist_min_score then
+  -- We need to update this on each scan, as it can vary per settings or be redefined dynamically
+  local greylist_min_score = settings.greylist_min_score or rspamd_config:get_metric_action('greylist')
+  if greylist_min_score then
     local score = task:get_metric_score('default')[1]
-    if score < settings.greylist_min_score then
+    if score < greylist_min_score then
       rspamd_logger.infox(task, 'Score too low - skip greylisting')
       if action == 'greylist' then
         -- We are going to accept message
@@ -493,11 +495,6 @@ if opts then
 
   if settings['greylist_min_score'] then
     settings['greylist_min_score'] = tonumber(settings['greylist_min_score'])
-  else
-    local greylist_threshold = rspamd_config:get_metric_action('greylist')
-    if greylist_threshold then
-      settings['greylist_min_score'] = greylist_threshold
-    end
   end
 
   whitelisted_ip = lua_map.rspamd_map_add(N, 'whitelisted_ip', 'radix',