From 8de97e5b7dddd2f033d8c9d531b11eece8af3cc6 Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Mon, 16 Aug 2021 21:01:04 +0100 Subject: [PATCH] DKIM: Avoid spurious tls read timeout after signing failure --- src/src/transports/smtp.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c index a121e34ae..7e6e34a67 100644 --- a/src/src/transports/smtp.c +++ b/src/src/transports/smtp.c @@ -4436,6 +4436,21 @@ if (!sx->ok) message_error = Ustrncmp(smtp_command,"end ",4) == 0; break; +#ifndef DISABLE_DKIM + case EACCES: + /* DKIM signing failure: avoid thinking we pipelined quit, + just abandon the message and close the socket. */ + + message_error = FALSE; +# ifndef DISABLE_TLS + if (sx->cctx.tls_ctx) + { + tls_close(sx->cctx.tls_ctx, TLS_SHUTDOWN_WAIT); + sx->cctx.tls_ctx = NULL; + } +# endif + break; +#endif default: message_error = FALSE; break; -- 2.30.2