summaryrefslogtreecommitdiff
path: root/test/confs
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2021-06-19 19:11:43 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2021-06-19 19:18:07 +0100
commit927a335fbd3d51e29a216efd034b61f0a169f6aa (patch)
treeb73bbe08477dd39fab05f60c1dccef1e5183657b /test/confs
parent360dccf0892b75ebbfcd5363c1c70a35f80ad337 (diff)
Testsuite: split out OpenSSL TLS1.3 resume tests
Older library versions do not support 1.3 so a separate numbered testcase is needed
Diffstat (limited to 'test/confs')
-rw-r--r--test/confs/58924
-rw-r--r--test/confs/58934
-rw-r--r--test/confs/5894113
-rw-r--r--test/confs/5895116
4 files changed, 237 insertions, 0 deletions
diff --git a/test/confs/5892 b/test/confs/5892
index 4e6883fc2..a7738468f 100644
--- a/test/confs/5892
+++ b/test/confs/5892
@@ -15,7 +15,11 @@ acl_smtp_helo = check_helo
acl_smtp_rcpt = check_recipient
log_selector = +received_recipients +tls_resumption +tls_peerdn
+.ifdef _OPT_OPENSSL_NO_TLSV1_3_X
openssl_options = +no_sslv2 +no_sslv3 +single_dh_use OPTION
+.else
+openssl_options = +no_sslv2 +no_sslv3 +single_dh_use
+.endif
tls_advertise_hosts = *
# Set certificate only if server
diff --git a/test/confs/5893 b/test/confs/5893
index 74b61b70b..a7f73a98c 100644
--- a/test/confs/5893
+++ b/test/confs/5893
@@ -15,7 +15,11 @@ acl_smtp_helo = check_helo
acl_smtp_rcpt = check_recipient
log_selector = +received_recipients +tls_resumption +tls_peerdn
+.ifdef _OPT_OPENSSL_NO_TLSV1_3_X
openssl_options = +no_sslv2 +no_sslv3 +single_dh_use OPTION
+.else
+openssl_options = +no_sslv2 +no_sslv3 +single_dh_use
+.endif
tls_advertise_hosts = *
# Set certificate only if server
diff --git a/test/confs/5894 b/test/confs/5894
new file mode 100644
index 000000000..da347178e
--- /dev/null
+++ b/test/confs/5894
@@ -0,0 +1,113 @@
+# Exim test configuration 5894
+
+SERVER =
+
+.include DIR/aux-var/tls_conf_prefix
+
+primary_hostname = myhost.test.ex
+
+# ----- Main settings -----
+
+domainlist local_domains = test.ex : *.test.ex
+
+acl_smtp_helo = check_helo
+acl_smtp_rcpt = check_recipient
+log_selector = +received_recipients +tls_resumption +tls_peerdn
+
+openssl_options = +no_sslv2 +no_sslv3 +single_dh_use
+tls_advertise_hosts = *
+
+# Set certificate only if server
+
+CDIR=DIR/aux-fixed/exim-ca/example.com
+
+tls_certificate = CDIR/server1.example.com/server1.example.com.chain.pem
+tls_privatekey = CDIR/server1.example.com/server1.example.com.unlocked.key
+
+tls_resumption_hosts = 127.0.0.1
+
+
+# ------ ACL ------
+
+begin acl
+
+check_helo:
+ accept condition = ${if def:tls_in_cipher}
+ logwrite = tls_in_resumption\t${listextract {$tls_in_resumption} {_RESUME_DECODE}}
+ logwrite = our cert subject\t${certextract {subject}{$tls_in_ourcert}}
+ logwrite = peer cert subject\t${certextract {subject}{$tls_in_peercert}}
+ logwrite = peer cert verified\t${tls_in_certificate_verified}
+ logwrite = peer dn\t${tls_in_peerdn}
+ logwrite = cipher\t${tls_in_cipher}
+ logwrite = bits\t${tls_in_bits}
+ accept
+
+check_recipient:
+ accept domains = +local_domains
+ deny message = relay not permitted
+
+log_resumption:
+ accept condition = ${if def:tls_out_cipher}
+ condition = ${if eq {$event_name}{tcp:close}}
+ logwrite = tls_out_resumption ${listextract {$tls_out_resumption} {_RESUME_DECODE}}
+ logwrite = our cert subject\t${certextract {subject}{$tls_out_ourcert}}
+ logwrite = peer cert subject\t${certextract {subject}{$tls_out_peercert}}
+ logwrite = peer cert verified\t${tls_out_certificate_verified}
+ logwrite = peer dn\t${tls_out_peerdn}
+ logwrite = cipher\t${tls_out_cipher}
+ logwrite = bits\t${tls_out_bits}
+
+
+# ----- Routers -----
+
+begin routers
+
+client:
+ driver = accept
+ condition = ${if eq {SERVER}{server}{no}{yes}}
+ transport = send_to_server${if eq{$local_part}{abcd}{2}{1}}
+
+server:
+ driver = redirect
+ data = :blackhole:
+
+# ----- Transports -----
+
+begin transports
+
+send_to_server1:
+ driver = smtp
+ allow_localhost
+ hosts = 127.0.0.1
+ port = PORT_D
+ helo_data = helo.data.changed
+.ifdef VALUE
+ tls_resumption_hosts = *
+.else
+ tls_resumption_hosts = :
+.endif
+ tls_verify_certificates = CDIR/CA/CA.pem
+ tls_verify_cert_hostnames = ${if match {$local_part}{^noverify} {*}{:}}
+ tls_try_verify_hosts = *
+ event_action = ${acl {log_resumption}}
+
+send_to_server2:
+ driver = smtp
+ allow_localhost
+ hosts = HOSTIPV4
+ port = PORT_D
+ hosts_try_fastopen = :
+ tls_verify_certificates = CDIR/CA/CA.pem
+ tls_verify_cert_hostnames = :
+ event_action = ${acl {log_resumption}}
+
+
+# ----- Retry -----
+
+
+begin retry
+
+* * F,5d,10s
+
+
+# End
diff --git a/test/confs/5895 b/test/confs/5895
new file mode 100644
index 000000000..d279b1e3e
--- /dev/null
+++ b/test/confs/5895
@@ -0,0 +1,116 @@
+# Exim test configuration 5895
+
+SERVER =
+
+.include DIR/aux-var/tls_conf_prefix
+
+primary_hostname = myhost.test.ex
+
+# ----- Main settings -----
+
+domainlist local_domains = test.ex : *.test.ex
+
+acl_smtp_helo = check_helo
+acl_smtp_rcpt = check_recipient
+log_selector = +received_recipients +tls_resumption +tls_peerdn
+
+openssl_options = +no_sslv2 +no_sslv3 +single_dh_use
+tls_advertise_hosts = *
+
+# Set certificate only if server
+
+CDIR=DIR/aux-fixed/exim-ca/example.com
+
+tls_certificate = CDIR/server1.example.com/server1.example.com.chain.pem
+tls_privatekey = CDIR/server1.example.com/server1.example.com.unlocked.key
+tls_ocsp_file = CDIR/server1.example.com/server1.example.com.ocsp.good.resp
+
+tls_resumption_hosts = 127.0.0.1
+
+
+# ------ ACL ------
+
+begin acl
+
+check_helo:
+ accept condition = ${if def:tls_in_cipher}
+ logwrite = tls_in_resumption\t${listextract {$tls_in_resumption} {_RESUME_DECODE}}
+ logwrite = our cert subject\t${certextract {subject}{$tls_in_ourcert}}
+ logwrite = peer cert subject\t${certextract {subject}{$tls_in_peercert}}
+ logwrite = peer cert verified\t${tls_in_certificate_verified}
+ logwrite = peer dn\t${tls_in_peerdn}
+ logwrite = ocsp\t${tls_in_ocsp}
+ logwrite = cipher\t${tls_in_cipher}
+ logwrite = bits\t${tls_in_bits}
+ accept
+
+check_recipient:
+ accept domains = +local_domains
+ deny message = relay not permitted
+
+log_resumption:
+ accept condition = ${if def:tls_out_cipher}
+ condition = ${if eq {$event_name}{tcp:close}}
+ logwrite = tls_out_resumption ${listextract {$tls_out_resumption} {_RESUME_DECODE}}
+ logwrite = our cert subject\t${certextract {subject}{$tls_out_ourcert}}
+ logwrite = peer cert subject\t${certextract {subject}{$tls_out_peercert}}
+ logwrite = peer cert verified\t${tls_out_certificate_verified}
+ logwrite = peer dn\t${tls_out_peerdn}
+ logwrite = ocsp\t${tls_out_ocsp}
+ logwrite = cipher\t${tls_out_cipher}
+ logwrite = bits\t${tls_out_bits}
+
+
+# ----- Routers -----
+
+begin routers
+
+client:
+ driver = accept
+ condition = ${if eq {SERVER}{server}{no}{yes}}
+ transport = send_to_server${if eq{$local_part}{abcd}{2}{1}}
+
+server:
+ driver = redirect
+ data = :blackhole:
+
+# ----- Transports -----
+
+begin transports
+
+send_to_server1:
+ driver = smtp
+ allow_localhost
+ hosts = 127.0.0.1
+ port = PORT_D
+ helo_data = helo.data.changed
+.ifdef VALUE
+ tls_resumption_hosts = *
+.else
+ tls_resumption_hosts = :
+.endif
+ tls_verify_certificates = CDIR/CA/CA.pem
+ tls_verify_cert_hostnames = ${if match {$local_part}{^noverify} {*}{:}}
+ tls_try_verify_hosts = *
+ event_action = ${acl {log_resumption}}
+
+send_to_server2:
+ driver = smtp
+ allow_localhost
+ hosts = HOSTIPV4
+ port = PORT_D
+ hosts_try_fastopen = :
+ tls_verify_certificates = CDIR/CA/CA.pem
+ tls_verify_cert_hostnames = :
+ event_action = ${acl {log_resumption}}
+
+
+# ----- Retry -----
+
+
+begin retry
+
+* * F,5d,10s
+
+
+# End