X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/b10c87b38c2345d15d30da5c18c823355ac506a9..5d5ad9fb16a2511ff2e0e7d4528d399f06f608da:/test/confs/5890 diff --git a/test/confs/5890 b/test/confs/5890 index 6daf59667..ff5adb90f 100644 --- a/test/confs/5890 +++ b/test/confs/5890 @@ -13,13 +13,17 @@ domainlist local_domains = test.ex : *.test.ex acl_smtp_helo = check_helo acl_smtp_rcpt = check_recipient -log_selector = +received_recipients +tls_resumption +log_selector = +received_recipients +tls_resumption +tls_peerdn +outgoing_port tls_advertise_hosts = * +tls_on_connect_ports = PORT_D2 # Set certificate only if server -tls_certificate = ${if eq {SERVER}{server}{DIR/aux-fixed/cert1}fail} +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 @@ -30,18 +34,32 @@ tls_resumption_hosts = 127.0.0.1 begin acl check_helo: - accept condition = ${if def:tls_in_cipher} - logwrite = tls_in_resumption ${listextract {$tls_in_resumption} {_RESUME_DECODE}} + 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 + 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 ----- @@ -49,10 +67,9 @@ log_resumption: begin routers client: - driver = accept - condition = ${if eq {SERVER}{server}{no}{yes}} - retry_use_local_part - transport = send_to_server${if eq{$local_part}{abcd}{2}{1}} + driver = accept + condition = ${if eq {SERVER}{server}{no}{yes}} + transport = send_to_server${if eq{$local_part}{hostnotresume}{2}{1}} server: driver = redirect @@ -63,24 +80,40 @@ server: begin transports send_to_server1: - driver = smtp + driver = smtp allow_localhost - hosts = 127.0.0.1 - port = PORT_D - helo_data = helo.data.changed + 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 = * + tls_resumption_hosts = * .else - tls_resumption_hosts = : + tls_resumption_hosts = : .endif - event_action = ${acl {log_resumption}} + 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 + driver = smtp allow_localhost - hosts = HOSTIPV4 - port = PORT_D - event_action = ${acl {log_resumption}} + 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 -----