commit 8f7a43d: [Fix] Multimap: Fix scoring for combined maps
Vsevolod Stakhov
vsevolod at highsecure.ru
Wed Oct 14 14:35:06 UTC 2020
Author: Vsevolod Stakhov
Date: 2020-10-14 15:32:37 +0100
URL: https://github.com/rspamd/rspamd/commit/8f7a43d5a44ffe9e8ba5343406ef3682bf57fe86 (HEAD -> master)
[Fix] Multimap: Fix scoring for combined maps
---
src/plugins/lua/multimap.lua | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/plugins/lua/multimap.lua b/src/plugins/lua/multimap.lua
index 1ef2dbe12..c253c660e 100644
--- a/src/plugins/lua/multimap.lua
+++ b/src/plugins/lua/multimap.lua
@@ -544,7 +544,7 @@ local function multimap_callback(task, rule)
return true,nil,1.0
end
elseif type(p_ret) == 'boolean' then
- return p_ret,nil,0.0
+ return p_ret,nil,1.0
end
return false,nil,0.0
@@ -1270,12 +1270,16 @@ if opts and type(opts) == 'table' then
rspamd_logger.infox(rspamd_config, 'set default score 0 for multimap rule %s', rule.symbol)
rule.score = 0
end
- if rule['score'] then
+ if rule.score then
-- Register metric symbol
rule.name = rule.symbol
rule.description = rule.description or 'multimap symbol'
rule.group = rule.group or N
+ -- XXX: for combined maps we use trace, so flags must include one_shot to avoid scores multiplication
+ if rule.combined and not rule.flags then
+ rule.flags = 'one_shot'
+ end
rspamd_config:set_metric_symbol(rule)
end
end, fun.filter(function(r) return not r['prefilter'] end, rules))
More information about the Commits
mailing list