From 6a8737bcd51080e6e3e0f745dd7bb5b532562d88 Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
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 575960fca1..9425bcf17c 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
 
-- 
GitLab