Browse Source
Merge pull request #4976 from rspamd/vstakhov-fix-multimap-multisym
Fix multimaps with dynamic symbols
pull/4987/head
Vsevolod Stakhov
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with
7 additions and
6 deletions
-
src/plugins/lua/multimap.lua
-
test/functional/cases/001_merged/102_multimap.robot
-
test/functional/configs/maps/dynamic_symbols.map
-
test/functional/configs/merged-override.conf
|
|
|
@ -1124,7 +1124,7 @@ local function multimap_on_load_gen(rule) |
|
|
|
lua_util.debugm(N, rspamd_config, "%s: adding new symbol %s (score = %s), triggered by %s", |
|
|
|
rule.symbol, symbol, score, key) |
|
|
|
rspamd_config:register_symbol { |
|
|
|
name = value, |
|
|
|
name = symbol, |
|
|
|
parent = rule.callback_id, |
|
|
|
type = 'virtual', |
|
|
|
score = score, |
|
|
|
@ -1133,7 +1133,7 @@ local function multimap_on_load_gen(rule) |
|
|
|
group = N, |
|
|
|
score = 1.0, -- In future, we will parse score from `get_value` and use it as multiplier |
|
|
|
description = 'Automatic symbol generated by rule: ' .. rule.symbol, |
|
|
|
name = value, |
|
|
|
name = symbol, |
|
|
|
}) |
|
|
|
known_symbols[value] = true |
|
|
|
end |
|
|
|
|
|
|
|
@ -420,13 +420,13 @@ MAP - EXTERNAL MISS |
|
|
|
MAP - DYNAMIC SYMBOLS - SYM1 |
|
|
|
Scan File ${MESSAGE} IP=127.0.0.1 Hostname=foo |
|
|
|
... Settings={symbols_enabled = [DYN_TEST1,DYN_TEST2,DYN_MULTIMAP]} |
|
|
|
Expect Symbol DYN_TEST1 |
|
|
|
Expect Symbol With Score DYN_TEST1 10 |
|
|
|
Do Not Expect Symbol DYN_TEST2 |
|
|
|
|
|
|
|
MAP - DYNAMIC SYMBOLS - SYM2 |
|
|
|
Scan File ${MESSAGE} IP=127.0.0.1 Hostname=bar |
|
|
|
... Settings={symbols_enabled = [DYN_TEST1,DYN_TEST2,DYN_MULTIMAP]} |
|
|
|
Expect Symbol DYN_TEST2 |
|
|
|
Expect Symbol With Score DYN_TEST2 20 |
|
|
|
Do Not Expect Symbol DYN_TEST1 |
|
|
|
|
|
|
|
MAP - DYNAMIC SYMBOLS - MISS |
|
|
|
|
|
|
|
@ -1,2 +1,2 @@ |
|
|
|
foo DYN_TEST1:10:opt1,opt2 |
|
|
|
bar DYN_TEST2:20:opt3,opt4 |
|
|
|
/foo/ DYN_TEST1:10:opt1,opt2 |
|
|
|
/bar/ DYN_TEST2:20:opt3,opt4 |
|
|
|
@ -252,6 +252,7 @@ multimap { |
|
|
|
type = "hostname"; |
|
|
|
map = "{= env.TESTDIR =}/configs/maps/dynamic_symbols.map"; |
|
|
|
dynamic_symbols = true; |
|
|
|
regexp = true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|