diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2017-10-01 21:45:11 +0100 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2017-10-01 21:45:11 +0100 |
commit | 8255135bf80545a31493a83348a4e8da901a4768 (patch) | |
tree | 1e7ef5b8abfb6b80521ebe669484c20cca125936 /test | |
parent | 1ccd5f670a432f98e94b384dd169a1a760dced9a (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/4027 | 5 | ||||
-rw-r--r-- | test/scripts/1990-TCP-Fast-Open/1990 | 21 | ||||
-rw-r--r-- | test/scripts/4027-TFO-socks/4027 | 43 | ||||
-rw-r--r-- | test/stdout/4027 | 32 |
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 |