SNI for ${readsocket }
[exim.git] / test / scripts / 1100-Basic-TLS / 1160
1 # TLS client: tls-on-connect
2 #
3 # For packet-capture, use "runtest -keep" and add (at least) tls debug on the daemon line.
4 # For GnuTLS, additionally run the daemon under sudo.
5 # Tell wireshark to use DIR/spool/sslkeys for Master Secret log, and decode TCP/1225 as TLS, TLS/1225 as SMTP
6 #
7 # We get (TLS1.3 , OpenSSL):
8 #    SYN                >
9 #                       < SYN,ACK
10 #    ACK                >
11 #    Client Hello       >
12 #                       < Server Hello, Change Ciph, Extensions, Cert, Cert Verify, Finished
13 #    Change Ciph,Finsh  >
14 #                       < Banner
15 #    EHLO               >
16 #                       < EHLO resp
17 #    MAIL,RCPT,DATA     >
18 #                       < ACK,ACK,DATA-go-ahead
19 #
20 # GnuTLS splits both the server records and the client response pair over two TCP segments:
21 #    Client Hello       >
22 #                       < Server Hello, Change Ciph
23 #    Change Ciph        >
24 #                       < Extensins, Cert, Cert Verify, Finished
25 #    Finished           >
26 # (otherwise the same).  The extra segments are piplined and do not incur an extra roundtrip time.
27 #
28 # To see that pipelining:
29 # sudo tc qdisc add dev lo root netem delay 50ms  /  sudo tc qdisc delete dev lo root
30 #
31 # To test TFO, enable in the transport in the conf/ file
32 # With TFO we get the Client Hello on the SYN, and the initial Server segment pipelined with/after the SYN,ACK
33 # and before the 3rd-ACK.  We still can't merge the 3rd-ACK with the second Client record set,
34 # but it does ack the initial Server data.
35 #
36 # To see the TFO((R):
37 # First clear any previously-obtained cookie:
38 #sudo perl
39 #open(INFO, "-|", "/usr/bin/uname -s");
40 #$_ = <INFO>;
41 #if (/^FreeBSD/) {
42 #system("sysctl net.inet.tcp.fastopen.client_enable=0"); system("sysctl net.inet.tcp.fastopen.client_enable=1");
43 #} else {
44 #system ("[ -e /proc/sys/net/ipv4/tcp_fastopen_blackhole_timeout_sec ] && echo 0 > /proc/sys/net/ipv4/tcp_fastopen_blackhole_timeout_sec");
45 #system ("ip tcp_metrics delete 127.0.0.1");
46 #}
47 #
48 #****
49 #
50 #
51 # sudo exim -DSERVER=server -d+tls -bd -oX PORT_D
52 exim -DSERVER=server -bd -oX PORT_D
53 ****
54 exim CALLER@test.ex
55 Test message. Contains FF: ΓΏ
56 ****
57 exim CALLER@test.ex abcd@test.ex xyz@test.ex
58 Test message to two different hosts
59 ****
60 exim -v -qf
61 ****
62 killdaemon
63 exim -DSERVER=server -DNOTDAEMON -qf
64 ****