aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew Lewis <nerf@judo.za.org>2014-01-31 10:48:49 +0200
committerAndrew Lewis <nerf@judo.za.org>2014-01-31 10:48:49 +0200
commit32f1660faccc8e15e0de210d38757cf1328366cc (patch)
treec4f1b9d7fa2c347bb3f307838d4fbd766d1f2b02 /src
parent836ed3dbae80d84baa04fcab2be9c127188f426b (diff)
downloadrspamd-32f1660faccc8e15e0de210d38757cf1328366cc.tar.gz
rspamd-32f1660faccc8e15e0de210d38757cf1328366cc.zip
Support HELO blacklist and fix options registration for RDNS blacklist
Diffstat (limited to 'src')
-rw-r--r--src/plugins/lua/rbl.lua15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/plugins/lua/rbl.lua b/src/plugins/lua/rbl.lua
index 0dcc48e7b..898da4e41 100644
--- a/src/plugins/lua/rbl.lua
+++ b/src/plugins/lua/rbl.lua
@@ -77,6 +77,14 @@ local function rbl_cb (task)
task:inc_dns_req()
end
+ local helo = task:get_helo()
+ if helo then
+ for k,rbl in pairs(rbls) do
+ if rbl['helo'] then
+ task:get_resolver():resolve_a(task:get_session(), task:get_mempool(), helo .. '.' .. rbl['rbl'], rbl_dns_cb, k)
+ end
+ end
+ end
local sender_dns = task:get_hostname()
if sender_dns ~= nil and sender_dns ~= 'unknown' then
for k,rbl in pairs(rbls) do
@@ -117,6 +125,8 @@ if type(rspamd_config.get_api_version) ~= 'nil' then
rspamd_config:register_module_option('rbl', 'default_ipv6', 'string')
rspamd_config:register_module_option('rbl', 'default_received', 'string')
rspamd_config:register_module_option('rbl', 'default_from', 'string')
+ rspamd_config:register_module_option('rbl', 'default_rdns', 'string')
+ rspamd_config:register_module_option('rbl', 'default_helo', 'string')
end
end
@@ -143,8 +153,11 @@ end
if(opts['default_rdns'] == nil) then
opts['default_rdns'] = false
end
+if(opts['default_helo'] == nil) then
+ opts['default_helo'] = false
+end
for key,rbl in pairs(opts['rbls']) do
- local o = { "ipv4", "ipv6", "from", "received", "unknown", "rdns" }
+ local o = { "ipv4", "ipv6", "from", "received", "unknown", "rdns", "helo" }
for i=1,table.maxn(o) do
if(rbl[o[i]] == nil) then
rbl[o[i]] = opts['default_' .. o[i]]