aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew Lewis <nerf@judo.za.org>2015-06-22 21:40:21 +0200
committerAndrew Lewis <nerf@judo.za.org>2015-06-22 21:53:39 +0200
commit4bc4b010cfb465397c1ef995472be7fcd0cb5b09 (patch)
tree3839ed026886d8a6be13759e196230afc9148253 /src
parent6c62e78180c5dd39e7f3ef02eefc2751c3963926 (diff)
downloadrspamd-4bc4b010cfb465397c1ef995472be7fcd0cb5b09.tar.gz
rspamd-4bc4b010cfb465397c1ef995472be7fcd0cb5b09.zip
Add whitelist_exception setting to RBL module
Diffstat (limited to 'src')
-rw-r--r--src/plugins/lua/rbl.lua17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/plugins/lua/rbl.lua b/src/plugins/lua/rbl.lua
index cceb00449..c524c5bf1 100644
--- a/src/plugins/lua/rbl.lua
+++ b/src/plugins/lua/rbl.lua
@@ -355,7 +355,22 @@ for key,rbl in pairs(opts['rbls']) do
if type(rspamd_config.get_api_version) ~= 'nil' then
rspamd_config:register_virtual_symbol(s, 1, id)
if(rbl['is_whitelist']) then
- table.insert(white_symbols, s)
+ if type(rbl['whitelist_exception']) == 'string' then
+ if (rbl['whitelist_exception'] ~= s) then
+ table.insert(white_symbols, s)
+ end
+ elseif type(rbl['whitelist_exception']) == 'table' then
+ local foundException = false
+ for _, e in pairs(rbl['whitelist_exception']) do
+ if e == s then
+ foundException = true
+ break
+ end
+ end
+ if not foundException then
+ table.insert(white_symbols, s)
+ end
+ end
else
table.insert(black_symbols, s)
end