From ba0846407cf2bcd79bb969145dd839ba90616731 Mon Sep 17 00:00:00 2001 From: Phil Pennock Date: Sat, 5 Jun 2010 09:32:31 +0000 Subject: [PATCH] Log a diagnostic when an SSL write fails, to help admins debug SSL interop issues. Fixes: #995 --- src/src/tls-openssl.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/src/tls-openssl.c b/src/src/tls-openssl.c index a7dad0805..dc341d326 100644 --- a/src/src/tls-openssl.c +++ b/src/src/tls-openssl.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/tls-openssl.c,v 1.23 2010/06/05 09:10:10 pdp Exp $ */ +/* $Cambridge: exim/src/src/tls-openssl.c,v 1.24 2010/06/05 09:32:31 pdp Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -900,6 +900,14 @@ if (ssl_xfer_buffer_lwm >= ssl_xfer_buffer_hwm) /* Handle genuine errors */ + else if (error == SSL_ERROR_SSL) + { + ERR_error_string(ERR_get_error(), ssl_errstring); + log_write(0, LOG_MAIN, "TLS error (SSL_write): %s", ssl_errstring); + ssl_xfer_error = 1; + return EOF; + } + else if (error != SSL_ERROR_NONE) { DEBUG(D_tls) debug_printf("Got SSL error %d\n", error); -- 2.30.2