From f64e8b5f3b01b5285bb1f9172da7950e7f000c22 Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Fri, 23 Mar 2018 12:18:53 +0000 Subject: [PATCH] Fix spool_wireformat final-dot on LMTP transport. Bug 2258 Broken-by: 328c5688db --- doc/doc-txt/ChangeLog | 3 +++ src/src/transport.c | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 497c92ab2..fc392f60e 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -171,6 +171,9 @@ JH/31 Bug 2257: Fix pipe transport to not use a socket-only syscall. HS/03 Set a handler for SIGTERM and call exit(3) if running as PID 1. This allows proper process termination in container environments. +JH/32 Bug 2258: Fix spool_wireformat in combination with LMTP transport. + Previously the "final dot" had a newline after it; ensure it is CR,LF. + Exim version 4.90 ----------------- diff --git a/src/src/transport.c b/src/src/transport.c index f24b7794b..a2da32159 100644 --- a/src/src/transport.c +++ b/src/src/transport.c @@ -1132,9 +1132,10 @@ if (!(tctx->options & topt_no_body)) if (len != 0) return FALSE; } -/* Finished with the check string */ +/* Finished with the check string, and spool-format consideration */ nl_check_length = nl_escape_length = 0; +spool_file_wireformat = FALSE; /* If requested, add a terminating "." line (SMTP output). */ @@ -1401,6 +1402,7 @@ filter was not NL, insert a NL to make the SMTP protocol work. */ if (yield) { nl_check_length = nl_escape_length = 0; + spool_file_wireformat = FALSE; if ( tctx->options & topt_end_dot && ( last_filter_was_NL ? !write_chunk(tctx, US".\n", 2) -- 2.25.1