summaryrefslogtreecommitdiff
blob: a39af1821fdbccf78b3a005a778fbea3a989918f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Taken from https://bugs.gentoo.org/show_bug.cgi?id=535758
Kudos to Anton Bolshakov <blshkv@pentoo.ch> for this patch

--- xmpp/transports.py.orig	2015-01-05 15:41:23.000000000 +0800
+++ xmpp/transports.py	2015-01-06 15:52:25.916240681 +0800
@@ -27,7 +27,7 @@
 Also exception 'error' is defined to allow capture of this module specific exceptions.
 """
 
-import socket,select,base64,dispatcher,sys
+import socket,ssl,select,base64,dispatcher,sys
 from simplexml import ustr
 from client import PlugIn
 from protocol import *
@@ -314,9 +314,10 @@
         """ Here we should switch pending_data to hint mode."""
         tcpsock=self._owner.Connection
         warnings.filterwarnings("ignore", "socket\.ssl.*ssl\.wrap_socket", DeprecationWarning)
-        tcpsock._sslObj    = socket.ssl(tcpsock._sock, None, None)
-        tcpsock._sslIssuer = tcpsock._sslObj.issuer()
-        tcpsock._sslServer = tcpsock._sslObj.server()
+        tcpsock._sslObj    = ssl.wrap_socket(tcpsock._sock, None, None)
+        tcpsock._sslIssuer = tcpsock._sslObj.getpeercert().get('issuer')
+        tcpsock._sslServer = tcpsock._sslObj.getpeercert().get('server')
+
         tcpsock._recv = tcpsock._sslObj.read
         tcpsock._send = tcpsock._sslObj.write