summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2018-10-14 15:22:32 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2018-10-14 15:28:31 +0100
commitce80533b305c56d57cb7ec1484491f191132cf84 (patch)
treed45885b6bbf29343b1753921d507d30afb7e9cb3 /src
parent0abc5a137c8a0824aa3740b2cca8da407303f4fb (diff)
Testsuite: client script faciility for handling optional reponses
Use this to deal with fallout from TLS negotiation failure, where the server sees leftover encrypted data as garbage commands.
Diffstat (limited to 'src')
-rw-r--r--src/src/smtp_in.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/src/smtp_in.c b/src/src/smtp_in.c
index b99b5cdbc..00c842760 100644
--- a/src/src/smtp_in.c
+++ b/src/src/smtp_in.c
@@ -5508,7 +5508,9 @@ while (done <= 0)
/* Hard failure. Reject everything except QUIT or closed connection. One
cause for failure is a nested STARTTLS, in which case tls_in.active remains
- set, but we must still reject all incoming commands. */
+ set, but we must still reject all incoming commands. Another is a handshake
+ failure - and there may some encrypted data still in the pipe to us, which we
+ see as garbage commands. */
DEBUG(D_tls) debug_printf("TLS failed to start\n");
while (done <= 0) switch(smtp_read_command(FALSE, GETC_BUFFER_UNLIMITED))