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
parent
commit
08990def98
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 4
      src/plugins/lua/multimap.lua
  2. 4
      test/functional/cases/001_merged/102_multimap.robot
  3. 4
      test/functional/configs/maps/dynamic_symbols.map
  4. 1
      test/functional/configs/merged-override.conf

4
src/plugins/lua/multimap.lua

@ -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

4
test/functional/cases/001_merged/102_multimap.robot

@ -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

4
test/functional/configs/maps/dynamic_symbols.map

@ -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

1
test/functional/configs/merged-override.conf

@ -252,6 +252,7 @@ multimap {
type = "hostname";
map = "{= env.TESTDIR =}/configs/maps/dynamic_symbols.map";
dynamic_symbols = true;
regexp = true;
}
}

Loading…
Cancel
Save