Mercurial > dovecot > original-hg > dovecot-1.2
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)