On 09/03/2022 21:22, Michael Tratz via Exim-users wrote:
I have added the following patch:diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c index 6a979a243..f97b0c625 100644 --- a/src/src/transports/smtp.c +++ b/src/src/transports/smtp.c @@ -4800,7 +4800,11 @@ if (sx->send_quit || tcw_done && !tcw) # ifdef EXIM_TCP_CORK (void) setsockopt(sx->cctx.sock, IPPROTO_TCP, EXIM_TCP_CORK, US &on, sizeof(on)); # endif - tls_close(sx->cctx.tls_ctx, TLS_SHUTDOWN_WAIT); + if (sx->send_tlsclose) + { + tls_close(sx->cctx.tls_ctx, TLS_SHUTDOWN_WAIT); + sx->send_tlsclose = FALSE; + } sx->cctx.tls_ctx = NULL; } #endif Exim has been running for about a week using this patch and I haven't experienced any issues. I don’t know if that is the correct fix or if there is a better way. But I hope it helps in figuring out the root cause of the issue.
The implication of that working is that a tls-shutdown had already been sent... ah, but not necessarily waited for, and that bit ought to be done at this time. Which probably means the tls_close() routine needs a richer interface. I'll have a go at that and see what the testsuite thinks. -- Cheers, Jeremy -- ## List details at https://lists.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/
