GnuTLS: fix hanging callout connections
[users/jgh/exim.git] / test / scripts / 5840-DANE-OpenSSL / 5840
index 142a25ad471c317e0d8474f4424c8f08d8a13189..803865404c7a64e0ba0c72d2aaa7a8bb4ac64900 100644 (file)
@@ -2,12 +2,12 @@
 #
 exim -DSERVER=server -DDETAILS=ee -bd -oX PORT_D
 ****
-### TLSA (3 1 1)
-exim -odq CALLER@dane256ee.test.ex
+### TLSA (3 1 1) (DANE-EE SPKI SHA2-256)
+exim -odq t1@dane256ee.test.ex
 Testing
 ****
-### TLSA (3 1 2)
-exim -odq CALLER@mxdane512ee.test.ex
+### TLSA (3 1 2) (            SHA2-512)
+exim -odq t2@mxdane512ee.test.ex
 Testing
 ****
 exim -qf
@@ -16,7 +16,7 @@ exim -qf
 #
 ### Recipient callout
 exim -DOPT=callout -bhc 127.0.0.1
-MAIL FROM: <CALLER@myhost.test.ex>
+MAIL FROM: <t3@myhost.test.ex>
 RCPT TO: <rcptuser@dane256ee.test.ex>
 ****
 killdaemon
@@ -24,11 +24,18 @@ killdaemon
 #
 exim -DSERVER=server -DDETAILS=ta -bd -oX PORT_D
 ****
-### TLSA (2 0 1)
-exim -odq CALLER@mxdane256ta.test.ex
+### TLSA (2 0 1) (DANE-TA CERT SHA2-256)
+exim -odf t4@mxdane256ta.test.ex
 Testing
 ****
-exim -qf
+killdaemon
+#
+# OpenSSL-specific regression testcase: certificate having Authority Key ID extension
+exim -DSERVER=server -DCERT=DIR/aux-fixed/exim-ca/example.com/server2.example.com/fullchain.pem -DALLOW=DIR/aux-fixed/exim-ca/example.com/server2.example.com/server2.example.com.unlocked.key -bd -oX PORT_D
+****
+### TLSA (2 1 1)
+exim -odf t5@mxdane256tak.test.ex
+Testing
 ****
 killdaemon
 #
@@ -36,18 +43,16 @@ killdaemon
 # Check we get a non-CV but TLS connection, with try_dane but no require_dane
 exim -DSERVER=server -DDETAILS=no -bd -oX PORT_D
 ****
-exim -odq CALLER@thishost.test.ex
+exim -odf t6@thishost.test.ex
 Testing
 ****
-exim -qf
-****
 killdaemon
 #
 ### A server with a verifying cert and no TLSA
 # Check we get a CV and TLS connection, with try_dane but no require_dane
 exim -DSERVER=server -DDETAILS=ca -bd -oX PORT_D
 ****
-exim -odq CALLER@thishost.test.ex
+exim -odf -DDETAILS=ca t7@thishost.test.ex
 Testing
 ****
 exim -DOPT=no_certname -qf
@@ -57,31 +62,84 @@ killdaemon
 #
 exim -DSERVER=server -DDETAILS=ee -bd -oX PORT_D
 ****
-### A server with two MXs for which both TLSA lookups return defer
-exim -odq CALLER@mxdanelazy.test.ex
+### A server with two MXs for which both TLSA lookups return defer (delivery should defer)
+exim -odq t8@mxdanelazy.test.ex
 Testing
 ****
 ### A server lacking a TLSA, dane required (should fail)
-exim -odq CALLER@dane.no.1.test.ex
+exim -odq t9@dane.no.1.test.ex
 Testing
 ****
-### A server lacking a TLSA, dane requested only (should fail, as the NXDOMAIN is not DNSSEC)
-exim -odq CALLER@dane.no.2.test.ex
+### A server lacking a TLSA, dane requested only (should deliver, non-DANE, as the NXDOMAIN is not DNSSEC)
+exim -odq t10@dane.no.2.test.ex
 Testing
 ****
-### A server where the A is dnssec and the TLSA _fails_
-exim -odq CALLER@danebroken1.test.ex
+### A server where the A is dnssec and the TLSA lookup _fails_ (delivery should defer)
+exim -odq t11@danebroken1.test.ex
 Testing
 ****
-### A server securely saying "no TLSA records here", dane required (should fail)
-exim -odq CALLER@dane.no.3.test.ex
+### A server securely saying "no TLSA records here", dane required (delivery should fail)
+exim -odq t12@dane.no.3.test.ex
 Testing
 ****
-### A server securely saying "no TLSA records here", dane requested only (should transmit)
-exim -odq CALLER@dane.no.4.test.ex
+### A server securely saying "no TLSA records here", dane requested only (should deliver)
+exim -odq t13@dane.no.4.test.ex
 Testing
 ****
 exim -qf
 ****
+exim -Mrm $msg1 $msg2
+****
+#
+### A server securely serving a wrong TLSA record, dane requested only (delivery should fail)
+#XXX it defers.
+exim -odf t14@danebroken2.test.ex
+Testing
+****
+### A server insecurely serving a good TLSA record, dane requested only (should deliver, non-DANE)
+exim -odf t15@danebroken3.test.ex
+Testing
+****
+### A server insecurely serving a good TLSA record, dane required (delivery should fail)
+exim -odf t16@danebroken4.test.ex
+Testing
+****
+### A server insecurely serving a good A record, dane requested only (should deliver, non-DANE)
+exim -odf t17@danebroken5.test.ex
+Testing
+****
+### A server insecurely serving a good A record, dane required (delivery should fail)
+exim -odf t18@danebroken6.test.ex
+Testing
+****
+#
+killdaemon
+#
+#
+#
+### A server with a name not matching the cert.  TA-mode; should fail
+exim -DSERVER=server -DDETAILS=cert.net -bd -oX PORT_D
+****
+exim -odf t19@danebroken7.example.com
+Testing
+****
+#
+### A server with a name not matching the cert.  EE-mode; should deliver and claim DANE mode
+exim -odf t20@danebroken8.example.com
+Testing
+****
 killdaemon
+#
+#
+sudo rm DIR/spool/db/retry
+exim -DSERVER=server -DDETAILS=ca -bd -oX PORT_D
+****
+### A server securely serving a wrong TLSA record, dane not requested (delivery should work non-dane)
+exim -odf -DCONTROL=: t21@danebroken2.test.ex
+****
+# sleep needed to see the t14 brokenness
+sleep 1
+killdaemon
+sleep 1
+#
 no_msglog_check