TLS: fix resumption for TLS-on-connect
[exim.git] / test / scripts / 5892-Resume-OpenSSL / 5892
index 6c04424ce8700c98129b37bf580483a841ac5122..92eed04d22e53b4977a62b0e06c4eb3ef2e12600 100644 (file)
@@ -1,64 +1,61 @@
-# TLS session resumption
+# TLSv1.2 session resumption
 #
 ### TLS1.2
-exim -DSERVER=server -DOPTION=+no_tlsv1_3 -bd -oX PORT_D
+exim -DSERVER=server -DOPTION=+no_tlsv1_3 -bd -oX PORT_D:PORT_D2
 ****
 exim -DVALUE=resume -odf getticket@test.ex
-Test message. Contains FF: ÿ
+Test message.
 ****
-exim -DVALUE=resume -odf resume@test.ex abcd@test.ex xyz@test.ex
+exim -DVALUE=resume -odf resume@test.ex hostnotresume@test.ex xyz@test.ex
 Test message to two different hosts, one does not support resume
 ****
 # allow time for ticket to hit renewal time
-sleep 3
+sleep 5
 exim -DVALUE=resume -odf renewal@test.ex
 Test message.
 ****
 exim -DVALUE=resume -odf postrenewal@test.ex
 Test message.
 ****
-sleep 3
-exim -DVALUE=resume -odf timeout@test.ex
+sleep 5
+exim -DVALUE=resume -odf aftertimeout@test.ex
 Test message.
 ****
 exim -odf notreq@test.ex
 Test message, not requesting resumption.
 ****
-sudo rm -f DIR/spool/db/tls
+#
+sudo rm -f DIR/spool/db/tls*
 exim -odf -DVALUE=resume noverify_getticket@test.ex
 Dest on this means the server cert will not verify (but try_verify will permit it)
 ****
 exim -odf -DVALUE=resume noverify_resume@test.ex
 Dest on this means the server cert will not verify (but try_verify will permit it)
 ****
-killdaemon
-sleep 1
-sudo rm -f DIR/spool/db/tls
 #
-#
-### TLS1.3
-exim -DSERVER=server -bd -oX PORT_D
-****
+# Test the host_name_extract transport option.  Due to the change the second
+# message's connection should not offer a session.  The third should (on the 2nd),
+# as should the fourth (on the 1st).
+sudo rm -f DIR/spool/db/tls*
 exim -DVALUE=resume -odf getticket@test.ex
-Test message. Contains FF: ÿ
 ****
-exim -DVALUE=resume -odf resume@test.ex abcd@test.ex xyz@test.ex
-Test message to two different hosts, one does not support resume
+exim -DVALUE=resume -DHELO_MSG=differenthost -odf noresume@test.ex
 ****
-# allow time for ticket to hit renewal time
-sleep 3
-exim -DVALUE=resume -odf renewal@test.ex
-Test message.
+exim -DVALUE=resume -DHELO_MSG=differenthost -odf resume@test.ex
 ****
-exim -DVALUE=resume -odf postrenewal@test.ex
-Test message.
+exim -DVALUE=resume -odf resume@test.ex
 ****
-sleep 3
-exim -DVALUE=resume -odf timeout@test.ex
-Test message.
+#
+# Test TLS-on-connect
+exim -DVALUE=resume -DSELECTOR=smtps -odf getticket@test.ex
 ****
-exim -odf notreq@test.ex
-Test message, not requesting resumption.
+exim -DVALUE=resume -DSELECTOR=smtps -odf resume@test.ex
+****
+#
+# Check the -k (key only) option on dumpdb
+perl
+system 'DIR/eximdir/exim_dumpdb -k DIR/spool tls';
 ****
+#
 killdaemon
 no_msglog_check