X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/f652fa8083925080b92b02897f1ee872ff2d3bba..600dc06981df5a906125f8442c36056a117412d4:/test/confs/5890 diff --git a/test/confs/5890 b/test/confs/5890 index bd0b77df2..c81cd92f3 100644 --- a/test/confs/5890 +++ b/test/confs/5890 @@ -1,10 +1,131 @@ # Exim test configuration 5890 -# DANE common -exim_path = EXIM_PATH -host_lookup_order = bydns +SERVER = +OPTION = NORMAL + +.include DIR/aux-var/tls_conf_prefix + primary_hostname = myhost.test.ex -spool_directory = DIR/spool # ----- 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 +outgoing_port + +tls_advertise_hosts = * +tls_on_connect_ports = PORT_D2 + +# 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_require_ciphers = OPTION +tls_resumption_hosts = 127.0.0.1 + + +# ------ ACL ------ + +begin acl + +check_helo: + accept condition = ${if def:tls_in_cipher} + logwrite = tls_in_ver\t$tls_in_ver + 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_ver\t$tls_out_ver + 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}{hostnotresume}{2}{1}} + +server: + driver = redirect + data = :blackhole: + +# ----- Transports ----- + +begin transports + +send_to_server1: + driver = smtp + allow_localhost + hosts = 127.0.0.1 +.ifdef SELECTOR + port = PORT_D2 + protocol = smtps + # Use HELO purely to get a P= different on the server <= line + hosts_avoid_esmtp = * +.else + port = PORT_D +.endif + helo_data = helo.data.changed +.ifdef HELO_MSG + host_name_extract = HELO_MSG +.endif +.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 = * +.ifdef _HAVE_EVENT + event_action = ${acl {log_resumption}} +.endif + +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 = : +.ifdef _HAVE_EVENT + event_action = ${acl {log_resumption}} +.endif + + +# ----- Retry ----- + + +begin retry + +* * F,5d,10s + + +# End