dev-python/xmpppy: fix working with SSL fields
authorSergey Popov <pinkbyte@gentoo.org>
Tue, 10 Nov 2015 11:10:10 +0000 (14:10 +0300)
committerSergey Popov <pinkbyte@gentoo.org>
Tue, 10 Nov 2015 11:10:10 +0000 (14:10 +0300)
Suggested-by: Anton Bolshakov <blshkv@pentoo.ch>
Gentoo-Bug: 535758

Package-Manager: portage-2.2.23

dev-python/xmpppy/files/xmpppy-0.5.0_rc1-ssl_fields.patch [new file with mode: 0644]
dev-python/xmpppy/xmpppy-0.5.0_rc1-r2.ebuild

diff --git a/dev-python/xmpppy/files/xmpppy-0.5.0_rc1-ssl_fields.patch b/dev-python/xmpppy/files/xmpppy-0.5.0_rc1-ssl_fields.patch
new file mode 100644 (file)
index 0000000..a39af18
--- /dev/null
@@ -0,0 +1,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
+ 
index 28e388b68587e1a44bc55dbeb4b85fb057f5908c..31a6b8a91a54e7e3d6d6ec07f19a3500a1d4fc39 100644 (file)
@@ -31,6 +31,7 @@ S="${WORKDIR}/${MY_P}"
 
 PATCHES=(
        "${FILESDIR}/${PN}-hashlib_ssl_deprecation.patch"
+       "${FILESDIR}/${P}-ssl_fields.patch"
 )
 
 python_install_all() {