diff --git a/gajim/common/socks5.py b/gajim/common/socks5.py index 4fa79d599..b55363594 100644 --- a/gajim/common/socks5.py +++ b/gajim/common/socks5.py @@ -27,6 +27,7 @@ import struct import hashlib import os import time +import platform from errno import EWOULDBLOCK from errno import ENOBUFS from errno import EINTR @@ -1424,8 +1425,7 @@ class Socks5Listener(IdleObject): # Under windows Vista, we need that to listen on ipv6 AND ipv4 # Doesn't work under windows XP if os.name == 'nt': - ver = os.sys.getwindowsversion() - if (ver[3], ver[0]) == (2, 6): # Win Vista + + if int(platform.win32_ver()[0]) >= 6: # Win Vista + # 47 is socket.IPPROTO_IPV6 # 27 is socket.IPV6_V6ONLY under windows, but not defined ... self._serv.setsockopt(41, 27, 0) diff --git a/gajim/common/zeroconf/client_zeroconf.py b/gajim/common/zeroconf/client_zeroconf.py index 29ff2b27a..051370ad7 100644 --- a/gajim/common/zeroconf/client_zeroconf.py +++ b/gajim/common/zeroconf/client_zeroconf.py @@ -27,6 +27,7 @@ from gajim.common.zeroconf import zeroconf from nbxmpp.protocol import * import socket +import platform import ssl import errno import sys @@ -73,8 +74,7 @@ class ZeroconfListener(IdleObject): 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 + + if int(platform.win32_ver()[0]) >= 6: # Win Vista + # 47 is socket.IPPROTO_IPV6 # 27 is socket.IPV6_V6ONLY under windows, but not defined ... self._serv.setsockopt(41, 27, 0)