diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-09-24 12:12:55 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-09-24 12:12:55 +0100 |
commit | 16d3c5a33e092bd010c027c4854d25ea9fa6375f (patch) | |
tree | 83c461672963917db0e653d9e4e6a7be84db0ef9 /src | |
parent | 930f9f4d92aed70dba3ade394a2cf2f7d2025292 (diff) | |
download | rspamd-16d3c5a33e092bd010c027c4854d25ea9fa6375f.tar.gz rspamd-16d3c5a33e092bd010c027c4854d25ea9fa6375f.zip |
[Minor] Rbl: Fix registration logic
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/lua/rbl.lua | 64 |
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 |