Taint: reject or log more tainted list metadata elements
[exim.git] / test / confs / 5892
index 4e6883fc2cccf839834369b663b43fc05f2f38ee..77b5c9052f8b079d9789b76fcc4ccda3a256f938 100644 (file)
@@ -13,10 +13,15 @@ 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
+log_selector = +received_recipients +tls_resumption +tls_peerdn +outgoing_port
 
+.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 = *
+tls_on_connect_ports = PORT_D2
 
 # Set certificate only if server
 
@@ -26,6 +31,7 @@ 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
+remote_max_parallel = 1
 
 
 # ------ ACL ------
@@ -33,30 +39,32 @@ tls_resumption_hosts = 127.0.0.1
 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 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}
+        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 -----
@@ -66,7 +74,7 @@ begin routers
 client:
   driver =     accept
   condition =  ${if eq {SERVER}{server}{no}{yes}}
-  transport =  send_to_server${if eq{$local_part}{abcd}{2}{1}}
+  transport =  send_to_server${if eq{$local_part}{hostnotresume}{2}{1}}
 
 server:
   driver = redirect
@@ -80,8 +88,18 @@ 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
@@ -90,17 +108,21 @@ send_to_server1:
   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
+  driver =                     smtp
   allow_localhost
-  hosts = HOSTIPV4
-  port = PORT_D
-  hosts_try_fastopen = :
+  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 -----