]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Exclude Teredo IPv6 prefix from geoip6.
authorKarsten Loesing <karsten.loesing@gmx.net>
Thu, 13 Feb 2014 17:58:21 +0000 (18:58 +0100)
committerKarsten Loesing <karsten.loesing@gmx.net>
Thu, 13 Feb 2014 17:58:21 +0000 (18:58 +0100)
The latest GeoLite2 database includes a pointer from 2001::/32 to the root
node of the IPv4 address space in the tree.  We need to exclude this whole
address space from geoip6, similar to how we exclude IPv4-mapped IPv6
addresses and the 6to4 mapping subnet.

src/config/mmdb-convert.py

index 21a82bab592ba7074225f80f74e51de750598489..80fe6a0e16d545fbf36119eab23641abcc0ed2d7 100644 (file)
@@ -380,6 +380,7 @@ def fmt_item_ipv6(entry):
 
 IPV4_MAPPED_IPV6_PREFIX = "0"*80 + "1"*16
 IPV6_6TO4_PREFIX = "0010000000000010"
+TEREDO_IPV6_PREFIX = "0010000000000001" + "0"*16
 
 def dump_item_ipv6(entries, prefix, val):
     """Dump the information for an IPv6 address prefix to entries, where
@@ -391,7 +392,8 @@ def dump_item_ipv6(entries, prefix, val):
     """
     if prefix.startswith(IPV4_PREFIX) or \
        prefix.startswith(IPV4_MAPPED_IPV6_PREFIX) or \
-       prefix.startswith(IPV6_6TO4_PREFIX):
+       prefix.startswith(IPV6_6TO4_PREFIX) or \
+       prefix.startswith(TEREDO_IPV6_PREFIX):
         return
     v = int(prefix, 2)
     shift = 128 - len(prefix)