From: Vsevolod Stakhov Date: Sat, 18 Nov 2017 22:03:54 +0000 (+0000) Subject: [Fix] Allow to have negative actions limits X-Git-Tag: 1.7.0~421 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d9d76b801cb8578867785054adf4234d808fcca2;p=thirdparty%2Frspamd.git [Fix] Allow to have negative actions limits --- diff --git a/lualib/rspamd_config_transform.lua b/lualib/rspamd_config_transform.lua index bca42691af..4f656ca9c1 100644 --- a/lualib/rspamd_config_transform.lua +++ b/lualib/rspamd_config_transform.lua @@ -251,6 +251,24 @@ return function(cfg) logger.errx('no actions defined') end + -- Perform sanity check for actions + local actions_defs = {'greylist', 'add header', 'add_header', + 'rewrite subject', 'rewrite_subject', 'reject'} + + if not cfg.actions['no action'] and not cfg.actions['no_action'] and + not cfg.actions['accept'] then + for _,d in ipairs(actions_defs) do + if cfg.actions[d] then + if cfg.actions[d] < 0 then + cfg.actions['no action'] = cfg.actions[d] - 0.001 + logger.infox('set no action score to: %s, as action %s has negative score', + cfg.actions['no action'], d) + break + end + end + end + end + if not cfg.group then logger.errx('no symbol groups defined') else diff --git a/src/libmime/filter.c b/src/libmime/filter.c index ecbfd24dbe..fbd6d9f97f 100644 --- a/src/libmime/filter.c +++ b/src/libmime/filter.c @@ -351,7 +351,7 @@ enum rspamd_action_type rspamd_check_action_metric (struct rspamd_task *task, struct rspamd_metric_result *mres) { struct rspamd_action *action, *selected_action = NULL; - double max_score = 0, sc; + double max_score = -(G_MAXDOUBLE), sc; int i; if (task->pre_result.action == METRIC_ACTION_MAX) {