From f1364f234c45246c1983f0ded743c76425690757 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 19 Oct 2018 13:11:45 +0100 Subject: [PATCH] location: Don't use reverse_pointer for IP addresses This doesn't exist in Python 3.4, yet Signed-off-by: Michael Tremer --- src/backend/geoip.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/backend/geoip.py b/src/backend/geoip.py index beac83be..04a97436 100644 --- a/src/backend/geoip.py +++ b/src/backend/geoip.py @@ -211,10 +211,6 @@ class Address(Object): def __str__(self): return "%s" % self.address - @property - def reverse_pointer(self): - return self.address.reverse_pointer - @property def family(self): if isinstance(self.address, ipaddress.IPv6Address): @@ -225,16 +221,20 @@ class Address(Object): # Blacklist def _make_blacklist_rr(self, blacklist): - rr = self.reverse_pointer.split(".") + if self.family == socket.AF_INET6: + octets = self.address.exploded.replace(":", "").split() + elif self.family == socket.AF_INET: + octets = str(self.address).split(".") + else: + raise NotImplementedError("Unknown IP protocol") - # Remove in-addr.arpa or ip6.arpa - for i in range(2): - rr.pop() + # Reverse the list + octets.reverse() - # Append new suffix - rr.append(blacklist) + # Append suffix + octets.append(blacklist) - return ".".join(rr) + return ".".join(octets) @tornado.gen.coroutine def _resolve_blacklist(self, blacklist): -- 2.39.5