Fix continued-transport with LIMITS
authorJeremy Harris <jgh146exb@wizmail.org>
Tue, 18 Jun 2024 08:16:37 +0000 (09:16 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Tue, 18 Jun 2024 18:05:17 +0000 (19:05 +0100)
Broken-by: be5901583f97
src/src/deliver.c
src/src/queue.c
src/src/transport.c
src/src/transports/smtp.c
test/log/4714
test/scripts/1100-Basic-TLS/1157
test/scripts/4710-esmtp-limits/4714
test/stderr/0218
test/stderr/1157
test/stdout/4714

index d35c20260497a15a1d7a1e97c01a94231c945ae2..005175c8bcf8a1ab50618099c98a6a9c94433636 100644 (file)
@@ -3707,7 +3707,10 @@ while (!done)
          break;
        case '1':
          if (continue_hostname)
+           {
            Ustrncpy(continue_next_id, ptr, MESSAGE_ID_LENGTH);
+           continue_sequence++;
+           }
          DEBUG(D_deliver) debug_printf("continue_next_id: %s%s\n",
            continue_next_id, continue_hostname ? "" : " (ignored)");
          break;
index a4afdcc98e4db0564055186768f8bc17f2ca0f59..b811a53bd5140d3277f423b159f298018921a885 100644 (file)
@@ -358,9 +358,9 @@ queue_run(qrunner * q, const uschar * start_id, const uschar * stop_id, BOOL rec
 {
 BOOL force_delivery = q->queue_run_force
   || deliver_selectstring || deliver_selectstring_sender;
-const pcre2_code *selectstring_regex = NULL;
-const pcre2_code *selectstring_regex_sender = NULL;
-uschar *log_detail = NULL;
+const pcre2_code * selectstring_regex = NULL;
+const pcre2_code * selectstring_regex_sender = NULL;
+uschar * log_detail = NULL;
 int subcount = 0;
 uschar subdirs[64];
 pid_t qpid[4] = {0};   /* Parallelism factor for q2stage 1st phase */
@@ -672,13 +672,15 @@ for (int i = queue_run_in_order ? -1 : 0;
     name. The return of the process is zero if a delivery was attempted. */
 
     fq->text[Ustrlen(fq->text)-2] = 0;
-    set_process_info("running queue: %s", fq->text);
+    set_process_info("running queue%s: %s",
+      q->queue_2stage ? "(ph 1)" : "", fq->text);
 #ifdef MEASURE_TIMING
     report_time_since(&timestamp_startup, US"queue msg selected");
 #endif
 
 single_item_retry:
-    if ((pid = exim_fork(US"qrun-delivery")) == 0)
+    if ((pid = exim_fork(
+       q->queue_2stage ? US"qrun-p1-delivery" : US"qrun-delivery")) == 0)
       {
       int rc;
       (void)close(pfd[pipe_read]);
@@ -795,6 +797,7 @@ if (q->queue_2stage)
   report_time_since(&timestamp_startup, US"queue_run 1st phase done");
 #endif
   q->queue_2stage = f.queue_2stage = FALSE;
+  DEBUG(D_queue_run) debug_printf("queue_run phase 2 start\n");
   queue_run(q, start_id, stop_id, TRUE);
   }
 
index 191f6d464c9776490cc2ee4986839c1bad31108a..3245b2cae2bd478a162c45dc8364798840363d33 100644 (file)
@@ -1983,7 +1983,7 @@ if (smtp_peer_options & OPTION_TLS)
 #endif
 
 #ifndef DISABLE_ESMTP_LIMITS
-if (continue_limit_rcpt || continue_limit_rcptdom)
+if (continue_limit_mail || continue_limit_rcpt || continue_limit_rcptdom)
   {
   argv[i++] = US"-MCL";
   argv[i++] = string_sprintf("%u", continue_limit_mail);
index 8e4480e1295df5502e30835a0b8af0e5f5ef48b3..30983984a7ba9ab3f0ef4a06fc2ae65153103252 100644 (file)
@@ -3430,7 +3430,7 @@ if (sx->peer_offered & OPTION_DSN && !(addr->dsn_flags & rf_dsnlasthop))
 
 /* Send MAIL FROM and RCPT TO commands.
 See sw_mrc_t definition for return codes.
- */
+*/
 
 sw_mrc_t
 smtp_write_mail_and_rcpt_cmds(smtp_context * sx, int * yield)
@@ -4692,6 +4692,11 @@ if (sx->completed_addr && sx->ok && sx->send_quit)
     {
     DEBUG(D_transport)
       debug_printf("reached limit %u for MAILs per conn\n", sx->max_mail);
+    /* We will close the smtp session and connection, and clear
+    continue_hostname.  Then if there are further addrs for the message we will
+    loop to the top of this function and make a fresh connection.  Any further
+    message found in the wait-tpt hintsdb would then do a transport_pass_socket
+    to get the connection fd back to the delivery process. */
     }
   else
 #endif
@@ -4869,8 +4874,7 @@ if (sx->completed_addr && sx->ok && sx->send_quit)
              sx->cctx.tls_ctx = NULL;
              (void)close(sx->cctx.sock);
              sx->cctx.sock = -1;
-             continue_transport = NULL;
-             continue_hostname = NULL;
+             continue_transport = continue_hostname = NULL;
              goto TIDYUP;
              }
            log_write(0, LOG_PANIC_DIE, "fork failed");
@@ -4982,7 +4986,6 @@ if (sx->send_quit || tcw_done && !tcw)
 HDEBUG(D_transport|D_acl|D_v) debug_printf_indent("  SMTP(close)>>\n");
 (void)close(sx->cctx.sock);
 sx->cctx.sock = -1;
-continue_transport = NULL;
 continue_hostname = NULL;
 smtp_debug_cmd_report();
 
@@ -5024,7 +5027,7 @@ if (mail_limit && sx->first_addr)
   continue_sequence = 1;                       /* for consistency */
   clearflag(sx->first_addr, af_cont_conn);
   setflag(sx->first_addr, af_new_conn);                /* clear  * from logging */
-  goto REPEAT_CONN;
+  goto REPEAT_CONN;                            /* open a fresh connection */
   }
 #endif
 
index d2c425113238473819c51bb64e78b6c87fb73d23..aca77a7ab4b75af944590fa46698cd47898288fe 100644 (file)
@@ -1,6 +1,7 @@
 1999-03-02 09:44:33 10HmaX-000000005vi-0000 <= CALLER@the.local.host.name U=CALLER P=local S=sss for r1_1.test.ex r1_2.test.ex
 1999-03-02 09:44:33 10HmaY-000000005vi-0000 <= CALLER@the.local.host.name U=CALLER P=local S=sss for r2_1.test.ex r2_2.test.ex
 1999-03-02 09:44:33 10HmaZ-000000005vi-0000 <= CALLER@the.local.host.name U=CALLER P=local S=sss for r3_1.test.ex r3_2.test.ex
+1999-03-02 09:44:33 10HmbA-000000005vi-0000 <= CALLER@the.local.host.name U=CALLER P=local S=sss for r4_1.test.ex r4_2.test.ex
 1999-03-02 09:44:33 Start queue run: pid=p1234 -qq
 1999-03-02 09:44:33 10HmaX-000000005vi-0000 => r1_1.test.ex@the.local.host.name R=send_to_server T=to_server H=127.0.0.1 [127.0.0.1] C="250 message 1 received"
 1999-03-02 09:44:33 10HmaX-000000005vi-0000 => r1_2.test.ex@the.local.host.name R=send_to_server T=to_server H=127.0.0.1 [127.0.0.1]* C="250 message 2 received"
@@ -11,4 +12,7 @@
 1999-03-02 09:44:33 10HmaZ-000000005vi-0000 => r3_1.test.ex@the.local.host.name R=send_to_server T=to_server H=127.0.0.1 [127.0.0.1]* C="250 message 5 received"
 1999-03-02 09:44:33 10HmaZ-000000005vi-0000 => r3_2.test.ex@the.local.host.name R=send_to_server T=to_server H=127.0.0.1 [127.0.0.1] C="250 message 6 received"
 1999-03-02 09:44:33 10HmaZ-000000005vi-0000 Completed
+1999-03-02 09:44:33 10HmbA-000000005vi-0000 => r4_1.test.ex@the.local.host.name R=send_to_server T=to_server H=127.0.0.1 [127.0.0.1]* C="250 message 7 received"
+1999-03-02 09:44:33 10HmbA-000000005vi-0000 => r4_2.test.ex@the.local.host.name R=send_to_server T=to_server H=127.0.0.1 [127.0.0.1]* C="250 message 8 received"
+1999-03-02 09:44:33 10HmbA-000000005vi-0000 Completed
 1999-03-02 09:44:33 End queue run: pid=p1234 -qq
index 1a271e2a22426b49b6a1bd9d3794f4a909deedc0..22652da9b29dbf9a1f12186bda27da31602f6cd1 100644 (file)
@@ -28,7 +28,7 @@ Test message 2
 exim userc@test.ex
 Test message 3
 ****
-exim -DEQUIRE -d-all+acl -qqf
+exim -DREQUIRE -d-all+acl -qqf
 ****
 killdaemon
 exim -DSERVER=server -DNOTDAEMON -qf
index f97d989e8f1c4bee321aab7870c4d3c6196b0706..ff308c265822ce4b2d7c93d893fd957cd79fe07c 100644 (file)
@@ -1,6 +1,6 @@
 # ESMTP LIMITS extension, client continued-connection
 #
-# queue up 3 messages each with 2 recipients
+# queue up 4 messages each with 2 recipients
 exim -odq r1_1.test.ex r1_2.test.ex
 Subject: message 1
 ****
@@ -11,10 +11,15 @@ exim -odq r3_1.test.ex r3_2.test.ex
 Subject: message 3
 ****
 #
+exim -odq r4_1.test.ex r4_2.test.ex
+Subject: message 4
+****
+#
 # Handed limits of 5 MAIL, 1 RCPT, expect to use 5 transactions in a one connection
-# when the client does a 2-phase queue run, followed by one transaction in one connection
+# when the client does a 2-phase queue run, followed by three transactions in one connection
 # from the same queue run.
-# The second pair and third initial should be from continued-connection trasports, flagged by the log lines.
+# The second pair and third initial, completing the first connecttion, should be from
+# continued-connection trasports, flagged by the log lines.
 server PORT_D 2
 220 Hi there
 EHLO
@@ -66,7 +71,7 @@ QUIT
 220 Hi there
 EHLO
 250-yeah mate
-250
+250 LIMITS MAILMAX=5 RCPTMAX=1
 MAIL FROM
 250 mail cmd 1 good
 RCPT TO
@@ -75,6 +80,22 @@ DATA
 352 go ahead
 .
 250 message 6 received
+MAIL FROM
+250 mail cmd 2 good
+RCPT TO
+250 rcpt cmd good
+DATA
+352 go ahead
+.
+250 message 7 received
+MAIL FROM
+250 mail cmd 3 good
+RCPT TO
+250 rcpt cmd good
+DATA
+352 go ahead
+.
+250 message 8 received
 QUIT
 221 bye
 *eof
index f725b6d3a18c7eadb7231e5f5ae584069bdf9b4e..74109282a5413c227325a10333f8d95da378fb5a 100644 (file)
@@ -14,14 +14,15 @@ CALLER@test.ex in senders? no (end of list)
 R: client  (ACL)
 T: send_to_server  (ACL)
 >>>>>>>>>>>>>>>> Exim pid=p1237 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1238 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1238 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 delivering 10HmaY-000000005vi-0000 (queue run pid p1234)
 test.ex in ""? no (end of list)
 CALLER@test.ex in senders? no (end of list)
 R: client  (ACL)
 T: send_to_server  (ACL)
 >>>>>>>>>>>>>>>> Exim pid=p1239 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1240 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1240 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+queue_run phase 2 start
 queue running combined directories
 looking in TESTSUITE/spool//input
 delivering 10HmaX-000000005vi-0000 (queue run pid p1234)
@@ -102,14 +103,15 @@ CALLER@test.ex in senders? no (end of list)
 R: client  (ACL)
 T: send_to_server  (ACL)
 >>>>>>>>>>>>>>>> Exim pid=p1245 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1246 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1246 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 delivering 10HmbA-000000005vi-0000 (queue run pid p1235)
 test.ex in ""? no (end of list)
 CALLER@test.ex in senders? no (end of list)
 R: client  (ACL)
 T: send_to_server  (ACL)
 >>>>>>>>>>>>>>>> Exim pid=p1247 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1248 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1248 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+queue_run phase 2 start
 queue running combined directories
 looking in TESTSUITE/spool//input
 delivering 10HmaZ-000000005vi-0000 (queue run pid p1235)
@@ -177,7 +179,7 @@ CALLER@test.ex in senders? no (end of list)
 R: client  (ACL)
 T: send_to_server  (ACL)
 >>>>>>>>>>>>>>>> Exim pid=p1254 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1255 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1255 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 delivering 10HmbB-000000005vi-0000 (queue run pid p1236)
 R: bounce  (ACL)
 LOG: MAIN
@@ -186,14 +188,14 @@ LOG: MAIN
   CALLER@test.ex: error ignored
 LOG: MAIN
   Completed
->>>>>>>>>>>>>>>> Exim pid=p1256 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1256 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 delivering 10HmbC-000000005vi-0000 (queue run pid p1236)
 test.ex in ""? no (end of list)
 CALLER@test.ex in senders? no (end of list)
 R: client  (ACL)
 T: send_to_server  (ACL)
 >>>>>>>>>>>>>>>> Exim pid=p1257 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1258 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1258 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 delivering 10HmbA-000000005vi-0000 (queue run pid p1236)
 test.ex in ""? no (end of list)
 CALLER@test.ex in senders? no (end of list)
index d292a33a06be3111f917f020171933411b642df4..c87a34c531b2337018c48bef3b503feb83fe0b1b 100644 (file)
@@ -6,11 +6,11 @@ dropping to exim gid; retaining priv uid
 LOG: queue_run MAIN
   Start queue run: pid=p1234 -qqf
 >>>>>>>>>>>>>>>> Exim pid=p1242 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1243 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1243 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 >>>>>>>>>>>>>>>> Exim pid=p1244 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1245 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1245 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 >>>>>>>>>>>>>>>> Exim pid=p1246 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1247 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1247 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 Connecting to 127.0.0.1 [127.0.0.1]:PORT_D ...
 connected
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
@@ -66,20 +66,11 @@ cmd buf flush ddd bytes
   SMTP<< 354 Enter message, ending with "." on a line by itself
   SMTP>> .
   SMTP<< 250 OK id=10HmbB-000000005vi-0000
-  SMTP(close)>>
-cmdlog: 'MAIL|:RCPT|:DATA:250:250:354:.:250'
 >>>>>>>>>>>>>>>> Exim pid=p1251 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: MAIN
   => usery@test.ex R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS1.x:ke-RSA-AES256-SHAnnn:xxx CV=no C="250 OK id=10HmbB-000000005vi-0000"
 LOG: MAIN
   Completed
->>>>>>>>>>>>>>>> Exim pid=p1250 (continued-transport) terminating with rc=0 >>>>>>>>>>>>>>>>
-Exim version x.yz ....
-Hints DB:
-configuration file is TESTSUITE/test-config
-trusted user
-admin user
-dropping to exim gid; retaining priv uid
   SMTP|> MAIL FROM:<CALLER@myhost.test.ex> SIZE=ssss
   SMTP|> RCPT TO:<userz@test.ex>
   SMTP>> DATA
@@ -96,13 +87,13 @@ cmd buf flush ddd bytes (more expected)
   SMTP<< 221 myhost.test.ex closing connection
   SMTP(close)>>
 cmdlog: 'MAIL|:RCPT|:DATA:250:250:354:.:QUIT+:250:221'
->>>>>>>>>>>>>>>> Exim pid=p1253 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1252 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: MAIN
   => userz@test.ex R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS1.x:ke-RSA-AES256-SHAnnn:xxx CV=no C="250 OK id=10HmbC-000000005vi-0000"
 LOG: MAIN
   Completed
->>>>>>>>>>>>>>>> Exim pid=p1252 (continued-transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1254 (tls-proxy) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1250 (continued-transport) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1253 (tls-proxy) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: queue_run MAIN
   End queue run: pid=p1234 -qqf
 >>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
@@ -113,12 +104,12 @@ admin user
 dropping to exim gid; retaining priv uid
 LOG: queue_run MAIN
   Start queue run: pid=p1235 -qqf
->>>>>>>>>>>>>>>> Exim pid=p1255 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1256 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1257 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1258 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1259 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1260 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1254 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1255 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1256 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1257 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1258 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1259 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 Connecting to 127.0.0.1 [127.0.0.1]:PORT_D ...
 connected
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
@@ -153,12 +144,12 @@ cmd buf flush ddd bytes
   SMTP>> .
   SMTP<< 250 OK id=10HmbG-000000005vi-0000
 127.0.0.1 in hosts_noproxy_tls? no (end of list)
->>>>>>>>>>>>>>>> Exim pid=p1261 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1260 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: MAIN
   => usera@test.ex R=cl_override T=send_to_server H=127.0.0.1 [127.0.0.1] X=TLS1.x:ke-RSA-AES256-SHAnnn:xxx CV=yes C="250 OK id=10HmbG-000000005vi-0000"
 LOG: MAIN
   Completed
->>>>>>>>>>>>>>>> Exim pid=p1262 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1261 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 Hints DB:
 configuration file is TESTSUITE/test-config
@@ -174,20 +165,11 @@ cmd buf flush ddd bytes
   SMTP<< 354 Enter message, ending with "." on a line by itself
   SMTP>> .
   SMTP<< 250 OK id=10HmbH-000000005vi-0000
-  SMTP(close)>>
-cmdlog: 'MAIL|:RCPT|:DATA:250:250:354:.:250'
->>>>>>>>>>>>>>>> Exim pid=p1264 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1263 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: MAIN
   => userb@test.ex R=cl_override T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS1.x:ke-RSA-AES256-SHAnnn:xxx CV=no C="250 OK id=10HmbH-000000005vi-0000"
 LOG: MAIN
   Completed
->>>>>>>>>>>>>>>> Exim pid=p1263 (continued-transport) terminating with rc=0 >>>>>>>>>>>>>>>>
-Exim version x.yz ....
-Hints DB:
-configuration file is TESTSUITE/test-config
-trusted user
-admin user
-dropping to exim gid; retaining priv uid
   SMTP|> MAIL FROM:<CALLER@myhost.test.ex> SIZE=ssss
   SMTP|> RCPT TO:<userc@test.ex>
   SMTP>> DATA
@@ -204,13 +186,13 @@ cmd buf flush ddd bytes (more expected)
   SMTP<< 221 myhost.test.ex closing connection
   SMTP(close)>>
 cmdlog: 'MAIL|:RCPT|:DATA:250:250:354:.:QUIT+:250:221'
->>>>>>>>>>>>>>>> Exim pid=p1266 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1264 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: MAIN
   => userc@test.ex R=cl_override T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS1.x:ke-RSA-AES256-SHAnnn:xxx CV=no C="250 OK id=10HmbI-000000005vi-0000"
 LOG: MAIN
   Completed
->>>>>>>>>>>>>>>> Exim pid=p1265 (continued-transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1267 (tls-proxy) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1262 (continued-transport) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1265 (tls-proxy) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: queue_run MAIN
   End queue run: pid=p1235 -qqf
 >>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
@@ -221,12 +203,12 @@ admin user
 dropping to exim gid; retaining priv uid
 LOG: queue_run MAIN
   Start queue run: pid=p1236 -qqf
+>>>>>>>>>>>>>>>> Exim pid=p1266 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1267 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 >>>>>>>>>>>>>>>> Exim pid=p1268 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1269 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1269 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 >>>>>>>>>>>>>>>> Exim pid=p1270 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1271 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1272 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=p1273 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1271 (qrun-p1-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 Connecting to 127.0.0.1 [127.0.0.1]:PORT_D ...
 connected
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
@@ -271,12 +253,12 @@ cmd buf flush ddd bytes
          250 HELP
   SMTP(close)>>
 cmdlog: '220:EHLO:250-:STARTTLS:220:EHLO:250-:MAIL|:RCPT|:DATA:250:250:354:.:250:EHLO:250-'
->>>>>>>>>>>>>>>> Exim pid=p1274 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1272 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: MAIN
   => user_p@test.ex R=client T=send_to_server H=127.0.0.1 [127.0.0.1] X=TLS1.x:ke-RSA-AES256-SHAnnn:xxx CV=yes C="250 OK id=10HmbM-000000005vi-0000"
 LOG: MAIN
   Completed
->>>>>>>>>>>>>>>> Exim pid=p1275 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1273 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 Hints DB:
 configuration file is TESTSUITE/test-config
@@ -313,20 +295,11 @@ cmd buf flush ddd bytes
          250-PIPELINING
          250-STARTTLS
          250 HELP
-  SMTP(close)>>
-cmdlog: 'STARTTLS:220:EHLO:250-:MAIL|:RCPT|:DATA:250:250:354:.:250:EHLO:250-'
->>>>>>>>>>>>>>>> Exim pid=p1277 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1275 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: MAIN
   => user_q@test.ex R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS1.x:ke-RSA-AES256-SHAnnn:xxx CV=yes C="250 OK id=10HmbN-000000005vi-0000"
 LOG: MAIN
   Completed
->>>>>>>>>>>>>>>> Exim pid=p1276 (continued-transport) terminating with rc=0 >>>>>>>>>>>>>>>>
-Exim version x.yz ....
-Hints DB:
-configuration file is TESTSUITE/test-config
-trusted user
-admin user
-dropping to exim gid; retaining priv uid
   SMTP>> STARTTLS
 cmd buf flush ddd bytes
   SMTP<< 220 TLS go ahead
@@ -353,12 +326,12 @@ cmd buf flush ddd bytes
   SMTP<< 221 myhost.test.ex closing connection
   SMTP(close)>>
 cmdlog: 'STARTTLS:220:EHLO:250-:MAIL|:RCPT|:DATA:250:250:354:.:QUIT:250:221'
->>>>>>>>>>>>>>>> Exim pid=p1279 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1276 (transport) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: MAIN
   => user_r@test.ex R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS1.x:ke-RSA-AES256-SHAnnn:xxx CV=yes C="250 OK id=10HmbO-000000005vi-0000"
 LOG: MAIN
   Completed
->>>>>>>>>>>>>>>> Exim pid=p1278 (continued-transport) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1274 (continued-transport) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: queue_run MAIN
   End queue run: pid=p1236 -qqf
 >>>>>>>>>>>>>>>> Exim pid=p1236 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
index 8037405e7c090de2ddabb2daddcb8f6714d07b0a..c6016beda5a6bb511d2371b8e09286cb80e7f6fe 100644 (file)
@@ -99,7 +99,7 @@ Connection request from [127.0.0.1]
 220 Hi there
 EHLO the.local.host.name
 250-yeah mate
-250
+250 LIMITS MAILMAX=5 RCPTMAX=1
 MAIL FROM:<CALLER@the.local.host.name>
 250 mail cmd 1 good
 RCPT TO:<r3_2.test.ex@the.local.host.name>
@@ -117,6 +117,40 @@ Date: Tue, 2 Mar 1999 09:44:33 +0000
 
 .
 250 message 6 received
+MAIL FROM:<CALLER@the.local.host.name>
+250 mail cmd 2 good
+RCPT TO:<r4_1.test.ex@the.local.host.name>
+250 rcpt cmd good
+DATA
+352 go ahead
+Received: from CALLER by the.local.host.name with local (Exim x.yz)
+       (envelope-from <CALLER@the.local.host.name>)
+       id 10HmbA-000000005vi-0000;
+       Tue, 2 Mar 1999 09:44:33 +0000
+Subject: message 4
+Message-Id: <E10HmbA-000000005vi-0000@the.local.host.name>
+From: CALLER_NAME <CALLER@the.local.host.name>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+.
+250 message 7 received
+MAIL FROM:<CALLER@the.local.host.name>
+250 mail cmd 3 good
+RCPT TO:<r4_2.test.ex@the.local.host.name>
+250 rcpt cmd good
+DATA
+352 go ahead
+Received: from CALLER by the.local.host.name with local (Exim x.yz)
+       (envelope-from <CALLER@the.local.host.name>)
+       id 10HmbA-000000005vi-0000;
+       Tue, 2 Mar 1999 09:44:33 +0000
+Subject: message 4
+Message-Id: <E10HmbA-000000005vi-0000@the.local.host.name>
+From: CALLER_NAME <CALLER@the.local.host.name>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+.
+250 message 8 received
 QUIT
 221 bye
 Expected EOF read from client