commit 7a8885d: [Fix] lua_cfg_transform - silly break break actions

Carsten Rosenberg c.rosenberg at heinlein-support.de
Tue Nov 9 17:07:06 UTC 2021


Author: Carsten Rosenberg
Date: 2021-11-08 20:50:44 +0100
URL: https://github.com/rspamd/rspamd/commit/7a8885d67262d8029742479f9360d8f282747d4e (refs/pull/3969/head)

[Fix] lua_cfg_transform - silly break break actions

---
 lualib/lua_cfg_transform.lua | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/lualib/lua_cfg_transform.lua b/lualib/lua_cfg_transform.lua
index 6fec243e9..050686df2 100644
--- a/lualib/lua_cfg_transform.lua
+++ b/lualib/lua_cfg_transform.lua
@@ -374,11 +374,17 @@ return function(cfg)
             not cfg.actions['accept'] then
       for _,d in ipairs(actions_defs) do
         if cfg.actions[d] then
-          if type(cfg.actions[d]) ~= 'table' then
-            break
-          elseif type(cfg.actions[d]) ~= 'number' then
+
+          local action_score = nil
+          if type(cfg.actions[d]) == 'number' then
+            action_score = cfg.actions[d]
+          elseif type(cfg.actions[d]) == 'table' and cfg.actions[d]['score'] then
+            action_score = cfg.actions[d]['score']
+          end
+
+          if type(cfg.actions[d]) ~= 'table' and not action_score then
             cfg.actions[d] = nil
-          elseif cfg.actions[d] < 0 then
+          elseif type(action_score) == 'number' and action_score < 0 then
             cfg.actions['no_action'] = cfg.actions[d] - 0.001
             logger.infox(rspamd_config, 'set no_action score to: %s, as action %s has negative score',
                     cfg.actions['no_action'], d)


More information about the Commits mailing list