From fd47adf59513398a92d9c82ec3668cf8a9ab3ddc Mon Sep 17 00:00:00 2001
From: Ivan <micronn@gmail.com>
Date: Thu, 16 Aug 2018 17:32:06 +0200
Subject: Fix inconsistent behavior (re)connecting on SSL

---
 src/common/server.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/common/server.c b/src/common/server.c
index df98ef17..f2c5f91d 100644
--- a/src/common/server.c
+++ b/src/common/server.c
@@ -748,7 +748,6 @@ server_connect_success (server *serv)
 
 		/* it'll be a memory leak, if connection isn't terminated by
 		   server_cleanup() */
-		serv->ssl = _SSL_socket (serv->ctx, serv->sok);
 		if ((err = _SSL_set_verify (serv->ctx, ssl_cb_verify, NULL)))
 		{
 			EMIT_SIGNAL (XP_TE_CONNFAIL, serv->server_session, err, NULL,
@@ -756,6 +755,7 @@ server_connect_success (server *serv)
 			server_cleanup (serv);	/* ->connecting = FALSE */
 			return;
 		}
+		serv->ssl = _SSL_socket (serv->ctx, serv->sok);
 		/* FIXME: it'll be needed by new servers */
 		/* send(serv->sok, "STLS\r\n", 6, 0); sleep(1); */
 		set_nonblocking (serv->sok);
-- 
cgit 1.4.1