dovecot-2.2: login-*: Make sure "need to write more" flag doesn'...

dovecot at dovecot.org dovecot at dovecot.org
Wed Dec 11 19:39:28 EET 2013


details:   http://hg.dovecot.org/dovecot-2.2/rev/c0236d1c4a04
changeset: 17058:c0236d1c4a04
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Dec 11 19:39:12 2013 +0200
description:
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.)

diffstat:

 src/login-common/ssl-proxy-openssl.c |  4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diffs (15 lines):

diff -r d9cf369a8b6d -r c0236d1c4a04 src/login-common/ssl-proxy-openssl.c
--- a/src/login-common/ssl-proxy-openssl.c	Wed Dec 11 18:39:36 2013 +0200
+++ b/src/login-common/ssl-proxy-openssl.c	Wed Dec 11 19:39:12 2013 +0200
@@ -539,8 +539,10 @@
 {
 	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))


More information about the dovecot-cvs mailing list