changeset 4506:025ffc5a3643 HEAD

Use SSL_pending() to figure out if we should call SSL_read() again. Otherwise it breaks..
author Timo Sirainen <tss@iki.fi>
date Mon, 24 Jul 2006 02:32:11 +0300
parents 886d7af1f38d
children ebf140ebdb06
files src/login-common/ssl-proxy-openssl.c
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/login-common/ssl-proxy-openssl.c	Mon Jul 24 02:19:03 2006 +0300
+++ b/src/login-common/ssl-proxy-openssl.c	Mon Jul 24 02:32:11 2006 +0300
@@ -371,7 +371,7 @@
 		proxy->ssl_want_size = 0;
 	}
 
-	for (;;) {
+	do {
 		ret = SSL_read(proxy->ssl, buf, size);
 		if (ret <= 0) {
 			ssl_handle_error(proxy, ret, "SSL_read()",
@@ -385,7 +385,7 @@
 
 		if (proxy->sslout_size > 0)
 			ssl_output(proxy);
-	}
+	} while (SSL_pending(proxy->ssl) > 0);
 }
 
 static void ssl_output(struct ssl_proxy *proxy)