diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2018-01-25 21:27:00 +0000 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2018-01-25 21:44:20 +0000 |
commit | 06fdb9f73dedfffc8b8613017ec1bb23f970b246 (patch) | |
tree | 25ef62a68e392c527f259b1497030a88596e1eed /test | |
parent | 1eedc10f0c518d1878a5d94ff17b84cad233b23e (diff) |
Cutthrough: fix multi-message initiating connections. Bug 2230
Diffstat (limited to 'test')
-rw-r--r-- | test/confs/5400 | 2 | ||||
l--------- | test/confs/5406 | 1 | ||||
-rw-r--r-- | test/log/5406 | 18 | ||||
-rw-r--r-- | test/scripts/5400-cutthrough/5406 | 110 | ||||
-rw-r--r-- | test/stdout/5406 | 140 |
5 files changed, 270 insertions, 1 deletions
diff --git a/test/confs/5400 b/test/confs/5400 index 9be13fea6..5a5e60a88 100644 --- a/test/confs/5400 +++ b/test/confs/5400 @@ -1,6 +1,6 @@ # Exim test configuration 5400 -# any options on the cutthrough_delivery contol +# any options on the cutthrough_delivery control CONTROL= # optional verify-callout diff --git a/test/confs/5406 b/test/confs/5406 new file mode 120000 index 000000000..8f6811b7e --- /dev/null +++ b/test/confs/5406 @@ -0,0 +1 @@ +5400
\ No newline at end of file diff --git a/test/log/5406 b/test/log/5406 new file mode 100644 index 000000000..227e696d4 --- /dev/null +++ b/test/log/5406 @@ -0,0 +1,18 @@ +1999-03-02 09:44:33 rcpt for userx@domain.com +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] C="250 OK" +1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss for userx@domain.com +1999-03-02 09:44:33 10HmaX-0005vi-00 Completed +1999-03-02 09:44:33 rcpt for usery@domain.com +1999-03-02 09:44:33 10HmaY-0005vi-00 >> usery@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK" +1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss for usery@domain.com +1999-03-02 09:44:33 10HmaY-0005vi-00 Completed +1999-03-02 09:44:33 rcpt for userx@domain.com +1999-03-02 09:44:33 10HmaZ-0005vi-00 >> userx@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK" +1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss for userx@domain.com +1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed +1999-03-02 09:44:33 rcpt for usery@domain.com +1999-03-02 09:44:33 rcpt for userz@domain.com +1999-03-02 09:44:33 10HmbA-0005vi-00 >> userz@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK" +1999-03-02 09:44:33 10HmbA-0005vi-00 >> usery@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK" +1999-03-02 09:44:33 10HmbA-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss for usery@domain.com userz@domain.com +1999-03-02 09:44:33 10HmbA-0005vi-00 Completed diff --git a/test/scripts/5400-cutthrough/5406 b/test/scripts/5400-cutthrough/5406 new file mode 100644 index 000000000..7a4653279 --- /dev/null +++ b/test/scripts/5400-cutthrough/5406 @@ -0,0 +1,110 @@ +# cutthrough_delivery multiple messages on initiator conn +need_ipv4 +munge loopback +# +# Two single-RCPT messages. +# Both should get cuttthrough, using separate onward connections +server PORT_S 2 +220 ESMTP +EHLO +250 OK +MAIL FROM: +250 Sender OK +RCPT TO: +250 Recipient OK +DATA +354 Send data +. +250 OK +QUIT +250 OK +*eof +220 ESMTP +EHLO +250 OK +MAIL FROM: +250 Sender OK +RCPT TO: +250 Recipient OK +DATA +354 Send data +. +250 OK +QUIT +250 OK +*eof +**** +exim -bs +EHLO myhost.test.ex +MAIL FROM:<CALLER@myhost.test.ex> +RCPT TO:<userx@domain.com> +DATA + +. +MAIL FROM:<CALLER@myhost.test.ex> +RCPT TO:<usery@domain.com> +DATA + +. +QUIT +**** +# +# +# +# +# +# A single-RCPT followed by a double-RCPT message +# Both should get cuttthrough, using separate onward connections +server PORT_S 2 +220 ESMTP +EHLO +250 OK +MAIL FROM: +250 Sender OK +RCPT TO: +250 Recipient OK +DATA +354 Send data +. +250 OK +QUIT +250 OK +*eof +220 ESMTP +EHLO +250 OK +MAIL FROM: +250 Sender OK +RCPT TO: +250 Recipient OK +RCPT TO: +250 Recipient OK +DATA +354 Send data +. +250 OK +QUIT +250 OK +*eof +**** +exim -bs +EHLO myhost.test.ex +MAIL FROM:<CALLER@myhost.test.ex> +RCPT TO:<userx@domain.com> +DATA + +. +MAIL FROM:<CALLER@myhost.test.ex> +RCPT TO:<usery@domain.com> +RCPT TO:<userz@domain.com> +DATA + +. +QUIT +**** +# +# +# +# +# +# End diff --git a/test/stdout/5406 b/test/stdout/5406 new file mode 100644 index 000000000..773c25dd2 --- /dev/null +++ b/test/stdout/5406 @@ -0,0 +1,140 @@ +220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250-myhost.test.ex Hello CALLER at myhost.test.ex
+250-SIZE 52428800
+250-8BITMIME
+250-PIPELINING
+250 HELP
+250 OK
+250 Accepted
+354 Enter message, ending with "." on a line by itself
+250 OK id=10HmaX-0005vi-00
+250 OK
+250 Accepted
+354 Enter message, ending with "." on a line by itself
+250 OK id=10HmaY-0005vi-00
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250-myhost.test.ex Hello CALLER at myhost.test.ex
+250-SIZE 52428800
+250-8BITMIME
+250-PIPELINING
+250 HELP
+250 OK
+250 Accepted
+354 Enter message, ending with "." on a line by itself
+250 OK id=10HmaZ-0005vi-00
+250 OK
+250 Accepted
+250 Accepted
+354 Enter message, ending with "." on a line by itself
+250 OK id=10HmbA-0005vi-00
+221 myhost.test.ex closing connection
+ +******** SERVER ******** +Listening on port 1224 ... +Connection request from [ip4.ip4.ip4.ip4] +220 ESMTP +EHLO myhost.test.ex +250 OK +MAIL FROM:<CALLER@myhost.test.ex> +250 Sender OK +RCPT TO:<userx@domain.com> +250 Recipient OK +DATA +354 Send data +Received: from CALLER (helo=myhost.test.ex) + by myhost.test.ex with local-esmtp (Exim x.yz) + (envelope-from <CALLER@myhost.test.ex>) + id 10HmaX-0005vi-00 + for userx@domain.com; Tue, 2 Mar 1999 09:44:33 +0000 +Message-Id: <E10HmaX-0005vi-00@myhost.test.ex> +From: CALLER_NAME <CALLER@myhost.test.ex> +Date: Tue, 2 Mar 1999 09:44:33 +0000 +X-hdr-rtr-new: +++ + +. +250 OK +QUIT +250 OK +Expected EOF read from client +Listening on port 1224 ... +Connection request from [ip4.ip4.ip4.ip4] +220 ESMTP +EHLO myhost.test.ex +250 OK +MAIL FROM:<CALLER@myhost.test.ex> +250 Sender OK +RCPT TO:<usery@domain.com> +250 Recipient OK +DATA +354 Send data +Received: from CALLER (helo=myhost.test.ex) + by myhost.test.ex with local-esmtp (Exim x.yz) + (envelope-from <CALLER@myhost.test.ex>) + id 10HmaY-0005vi-00 + for usery@domain.com; Tue, 2 Mar 1999 09:44:33 +0000 +Message-Id: <E10HmaY-0005vi-00@myhost.test.ex> +From: CALLER_NAME <CALLER@myhost.test.ex> +Date: Tue, 2 Mar 1999 09:44:33 +0000 +X-hdr-rtr-new: +++ + +. +250 OK +QUIT +250 OK +Expected EOF read from client +End of script +Listening on port 1224 ... +Connection request from [ip4.ip4.ip4.ip4] +220 ESMTP +EHLO myhost.test.ex +250 OK +MAIL FROM:<CALLER@myhost.test.ex> +250 Sender OK +RCPT TO:<userx@domain.com> +250 Recipient OK +DATA +354 Send data +Received: from CALLER (helo=myhost.test.ex) + by myhost.test.ex with local-esmtp (Exim x.yz) + (envelope-from <CALLER@myhost.test.ex>) + id 10HmaZ-0005vi-00 + for userx@domain.com; Tue, 2 Mar 1999 09:44:33 +0000 +Message-Id: <E10HmaZ-0005vi-00@myhost.test.ex> +From: CALLER_NAME <CALLER@myhost.test.ex> +Date: Tue, 2 Mar 1999 09:44:33 +0000 +X-hdr-rtr-new: +++ + +. +250 OK +QUIT +250 OK +Expected EOF read from client +Listening on port 1224 ... +Connection request from [ip4.ip4.ip4.ip4] +220 ESMTP +EHLO myhost.test.ex +250 OK +MAIL FROM:<CALLER@myhost.test.ex> +250 Sender OK +RCPT TO:<usery@domain.com> +250 Recipient OK +RCPT TO:<userz@domain.com> +250 Recipient OK +DATA +354 Send data +Received: from CALLER (helo=myhost.test.ex) + by myhost.test.ex with local-esmtp (Exim x.yz) + (envelope-from <CALLER@myhost.test.ex>) + id 10HmbA-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000 +Message-Id: <E10HmbA-0005vi-00@myhost.test.ex> +From: CALLER_NAME <CALLER@myhost.test.ex> +Date: Tue, 2 Mar 1999 09:44:33 +0000 +X-hdr-rtr-new: +++ + +. +250 OK +QUIT +250 OK +Expected EOF read from client +End of script |