From: Karsten Loesing Date: Thu, 13 Feb 2014 17:58:21 +0000 (+0100) Subject: Exclude Teredo IPv6 prefix from geoip6. X-Git-Tag: tor-0.2.5.3-alpha~74^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=436f7106b445b24f4f9aa4dc68584129c4b375cc;p=thirdparty%2Ftor.git Exclude Teredo IPv6 prefix from geoip6. 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. --- diff --git a/src/config/mmdb-convert.py b/src/config/mmdb-convert.py index 21a82bab59..80fe6a0e16 100644 --- a/src/config/mmdb-convert.py +++ b/src/config/mmdb-convert.py @@ -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)