summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2017-10-01 21:45:11 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2017-10-01 21:45:11 +0100
commit8255135bf80545a31493a83348a4e8da901a4768 (patch)
tree1e7ef5b8abfb6b80521ebe669484c20cca125936 /test
parent1ccd5f670a432f98e94b384dd169a1a760dced9a (diff)
Testsuite: for TFO testcases manipulate the system state
Linux-centric; will need elaboration for other platforms
Diffstat (limited to 'test')
-rw-r--r--test/log/40275
-rw-r--r--test/scripts/1990-TCP-Fast-Open/199021
-rw-r--r--test/scripts/4027-TFO-socks/402743
-rw-r--r--test/stdout/402732
4 files changed, 93 insertions, 8 deletions
diff --git a/test/log/4027 b/test/log/4027
index 3af3f325b..7df91966f 100644
--- a/test/log/4027
+++ b/test/log/4027
@@ -1,6 +1,9 @@
1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
-1999-03-02 09:44:33 10HmaX-0005vi-00 => user_tfo@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:1224 PRX=[127.0.0.1]:1225 TFO C="250 accepted OK"
+1999-03-02 09:44:33 10HmaX-0005vi-00 => user_tfo@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:1224 PRX=[127.0.0.1]:1225 C="250 accepted OK"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
1999-03-02 09:44:33 10HmaY-0005vi-00 => user_tfo@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:1224 PRX=[127.0.0.1]:1225 TFO C="250 accepted OK"
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
+1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
+1999-03-02 09:44:33 10HmaZ-0005vi-00 => user_tfo@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:1224 PRX=[127.0.0.1]:1225 TFO C="250 accepted OK"
+1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed
diff --git a/test/scripts/1990-TCP-Fast-Open/1990 b/test/scripts/1990-TCP-Fast-Open/1990
index 4f5758f5a..3fffce2d4 100644
--- a/test/scripts/1990-TCP-Fast-Open/1990
+++ b/test/scripts/1990-TCP-Fast-Open/1990
@@ -7,11 +7,15 @@
# A packet capture on the loopback interface will show the TFO
# option on the SYN, but the fast-output SMTP banner will not
# be seen unless you also deliberately emulate a long path:
-# 'sudo tc qdisc add dev lo root netem delay 100ms'
+# 'sudo tc qdisc add dev lo root netem delay 50ms'
# You'll need kernel-modules-extra installed, or you get
# an unhelpful error from RTNETLINK.
# To tidy up: 'sudo tc qdisc delete dev lo root'
#
+sudo perl
+system ("tc qdisc add dev lo root netem delay 50ms");
+****
+#
# First time runs will see a TFO request option only; subsequent
# ones should see the TFO cookie and fast-output SMTP banner
# (currently on a separate packet after the server SYN,ACK but before
@@ -20,16 +24,14 @@
# The client log => lint.ex should have a "TFO" element.
# Assuming this is the first run since boot, the a@test recipient will not.
#
+sudo perl
+system ("ip tcp_metrics delete 127.0.0.1");
+****
+#
# The server log <= line for b@test.ex should have a "TFO" element, but
# this will only be obtained when the above delay is inserted into the
# loopback net path.
#
-# this attempt to tidy up does not work
-#sudo perl
-#open (my $fh, "/proc/sys/net/ipv4/tcp_fastopen_key");
-#print $fh "00000000-00000000-00000000-00000000";
-#close $fh;
-#****
#
#
# FreeBSD: it looks like you have to compile a custom kernel, with
@@ -50,5 +52,10 @@ Testing
****
sleep 3
#
+#
+sudo perl
+system ("tc qdisc delete dev lo root");
+****
+#
killdaemon
no_msglog_check
diff --git a/test/scripts/4027-TFO-socks/4027 b/test/scripts/4027-TFO-socks/4027
index 533021cbf..3cfb43ee4 100644
--- a/test/scripts/4027-TFO-socks/4027
+++ b/test/scripts/4027-TFO-socks/4027
@@ -3,6 +3,48 @@
munge loopback
#
#
+# TFO both clients and server, no cookie yet
+sudo perl
+system ("ip tcp_metrics delete 127.0.0.1");
+****
+#
+server -tfo PORT_D
+<<\x05\x01\x00
+>>\x05\x00
+<<\x05\x01\x00\x01\x7f\x00\x00\x01\x04\xc8
+>>\x05\x00\x00\x01\x7f\x00\x00\x01\xbe\xef
+220 Connected OK
+EHLO
+250-server id
+250
+MAIL FROM
+250
+RCPT TO
+250
+DATA
+354 go ahead
+.
+250 accepted OK
+QUIT
+250 bye
+****
+#
+#
+exim -odi -bs -DOPT=
+ehlo test.ex
+mail from:<>
+rcpt to:<user_tfo@test.ex>
+data
+Date: Fri, 17 Dec 2004 14:35:01 +0100
+Subject: message should be sent
+
+connection trying TFO via proxy; no cookie yet
+.
+quit
+****
+#
+#
+#
# TFO client, not server
server PORT_D
<<\x05\x01\x00
@@ -79,5 +121,6 @@ via null-auth proxy
quit
****
#
+millisleep 500
#
# Ends
diff --git a/test/stdout/4027 b/test/stdout/4027
index 74837c4ac..79950e97f 100644
--- a/test/stdout/4027
+++ b/test/stdout/4027
@@ -20,6 +20,17 @@
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 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
+221 myhost.test.ex closing connection
******** SERVER ********
Listening on port 1225 ...
@@ -37,6 +48,27 @@ MAIL FROM
RCPT TO
250
DATA
+354 go ahead
+R
+250 accepted OK
+QUIT
+250 bye
+End of script
+Listening on port 1225 ...
+Connection request from [ip4.ip4.ip4.ip4]
+<<\x05\x01\x00
+>>\x05\x00
+<<\x05\x01\x00\x01\x7f\x00\x00\x01\x04\xc8
+>>\x05\x00\x00\x01\x7f\x00\x00\x01\xbe\xef
+220 Connected OK
+EHLO
+250-server id
+250
+MAIL FROM
+250
+RCPT TO
+250
+DATA
354 do me
R
250 accepted OK