From b31009faed891ecdb2ec1793e2858c87ee4564b7 Mon Sep 17 00:00:00 2001 From: mvn23 Date: Fri, 21 Jul 2017 01:36:13 +0200 Subject: [PATCH] Implement the patch from freebsd located at https://raw.githubusercontent.com/freebsd/freebsd-ports/master/net-im/py-xmpppy/files/patch-xmpp-transports.py Fixes ssl connections for xmpp notifications. --- libs/xmpp/transports.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libs/xmpp/transports.py b/libs/xmpp/transports.py index f3d1316..bf59266 100644 --- a/libs/xmpp/transports.py +++ b/libs/xmpp/transports.py @@ -27,7 +27,7 @@ Transports are stackable so you - f.e. TLS use HTPPROXYsocket or TCPsocket as mo 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 * @@ -312,9 +312,9 @@ class TLS(PlugIn): """ Immidiatedly switch socket to TLS mode. Used internally.""" """ Here we should switch pending_data to hint mode.""" tcpsock = self._owner.Connection - 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