summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2021-08-16 21:01:04 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2021-08-16 21:01:04 +0100
commit8de97e5b7dddd2f033d8c9d531b11eece8af3cc6 (patch)
treeb208f35e0deefb596c80ecffe455ad8ef1246a9f
parent4c51d3e7c219861025834ea6a1a8457301838f95 (diff)
downloadexim4-8de97e5b7dddd2f033d8c9d531b11eece8af3cc6.tar.gz
DKIM: Avoid spurious tls read timeout after signing failure
-rw-r--r--src/src/transports/smtp.c15
1 files changed, 15 insertions, 0 deletions
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;