From 689e2581c59604f0489c7901dbfaaf7202272913 Mon Sep 17 00:00:00 2001 From: Yann Leboulanger Date: Fri, 5 Jul 2013 21:10:16 +0200 Subject: [PATCH] fix IPv6 issues under window 7 for file transfer. Fixes #4452, #7240 --- src/common/proxy65_manager.py | 1 + src/common/socks5.py | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/common/proxy65_manager.py b/src/common/proxy65_manager.py index eabca6e1a..6f500e595 100644 --- a/src/common/proxy65_manager.py +++ b/src/common/proxy65_manager.py @@ -166,6 +166,7 @@ class ProxyResolver: self.state = S_FINISHED def _on_connect_failure(self): + print 'connection failed: ' + self.host self.state = S_FINISHED self.host = None self.port = 0 diff --git a/src/common/socks5.py b/src/common/socks5.py index 4ab72ec9a..e0e9865c5 100644 --- a/src/common/socks5.py +++ b/src/common/socks5.py @@ -1365,9 +1365,10 @@ class Socks5Listener(IdleObject): # Doesn't work under windows XP if os.name == 'nt': ver = os.sys.getwindowsversion() - if (ver[3], ver[0], ver[1]) == (2, 6, 0): + if (ver[3], ver[0]) == (2, 6): # Win Vista + + # 47 is socket.IPPROTO_IPV6 # 27 is socket.IPV6_V6ONLY under windows, but not defined ... - self._serv.setsockopt(socket.IPPROTO_IPV6, 27, 1) + self._serv.setsockopt(41, 27, 0) # will fail when port as busy, or we don't have rights to bind try: self._serv.bind(ai[4])