From e51aa4f137ff1066bbff35d30c4094abf9fafe63 Mon Sep 17 00:00:00 2001 From: clowwindy Date: Sun, 10 Aug 2014 12:23:44 +0800 Subject: [PATCH] use only ipv4 dns server --- CHANGES | 3 +++ setup.py | 2 +- shadowsocks/asyncdns.py | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index a75653c..55f4f4a 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +2.1.0 2014-08-10 +- Use only IPv4 DNS server + 2.1.0 2014-08-01 - Does not ship config.json - Better error message diff --git a/setup.py b/setup.py index d611351..be07821 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ with open('README.rst') as f: setup( name="shadowsocks", - version="3.0", + version="2.1.0", license='MIT', description="A fast tunnel proxy that help you get through firewalls", author='clowwindy', diff --git a/shadowsocks/asyncdns.py b/shadowsocks/asyncdns.py index a3c276c..f745be7 100644 --- a/shadowsocks/asyncdns.py +++ b/shadowsocks/asyncdns.py @@ -232,7 +232,7 @@ def is_ip(address): for family in (socket.AF_INET, socket.AF_INET6): try: socket.inet_pton(family, address) - return True + return family except (TypeError, ValueError, OSError, IOError): pass return False @@ -289,7 +289,7 @@ class DNSResolver(object): parts = line.split() if len(parts) >= 2: server = parts[1] - if is_ip(server): + if is_ip(server) == socket.AF_INET: self._servers.append(server) except IOError: pass