testsuite: make runtest exit(!0) on failure in continue mode
[users/heiko/exim.git] / test / scripts / 5820-DANE-GnuTLS / 5820
index 07ad7406d924d8ffab9d4bdaf9e6455b6c761fe5..0101a0c8d99d01e00ab5c3673a8e8cfd7a6cb3d6 100644 (file)
 # DANE client: general
 #
 # DANE client: general
 #
-gnutls
+exim -DSERVER=server -DDETAILS=ee -bd -oX PORT_D
+****
+### TLSA (3 1 1) (DANE-EE SPKI SHA2-256)
+exim -odq t1@dane256ee.test.ex
+Testing
+****
+### TLSA (3 1 2) (            SHA2-512)
+exim -odq t2@mxdane512ee.test.ex
+Testing
+****
+exim -qf
+****
+#
+#
+### Recipient callout
+exim -DOPT=callout -bhc 127.0.0.1
+MAIL FROM: <t3@myhost.test.ex>
+RCPT TO: <rcptuser@dane256ee.test.ex>
+****
+killdaemon
+#
 #
 #
-exim -DSERVER=server -bd -oX PORT_D
+exim -DSERVER=server -DDETAILS=ta -bd -oX PORT_D
+****
+### TLSA (2 0 1) (DANE-TA CERT SHA2-256)
+exim -odf t4@mxdane256ta.test.ex
+Testing
+****
+killdaemon
+# 
+#
+### A server with a nonverifying cert and no TLSA
+# 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 -odf t6@thishost.test.ex
+Testing
+****
+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 -odf -DDETAILS=ca t7@thishost.test.ex
+Testing
+****
+exim -DOPT=no_certname -qf
+****
+killdaemon
+#
+#
+exim -DSERVER=server -DDETAILS=ee -bd -oX PORT_D
+****
+### 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 t9@dane.no.1.test.ex
+Testing
+****
+### 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
 ****
 ****
-exim CALLER@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 (delivery should fail)
+exim -odq t12@dane.no.3.test.ex
+Testing
+****
+### A server securely saying "no TLSA records here", dane requested only (should deliver)
+exim -odq t13@dane.no.4.test.ex
 Testing
 ****
 exim -qf
 ****
 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
+****
+#
+### A server with a mixed-usage set of TLSAs - the EE-mode one failing verify (should deliver, DANE-mode)
+# that way round to exercise more code in the implementation
+exim -odf t18a@danemixed.test.ex
+Testing
+****
+#
 killdaemon
 killdaemon
-exim -DSERVER=server -DNOTDAEMON -qf
+#
+#
+#
+### 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