Fix spool_wireformat final-dot on LMTP transport. Bug 2258
authorJeremy Harris <jgh146exb@wizmail.org>
Fri, 23 Mar 2018 12:18:53 +0000 (12:18 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Fri, 23 Mar 2018 12:54:13 +0000 (12:54 +0000)
Broken-by: 328c5688db
doc/doc-txt/ChangeLog
src/src/transport.c

index 497c92ab24d122a29df1d309e39745dda22ed528..fc392f60e2a0d46d667ff59eea5041d956b0f3ac 100644 (file)
@@ -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
 -----------------
index f24b7794b9f1e20ff8fabcb461d5da9ebce47b16..a2da32159fe93f9982b2556e31d5aeabee0ee8c8 100644 (file)
@@ -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)