Logging: show when input from truncated for logging "next input sent too soon"
authorJeremy Harris <jgh146exb@wizmail.org>
Sun, 8 Oct 2017 17:56:13 +0000 (18:56 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 8 Oct 2017 17:56:13 +0000 (18:56 +0100)
doc/doc-txt/ChangeLog
src/src/smtp_in.c
test/log/0901
test/rejectlog/0901
test/scripts/0000-Basic/0901
test/stdout/0901

index 8f1b6b7..5266cef 100644 (file)
@@ -166,6 +166,9 @@ HS/02 Fix Bug 2130: large writes from the transport subprocess where chunked
 JH/27 Fix SOCKS bug: an unitialized pointer was deref'd by the transport process
       which could crash as a result.  This could lead to undeliverable messages.
 
+JH/28 Logging: "next input sent too soon" now shows where input was truncated
+      for log purposes.
+
 
 Exim version 4.89
 -----------------
index 0f8d559..9847c86 100644 (file)
@@ -565,11 +565,12 @@ for(;;)
     incomplete_transaction_log(US"sync failure");
     log_write(0, LOG_MAIN|LOG_REJECT, "SMTP protocol synchronization error "
       "(next input sent too soon: pipelining was not advertised): "
-      "rejected \"%s\" %s next input=\"%s\"",
+      "rejected \"%s\" %s next input=\"%s\"%s",
       smtp_cmd_buffer, host_and_ident(TRUE),
-      string_printing(string_copyn(smtp_inptr, n)));
-      (void) synprot_error(L_smtp_protocol_error, 554, NULL,
-       US"SMTP synchronization error");
+      string_printing(string_copyn(smtp_inptr, n)),
+      smtp_inend - smtp_inptr > n ? "..." : "");
+    (void) synprot_error(L_smtp_protocol_error, 554, NULL,
+      US"SMTP synchronization error");
     goto repeat_until_rset;
     }
 
index 0297a89..0f87674 100644 (file)
@@ -10,6 +10,6 @@
 1999-03-02 09:44:33 SMTP connection from (tester) [127.0.0.1] lost while reading message data
 1999-03-02 09:44:33 SMTP connection from (tester) [127.0.0.1] lost while reading message data
 1999-03-02 09:44:33 10HmbD-0005vi-00 <= someone8@some.domain H=(tester) [127.0.0.1] P=esmtp K S=sss for CALLER@test.ex
-1999-03-02 09:44:33 SMTP protocol synchronization error (next input sent too soon: pipelining was not advertised): rejected "BDAT 1" H=(tester) [127.0.0.1] next input="BDAT 87 last\r\n"
+1999-03-02 09:44:33 SMTP protocol synchronization error (next input sent too soon: pipelining was not advertised): rejected "BDAT 1" H=(tester) [127.0.0.1] next input="BDAT 87 last\r\no: Susan@random.co"...
 1999-03-02 09:44:33 SMTP call from (tester) [127.0.0.1] dropped: too many syntax or protocol errors (last command was "From: Sam@random.com")
 1999-03-02 09:44:33 SMTP connection from (tester) [127.0.0.1] lost while reading message data (header)
index f75d9d2..a4185a9 100644 (file)
@@ -1,6 +1,6 @@
 
 ******** SERVER ********
-1999-03-02 09:44:33 SMTP protocol synchronization error (next input sent too soon: pipelining was not advertised): rejected "BDAT 1" H=(tester) [127.0.0.1] next input="BDAT 87 last\r\n"
+1999-03-02 09:44:33 SMTP protocol synchronization error (next input sent too soon: pipelining was not advertised): rejected "BDAT 1" H=(tester) [127.0.0.1] next input="BDAT 87 last\r\no: Susan@random.co"...
 Envelope-from: <someone9@some.domain>
 Envelope-to: <CALLER@test.ex>
 1999-03-02 09:44:33 SMTP call from (tester) [127.0.0.1] dropped: too many syntax or protocol errors (last command was "From: Sam@random.com")
index 5e88c5a..f5a6fff 100644 (file)
@@ -247,11 +247,7 @@ MAIL FROM:someone9@some.domain
 ??? 250
 RCPT TO:CALLER@test.ex
 ??? 250
-BDAT 1\r\nTBDAT 87 last
-o: Susan@random.com
-From: Sam@random.com
-Subject: This is a bodyless test message
-
+BDAT 1\r\nTBDAT 87 last\r\no: Susan@random.com\r\nFrom: Sam@random.com\r\nSubject: This is a bodyless test message\r\n\r\n
 ??? 554 SMTP synchronization error
 ****
 #
index a982ac8..c4020ae 100644 (file)
@@ -330,11 +330,7 @@ Connecting to 127.0.0.1 port 1225 ... connected
 >>> RCPT TO:CALLER@test.ex
 ??? 250
 <<< 250 Accepted
->>> BDAT 1\r\nTBDAT 87 last
->>> o: Susan@random.com
->>> From: Sam@random.com
->>> Subject: This is a bodyless test message
->>> 
+>>> BDAT 1\r\nTBDAT 87 last\r\no: Susan@random.com\r\nFrom: Sam@random.com\r\nSubject: This is a bodyless test message\r\n\r\n
 ??? 554 SMTP synchronization error
 <<< 554 SMTP synchronization error
 End of script