aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/lua/multimap.lua
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2013-11-21 14:46:46 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2013-11-21 14:46:46 +0000
commite4b356ae8daf14464901ba4ba785ffd83ce08236 (patch)
tree8e43eec323be08e252f8d6da7209175315f9dadd /src/plugins/lua/multimap.lua
parent6f8c790cfa9efdf332e99661f1f2c5da1430fad6 (diff)
downloadrspamd-e4b356ae8daf14464901ba4ba785ffd83ce08236.tar.gz
rspamd-e4b356ae8daf14464901ba4ba785ffd83ce08236.zip
Fix rbl module registration.
Diffstat (limited to 'src/plugins/lua/multimap.lua')
-rw-r--r--src/plugins/lua/multimap.lua20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/plugins/lua/multimap.lua b/src/plugins/lua/multimap.lua
index f3d3ef205..229d594cf 100644
--- a/src/plugins/lua/multimap.lua
+++ b/src/plugins/lua/multimap.lua
@@ -3,14 +3,7 @@
local rules = {}
local function ip_to_rbl(ip, rbl)
- octets = ip:inversed_str_octets()
- local str = ''
- for _,o in ipairs(octets) do
- str = str .. o .. '.'
- end
- str = str .. rbl
-
- return str
+ return table.concat(ip:inversed_str_octets(), ".") .. '.' .. rbl
end
local function check_multimap(task)
@@ -73,9 +66,14 @@ local function check_multimap(task)
end
elseif rule['type'] == 'dnsbl' then
local ip = task:get_from_ip()
- if ip then
- task:get_resolver():resolve_a(task:get_session(), task:get_mempool(),
- ip_to_rbl(ip, rule['map']), multimap_rbl_cb, rule['map'])
+ if ip and ip ~= "0.0.0.0" then
+ if ip:get_version() == 6 and rule['ipv6'] then
+ task:get_resolver():resolve_a(task:get_session(), task:get_mempool(),
+ ip_to_rbl(ip, rule['map']), multimap_rbl_cb, rule['map'])
+ elseif ip:get_version() == 4 then
+ task:get_resolver():resolve_a(task:get_session(), task:get_mempool(),
+ ip_to_rbl(ip, rule['map']), multimap_rbl_cb, rule['map'])
+ end
end
elseif rule['type'] == 'rcpt' then
-- First try to get rcpt field