Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/isida/3.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authordiSabler <dissy@ya.ru>2013-02-02 23:00:04 +0400
committerdiSabler <dissy@ya.ru>2013-02-02 23:00:04 +0400
commite9c67ff14c915e3698dd80f912f39f44204a6337 (patch)
tree7bab872dc7ea76fc52b4c3da1cb61fe2849c8111 /lib
parent51a4653c669f3dbc9a47539e9f79c95a19e53ddf (diff)
add: ipv6 support
Diffstat (limited to 'lib')
-rw-r--r--lib/xmpp/transports.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/xmpp/transports.py b/lib/xmpp/transports.py
index 34f3c9c..11a89df 100644
--- a/lib/xmpp/transports.py
+++ b/lib/xmpp/transports.py
@@ -129,8 +129,14 @@ class TCPsocket(PlugIn):
Returns non-empty string on success. """
try:
if not server: server=self._server
- self._sock=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- self._sock.connect((server[0], int(server[1])))
+ if ':' in server[0]:
+ # ipv6
+ self._sock=socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
+ self._sock.connect((server[0], int(server[1]),0,0))
+ else:
+ # ipv4
+ self._sock=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ self._sock.connect((server[0], int(server[1])))
self._send=self._sock.sendall
self._recv=self._sock.recv
self.DEBUG("Successfully connected to remote host %s"%`server`,'start')