Gitweb:
https://git.exim.org/exim.git/commitdiff/4f10c76912b0ac78397ea157306460c20f30689a
Commit: 4f10c76912b0ac78397ea157306460c20f30689a
Parent: a39e8a8288547a5299136b9e594075d7a19a2d81
Author: Jeremy Harris <jgh146exb@???>
AuthorDate: Sun Jun 7 16:38:28 2020 +0100
Committer: Jeremy Harris <jgh146exb@???>
CommitDate: Sun Jun 7 16:38:28 2020 +0100
OpenSSL: more info on accept zero-error
---
src/src/tls-openssl.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/src/tls-openssl.c b/src/src/tls-openssl.c
index a1d299b..3d0e84f 100644
--- a/src/src/tls-openssl.c
+++ b/src/src/tls-openssl.c
@@ -2738,6 +2738,7 @@ SSL_set_accept_state(server_ssl);
DEBUG(D_tls) debug_printf("Calling SSL_accept\n");
+ERR_clear_error();
sigalrm_seen = FALSE;
if (smtp_receive_timeout > 0) ALARM(smtp_receive_timeout);
rc = SSL_accept(server_ssl);
@@ -2787,7 +2788,10 @@ if (rc <= 0)
}
DEBUG(D_tls) debug_printf(" - syscall %s\n", strerror(errno));
}
- (void) tls_error(US"SSL_accept", NULL, sigalrm_seen ? US"timed out" : NULL, errstr);
+ (void) tls_error(US"SSL_accept", NULL,
+ sigalrm_seen ? US"timed out"
+ : ERR_peek_error() ? NULL : string_sprintf("ret %d", error),
+ errstr);
return FAIL;
}
}