]> source.dussan.org Git - rspamd.git/commitdiff
More checks in lua plugins. 0.4.2
authorVsevolod Stakhov <vsevolod@rambler-co.ru>
Fri, 5 Aug 2011 11:11:03 +0000 (15:11 +0400)
committerVsevolod Stakhov <vsevolod@rambler-co.ru>
Fri, 5 Aug 2011 11:11:03 +0000 (15:11 +0400)
src/plugins/lua/once_received.lua
src/plugins/lua/received_rbl.lua

index a7b2a26559ace368ddf6fad14d39c2bb4c1cc77d..0de235c01c51a247fe6b7a3f72a0dae4e9882a54 100644 (file)
@@ -28,10 +28,12 @@ function check_quantity_received (task)
                        for _,h in ipairs(bad_hosts) do
                                if string.find(hn, h) then
                                        -- Check for good hostname
-                                       for _,gh in ipairs(good_hosts) do
-                                               if string.find(hn, gh) then
-                                                       i = false
-                                                       break
+                                       if good_hosts then
+                                               for _,gh in ipairs(good_hosts) do
+                                                       if string.find(hn, gh) then
+                                                               i = false
+                                                               break
+                                                       end
                                                end
                                        end
                                        if i then
index b0991b392b6b4fd2277e2e38d937417e9866774e..a2deda2599b4184050fc27f81d22c7aa5dd9ef8a 100644 (file)
@@ -22,9 +22,11 @@ function received_cb (task)
     for _,rh in ipairs(recvh) do
                if rh['real_ip'] then
                        local _,_,o1,o2,o3,o4 = string.find(rh['real_ip'], '^(%d+)%.(%d+)%.(%d+)%.(%d+)$')
-                       for _,rbl in ipairs(rbls) do
-                               rbl_str = o4 .. '.' .. o3 .. '.' .. o2 .. '.' .. o1 .. '.' .. rbl['rbl']
-                               task:resolve_dns_a(rbl_str, 'dns_cb', rbl['symbol'])
+                       if o1 and o2 and o3 and o4 then
+                               for _,rbl in ipairs(rbls) do
+                                       rbl_str = o4 .. '.' .. o3 .. '.' .. o2 .. '.' .. o1 .. '.' .. rbl['rbl']
+                                       task:resolve_dns_a(rbl_str, 'dns_cb', rbl['symbol'])
+                               end
                        end
         end
     end