Logging: make placement of continued-delivery asterisk consistent
authorJeremy Harris <jgh146exb@wizmail.org>
Mon, 28 Dec 2020 18:31:24 +0000 (18:31 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Mon, 28 Dec 2020 18:31:24 +0000 (18:31 +0000)
doc/doc-docbook/spec.xfpt
doc/doc-txt/ChangeLog
src/src/deliver.c
test/log/0179
test/log/0203
test/log/0209

index 2938de5761645f7fc7fcf229e43d9f98683405c2..55ccb1632b5727a8bac1935abbe7b14da873621e 100644 (file)
@@ -38312,8 +38312,11 @@ parentheses afterwards.
 When more than one address is included in a single delivery (for example, two
 SMTP RCPT commands in one transaction) the second and subsequent addresses are
 flagged with &`->`& instead of &`=>`&. When two or more messages are delivered
-down a single SMTP connection, an asterisk follows the IP address in the log
-lines for the second and subsequent messages.
+down a single SMTP connection, an asterisk follows the
+.new
+remote IP address (and port if enabled)
+.ewn
+in the log lines for the second and subsequent messages.
 When two or more messages are delivered down a single TLS connection, the
 DNS and some TLS-related information logged for the first message delivered
 will not be present in the log lines for the second and subsequent messages.
index c0f83125d2014d31bc323074baf791c51c6bd24d..e6930dd2249015c689f4a420d48a96bf9ab8cdec 100644 (file)
@@ -162,6 +162,12 @@ JH/32 Bug 2599: fix delay of delivery to a local address where there is also
 JH/33 Fix a taint trap in the ${listextract } expansion when the source data
       was tainted.
 
+JH/34 Fix the placement of a multiple-message delivery marker in the delivery
+      log line. The asterisk is now consistently appended to the remote IP
+      (and port, if given), and will also be provided on defer and fail log
+      lines.  Previously it could be placed on the local IP if that was being
+      logged, and was only provided on delivery lines.
+
 
 Exim version 4.94
 -----------------
index cba8651e9971016bae12f5714adcfdbc230fc457..238e33accf4b1cafd7442caea88aa40c24c31ed2 100644 (file)
@@ -792,6 +792,9 @@ g = string_append(g, 3, US" [", h->address, US"]");
 if (LOGGING(outgoing_port))
   g = string_fmt_append(g, ":%d", h->port);
 
+if (continue_sequence > 1)             /*XXX this is wrong for a dropped proxyconn.  Would have to pass back from transport */
+  g = string_catn(g, US"*", 1);
+
 #ifdef SUPPORT_SOCKS
 if (LOGGING(proxy) && proxy_local_address)
   {
@@ -1195,8 +1198,6 @@ else
   if (addr->host_used)
     {
     g = d_hostlog(g, addr);
-    if (continue_sequence > 1)         /*XXX this is wrong for a dropped proxyconn.  Would have to pass back from transport */
-      g = string_catn(g, US"*", 1);
 
 #ifndef DISABLE_EVENT
     deliver_host_address = addr->host_used->address;
index 614fea64045b8fe645e2a7bd059ebc07bb6a018c..b32ee2997132ab326a31795577e8ee203eed8f14 100644 (file)
@@ -3,7 +3,7 @@
 1999-03-02 09:44:33 Start queue run: pid=pppp -qqf
 1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1]:PORT_S I=[127.0.0.1]:ppppp C="250 OK"
 1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
-1999-03-02 09:44:33 10HmaY-0005vi-00 => abcd@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1]:PORT_S I=[127.0.0.1]:ppppp* C="250 OK"
+1999-03-02 09:44:33 10HmaY-0005vi-00 => abcd@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1]:PORT_S* I=[127.0.0.1]:ppppp C="250 OK"
 1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
 1999-03-02 09:44:33 End queue run: pid=pppp -qqf
 1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss for userz@domain.com
index 2df80335c157a619fd2ea89557bb3eb9649966eb..f94b0177d2914214295f583027bcc39f9b281f31 100644 (file)
@@ -3,7 +3,7 @@
 1999-03-02 09:44:33 Start queue run: pid=pppp -qqf
 1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@domain1 R=others T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK"
 1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
-1999-03-02 09:44:33 10HmaY-0005vi-00 ** userx@domain1 R=others T=smtp H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after MAIL FROM:<CALLER@test.ex>: 550 Don't like that sender
+1999-03-02 09:44:33 10HmaY-0005vi-00 ** userx@domain1 R=others T=smtp H=127.0.0.1 [127.0.0.1]*: SMTP error from remote mail server after MAIL FROM:<CALLER@test.ex>: 550 Don't like that sender
 1999-03-02 09:44:33 10HmaZ-0005vi-00 <= <> R=10HmaY-0005vi-00 U=EXIMUSER P=local S=sss
 1999-03-02 09:44:33 10HmaZ-0005vi-00 ** CALLER@test.ex: Unrouteable address
 1999-03-02 09:44:33 10HmaZ-0005vi-00 Frozen (delivery error message)
index 8e549c30bf92adb44906be25545bb9542e4c43d6..ad5f24c4e0a476201a863f3181a21e9ddeb626b4 100644 (file)
@@ -20,7 +20,7 @@
 1999-03-02 09:44:33 10HmaZ-0005vi-00 == userx@domain1 R=others T=smtp defer (-44) H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:<userx@domain1>: 450 Temporary error
 1999-03-02 09:44:33 10HmaZ-0005vi-00 => usery@domain1 R=others T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK"
 1999-03-02 09:44:33 10HmbA-0005vi-00 == userx@domain1 routing defer (-52): retry time not reached
-1999-03-02 09:44:33 10HmbA-0005vi-00 == usery@domain1 R=others T=smtp defer (-44) H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:<usery@domain1>: 450 Temporary error
+1999-03-02 09:44:33 10HmbA-0005vi-00 == usery@domain1 R=others T=smtp defer (-44) H=127.0.0.1 [127.0.0.1]*: SMTP error from remote mail server after RCPT TO:<usery@domain1>: 450 Temporary error
 1999-03-02 09:44:33 10HmbA-0005vi-00 == userx@domain1 routing defer (-52): retry time not reached
 1999-03-02 09:44:33 10HmbA-0005vi-00 == usery@domain1 routing defer (-52): retry time not reached
 1999-03-02 09:44:33 End queue run: pid=pppp