aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2019-09-24 12:12:55 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2019-09-24 12:12:55 +0100
commit16d3c5a33e092bd010c027c4854d25ea9fa6375f (patch)
tree83c461672963917db0e653d9e4e6a7be84db0ef9 /src
parent930f9f4d92aed70dba3ade394a2cf2f7d2025292 (diff)
downloadrspamd-16d3c5a33e092bd010c027c4854d25ea9fa6375f.tar.gz
rspamd-16d3c5a33e092bd010c027c4854d25ea9fa6375f.zip
[Minor] Rbl: Fix registration logic
Diffstat (limited to 'src')
-rw-r--r--src/plugins/lua/rbl.lua64
1 files changed, 32 insertions, 32 deletions
diff --git a/src/plugins/lua/rbl.lua b/src/plugins/lua/rbl.lua
index ab4512545..5c007b6c3 100644
--- a/src/plugins/lua/rbl.lua
+++ b/src/plugins/lua/rbl.lua
@@ -912,47 +912,47 @@ local function add_rbl(key, rbl, global_opts)
score = 0.0,
}
- local function process_return_code(s)
- if s ~= rbl.symbol then
- -- hack
- if rbl.symbols_prefixes then
- for _,prefix in pairs(rbl.symbols_prefixes) do
- rspamd_config:register_symbol{
- type = 'virtual',
- parent = id,
- name = prefix .. '_' .. s,
- }
- end
- else
- rspamd_config:register_symbol({
- name = s,
+ local function process_return_code(suffix)
+ local function process_specific_suffix(s)
+ if s ~= rbl.symbol then
+ -- hack
+
+ rspamd_config:register_symbol{
+ type = 'virtual',
parent = id,
- type = 'virtual'
- })
+ name = s,
+ }
end
-
- end
-
- if rbl.is_whitelist then
- if rbl.whitelist_exception then
- local found_exception = false
- for _, e in ipairs(rbl.whitelist_exception) do
- if e == s then
- found_exception = true
- break
+ if rbl.is_whitelist then
+ if rbl.whitelist_exception then
+ local found_exception = false
+ for _, e in ipairs(rbl.whitelist_exception) do
+ if e == s then
+ found_exception = true
+ break
+ end
end
- end
- if not found_exception then
+ if not found_exception then
+ table.insert(white_symbols, s)
+ end
+ else
table.insert(white_symbols, s)
end
else
- table.insert(white_symbols, s)
+ if rbl.ignore_whitelist == false then
+ table.insert(black_symbols, s)
+ end
end
- else
- if rbl.ignore_whitelist == false then
- table.insert(black_symbols, s)
+ end
+
+ if rbl.symbols_prefixes then
+ for _,prefix in pairs(rbl.symbols_prefixes) do
+ process_specific_suffix(prefix .. '_' .. suffix)
end
+ else
+ process_specific_suffix(suffix)
end
+
end
if rbl.returncodes then