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/

Reply via email to