dovecot-2.2: login-common: Fixed infinite loop in ssl proxy flus...

dovecot at dovecot.org dovecot at dovecot.org
Mon Jun 9 09:18:36 UTC 2014


details:   http://hg.dovecot.org/dovecot-2.2/rev/7129fe8bc260
changeset: 17441:7129fe8bc260
user:      Teemu Huovila <teemu.huovila at dovecot.fi>
date:      Mon Jun 09 12:14:42 2014 +0300
description:
login-common: Fixed infinite loop in ssl proxy flushing.

diffstat:

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

diffs (22 lines):

diff -r 6a9508d28d34 -r 7129fe8bc260 src/login-common/ssl-proxy-openssl.c
--- a/src/login-common/ssl-proxy-openssl.c	Mon Jun 09 12:12:58 2014 +0300
+++ b/src/login-common/ssl-proxy-openssl.c	Mon Jun 09 12:14:42 2014 +0300
@@ -79,6 +79,7 @@
 	unsigned int cert_received:1;
 	unsigned int cert_broken:1;
 	unsigned int client_proxy:1;
+	unsigned int flushing:1;
 };
 
 struct ssl_parameters {
@@ -816,8 +817,9 @@
 
 void ssl_proxy_destroy(struct ssl_proxy *proxy)
 {
-	if (proxy->destroyed)
+	if (proxy->destroyed || proxy->flushing)
 		return;
+	proxy->flushing = TRUE;
 	ssl_proxy_flush(proxy);
 	proxy->destroyed = TRUE;
 


More information about the dovecot-cvs mailing list