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
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) {