changeset 0e2c345029a5 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=0e2c345029a5 description: catch "address family not supported" errors when sending files. Fixes #5327
diffstat:
src/common/socks5.py | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-)
diffs (20 lines):
diff -r ae0009ef4d3e -r 0e2c345029a5 src/common/socks5.py --- a/src/common/socks5.py Sat Jan 02 22:45:02 2010 +0100 +++ b/src/common/socks5.py Sat Jan 02 22:47:36 2010 +0100 @@ -860,8 +860,14 @@
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)