From 0699e2e3a10aa99eefe2509c9d9d0883b5d027b1 Mon Sep 17 00:00:00 2001 From: "Alex V. Myltsev" <avm@altlinux.org> Date: Sat, 2 Jan 2010 22:47:36 +0100 Subject: [PATCH] catch "address family not supported" errors when sending files. Fixes #5327 --- src/common/socks5.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/common/socks5.py b/src/common/socks5.py index d6e8b9707e..63c37f2f6a 100644 --- a/src/common/socks5.py +++ b/src/common/socks5.py @@ -860,8 +860,14 @@ class Socks5Listener(IdleObject): def bind(self): for ai in self.ais: - #try the different possibilities (ipv6, ipv4, etc.) - self._serv = socket.socket(*ai[:3]) + # try the different possibilities (ipv6, ipv4, etc.) + try: + self._serv = socket.socket(*ai[:3]) + except socket.error, e: + if e.errno == EAFNOSUPPORT: + self.ai = None + continue + raise self._serv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self._serv.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) self._serv.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) -- GitLab