diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2013-11-21 14:46:46 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2013-11-21 14:46:46 +0000 |
commit | e4b356ae8daf14464901ba4ba785ffd83ce08236 (patch) | |
tree | 8e43eec323be08e252f8d6da7209175315f9dadd /src/plugins/lua/multimap.lua | |
parent | 6f8c790cfa9efdf332e99661f1f2c5da1430fad6 (diff) | |
download | rspamd-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.lua | 20 |
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 |