From 6a8737bcd51080e6e3e0f745dd7bb5b532562d88 Mon Sep 17 00:00:00 2001 From: Yann Leboulanger Date: Sun, 28 Oct 2012 16:59:11 +0100 Subject: [PATCH] do TLS handshake without blocking. Fixes #7250 --- src/common/xmpp/tls_nb.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/xmpp/tls_nb.py b/src/common/xmpp/tls_nb.py index 575960fca..9425bcf17 100644 --- a/src/common/xmpp/tls_nb.py +++ b/src/common/xmpp/tls_nb.py @@ -418,13 +418,13 @@ class NonBlockingTLS(PlugIn): tcpsock._send = wrapper.send log.debug("Initiating handshake...") - tcpsock._sslObj.setblocking(True) try: tcpsock._sslObj.do_handshake() + except (OpenSSL.SSL.WantReadError, OpenSSL.SSL.WantWriteError), e: + pass except: log.error('Error while TLS handshake: ', exc_info=True) return False - tcpsock._sslObj.setblocking(False) self._owner.ssl_lib = PYOPENSSL return True