diff options
author | Carsten Rosenberg <c.rosenberg@heinlein-support.de> | 2021-11-08 20:50:44 +0100 |
---|---|---|
committer | Carsten Rosenberg <c.rosenberg@heinlein-support.de> | 2021-11-08 20:50:44 +0100 |
commit | 7a8885d67262d8029742479f9360d8f282747d4e (patch) | |
tree | fe4269946ac5500ccf1d5103b1d88bb0bc75c619 /lualib/lua_cfg_transform.lua | |
parent | ea6276bce599657d76fb507c0e48ea9b64c2748c (diff) | |
download | rspamd-7a8885d67262d8029742479f9360d8f282747d4e.tar.gz rspamd-7a8885d67262d8029742479f9360d8f282747d4e.zip |
[Fix] lua_cfg_transform - silly break break actions
Diffstat (limited to 'lualib/lua_cfg_transform.lua')
-rw-r--r-- | lualib/lua_cfg_transform.lua | 14 |
1 files 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) |