From 639079ed0f33d3f0ca6161b06391a2dbc78eb577 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 11 Dec 2013 19:39:12 +0200 Subject: [PATCH] login-*: Make sure "need to write more" flag doesn't get stuck during handshake. This should prevent busy-looping in SSL_accept(). (Second attempt at doing this, first one was in e95479f439aa.) --- src/login-common/ssl-proxy-openssl.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/login-common/ssl-proxy-openssl.c b/src/login-common/ssl-proxy-openssl.c index 4ebbfd3dc2..551e8e2bdf 100644 --- a/src/login-common/ssl-proxy-openssl.c +++ b/src/login-common/ssl-proxy-openssl.c @@ -539,8 +539,10 @@ static void ssl_step(struct ssl_proxy *proxy) { proxy->refcount++; - if (!proxy->handshaked) + if (!proxy->handshaked) { + ssl_set_io(proxy, SSL_REMOVE_OUTPUT); ssl_handshake(proxy); + } if (proxy->handshaked) { if (proxy->plainout_size == sizeof(proxy->plainout_buf)) -- 2.47.3