diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2021-06-19 19:11:43 +0100 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2021-06-19 19:18:07 +0100 |
commit | 927a335fbd3d51e29a216efd034b61f0a169f6aa (patch) | |
tree | b73bbe08477dd39fab05f60c1dccef1e5183657b /test/confs | |
parent | 360dccf0892b75ebbfcd5363c1c70a35f80ad337 (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/5892 | 4 | ||||
-rw-r--r-- | test/confs/5893 | 4 | ||||
-rw-r--r-- | test/confs/5894 | 113 | ||||
-rw-r--r-- | test/confs/5895 | 116 |
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 |