changeset 3897db63b8c5 in /home/hg/repos/gajim
author: Yann Leboulanger asterix@lagaule.org branches: gajim_0.16 details:http://hg.gajim.org/gajim?cmd=changeset;node=3897db63b8c5 description: make windon listen on ipv4 + ipv6 for zeroconf. Fixes #8007
diffstat:
src/common/zeroconf/client_zeroconf.py | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diffs (24 lines):
diff -r 9bd987174591 -r 3897db63b8c5 src/common/zeroconf/client_zeroconf.py --- a/src/common/zeroconf/client_zeroconf.py Tue Jul 14 14:19:24 2015 +0200 +++ b/src/common/zeroconf/client_zeroconf.py Tue Jul 14 21:39:05 2015 +0200 @@ -30,6 +30,7 @@ import socket import errno import sys +import os import string from random import Random
@@ -71,6 +72,12 @@ 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) + if os.name == 'nt': + ver = os.sys.getwindowsversion() + 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(41, 27, 0) # will fail when port is busy, or we don't have rights to bind try: self._serv.bind((ai[4][0], self.port))