]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Support IPv6; avoid polluting IPv4 stats on dual stacks
authorAndrew Lewis <nerf@judo.za.org>
Wed, 26 Aug 2015 22:14:06 +0000 (00:14 +0200)
committerAndrew Lewis <nerf@judo.za.org>
Wed, 2 Sep 2015 12:10:00 +0000 (14:10 +0200)
src/plugins/lua/ip_score.lua

index 9072ca16b2db1eb518b41e374345871d4557f68a..f9f7683894cc271b9160635da61219d368b902af 100644 (file)
@@ -39,6 +39,7 @@ local whitelist = nil
 
 local options = {
   asn_provider = 'origin.asn.cymru.com', -- provider for ASN data
+  asn6_provider = 'origin6.asn.cymru.com', -- provider for ASN data
   actions = { -- how each action is treated in scoring
     ['reject'] = 1.0,
     ['add header'] = 0.25,
@@ -83,8 +84,12 @@ local function asn_check(task)
   end
   
   if ip and ip:is_valid() then
+    local asn_provider = 'asn_provider'
+    if ip:get_version() == 6 then
+      asn_provider = 'asn6_provider'
+    end
     local req_name = rspamd_logger.slog("%1.%2",
-      table.concat(ip:inversed_str_octets(), '.'), options['asn_provider'])
+      table.concat(ip:inversed_str_octets(), '.'), options[asn_provider])
     
     task:get_resolver():resolve_txt(task:get_session(), task:get_mempool(),
         req_name, asn_dns_cb)