]> source.dussan.org Git - rspamd.git/commitdiff
Make lookup conditional on RBL preferences
authorAndrew Lewis <nerf@judo.za.org>
Wed, 20 Nov 2013 19:02:48 +0000 (21:02 +0200)
committerAndrew Lewis <nerf@judo.za.org>
Wed, 20 Nov 2013 19:02:48 +0000 (21:02 +0200)
src/plugins/lua/rbl.lua

index e0284c354e5971058d224d2455abffa066ce3c52..2a395256f37059e257486bd04faab8323fde6073 100644 (file)
@@ -38,16 +38,22 @@ local function rbl_cb (task)
        local rip = task:get_from_ip()
        if(rip ~= "0.0.0.0") then
                for _,rbl in pairs(rbls) do
+                       if (rip:get_version() == "6" and rbl['ipv6'] and rbl['from']) or 
+                               (rip:get_version() == "4" and rbl['ipv4'] and rbl['from']) then
                        task:get_resolver():resolve_a(task:get_session(), task:get_mempool(), 
                                ip_to_rbl(rip, rbl['rbl']), rbl_dns_cb, rbl['symbol'])
+                       end
                end
        end
        local recvh = task:get_received_headers()
        for _,rh in ipairs(recvh) do
                if rh['real_ip'] then
                        for _,rbl in pairs(rbls) do
+                               if (rh['real_ip']:get_version() == "6" and rbl['ipv6'] and rbl['received']) or
+                                       (rh['real_ip']:get_version() == "4" and rbl['ipv4'] and rbl['received']) then
                                task:get_resolver():resolve_a(task:get_session(), task:get_mempool(), 
                                        ip_to_rbl(rh['real_ip'], rbl['rbl']), rbl_dns_cb, rbl['symbol'])
+                               end
                        end
        end
        end