diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2020-02-03 13:37:08 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2020-02-03 13:37:08 +0000 |
commit | 91c623b74c85b242c856dfac1bdc8dd7651792bf (patch) | |
tree | 78981cd09a916f0efddfde10a34c96a579ef27d0 /src/plugins/lua | |
parent | 5c31b206681a9d5fee074249977ca7c34ae23bc7 (diff) | |
download | rspamd-91c623b74c85b242c856dfac1bdc8dd7651792bf.tar.gz rspamd-91c623b74c85b242c856dfac1bdc8dd7651792bf.zip |
[Minor] Fix id priorities application
Diffstat (limited to 'src/plugins/lua')
-rw-r--r-- | src/plugins/lua/settings.lua | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/src/plugins/lua/settings.lua b/src/plugins/lua/settings.lua index be22bf1e5..bc91bf4c8 100644 --- a/src/plugins/lua/settings.lua +++ b/src/plugins/lua/settings.lua @@ -253,6 +253,18 @@ local function check_ip_setting(expected, ip) return false end +local function priority_to_string(pri) + if pri then + if pri >= 3 then + return "high" + elseif pri >= 2 then + return "medium" + end + end + + return "low" +end + -- Check limit for a task local function check_settings(task) local function check_specific_setting(rule, matched) @@ -296,20 +308,21 @@ local function check_settings(task) if query_apply then if id_elt then apply_settings(task, query_apply, id_elt.id) - rspamd_logger.infox(task, "applied settings id %s(%s)", - id_elt.name, id_elt.id) + rspamd_logger.infox(task, "applied settings id %s(%s); priority %s", + id_elt.name, id_elt.id, priority_to_string(priority)) else apply_settings(task, query_apply, nil) - rspamd_logger.infox(task, "applied settings from query") + rspamd_logger.infox(task, "applied settings from query; priority %s", + priority_to_string(priority)) end end end local min_pri = 1 if query_apply then - if priority > min_pri then - -- Do not check lower priorities - min_pri = priority + if priority >= min_pri then + -- Do not check lower or equal priorities + min_pri = priority + 1 end if priority > max_pri then @@ -347,10 +360,11 @@ local function check_settings(task) if not cached or not cached.settings or not cached.settings.apply then rspamd_logger.errx(task, 'unregistered settings id found: %s!', s.rule.id) else - rspamd_logger.infox(task, "<%s> apply static settings %s (id = %s); %s matched", + rspamd_logger.infox(task, "<%s> apply static settings %s (id = %s); %s matched; priority %s", task:get_message_id(), cached.name, s.rule.id, - table.concat(matched, ',')) + table.concat(matched, ','), + priority_to_string(pri)) apply_settings(task, cached.settings.apply, s.rule.id) end |