Lookups: fix $local_part_data for a match on a filename list element. Bug 2691
[users/heiko/exim.git] / test / stderr / 5410
index fe3ed4429cf82a23c0705138df9d0957d8f45f10..03876629ee05187ffee535d76df4ec65c52a3cb7 100644 (file)
@@ -1,43 +1,45 @@
 Exim version x.yz ....
 Exim version x.yz ....
+adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys
 configuration file is TESTSUITE/test-config
 admin user
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
 configuration file is TESTSUITE/test-config
 admin user
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
-considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
 expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
    result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  in dsn_advertise_hosts? no (option unset)
  in pipelining_advertise_hosts? yes (matched "*")
  in chunking_advertise_hosts? no (end of list)
  in tls_advertise_hosts? yes (matched "*")
  in dsn_advertise_hosts? no (option unset)
  in pipelining_advertise_hosts? yes (matched "*")
  in chunking_advertise_hosts? no (end of list)
  in tls_advertise_hosts? yes (matched "*")
-considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
-considering: SERVER}{server}{queue}{cutthrough}}
-  expanding: SERVER
-     result: SERVER
-considering: server}{queue}{cutthrough}}
-  expanding: server
-     result: server
 condition: eq {SERVER}{server}
    result: false
-   scanning: queue}{cutthrough}}
-  expanding: queue
-     result: queue
-   skipping: result is not used
-considering: cutthrough}}
-  expanding: cutthrough
-     result: cutthrough
 expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
    result: cutthrough
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+  ╭considering: SERVER}{server}{queue}{cutthrough}}
+  ├──expanding: SERVER
+  ╰─────result: SERVER
+  ╭considering: server}{queue}{cutthrough}}
+  ├──expanding: server
+  ╰─────result: server
├──condition: eq {SERVER}{server}
├─────result: false
+  ╭───scanning: queue}{cutthrough}}
+  ├──expanding: queue
+  ├─────result: queue
+  ╰───skipping: result is not used
+  ╭considering: cutthrough}}
+  ├──expanding: cutthrough
+  ╰─────result: cutthrough
├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
╰─────result: cutthrough
 using ACL "cutthrough"
 using ACL "cutthrough"
-processing "accept"
+processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
 check control = cutthrough_delivery
 check verify = recipient
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
-considering: $local_part
-  expanding: $local_part
-     result: userx
+ ╭considering: $local_part
+ ├──expanding: $local_part
+ ╰─────result: userx
+            ╰──(tainted)
 domain.com in "*"? yes (matched "*")
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
 domain.com in "*"? yes (matched "*")
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
@@ -45,209 +47,223 @@ end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
 ----------- start cutthrough setup ------------
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
-considering: $local_part
-  expanding: $local_part
-     result: userx
+ ╭considering: $local_part
+ ├──expanding: $local_part
+ ╰─────result: userx
+            ╰──(tainted)
 domain.com in "*"? yes (matched "*")
 domain.com in "*"? yes (matched "*")
-Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
-considering: $primary_hostname
 expanding: $primary_hostname
    result: myhost.test.ex
+Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ...  connected
+ ╭considering: $primary_hostname
├──expanding: $primary_hostname
╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
   SMTP>> EHLO myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
   SMTP>> EHLO myhost.test.ex
+cmd buf flush ddd bytes
   SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
          250-SIZE 52428800
          250-8BITMIME
          250-PIPELINING
          250-STARTTLS
          250 HELP
   SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
          250-SIZE 52428800
          250-8BITMIME
          250-PIPELINING
          250-STARTTLS
          250 HELP
-considering: ${if eq {$address_data}{usery}{*}{:}}
-considering: $address_data}{usery}{*}{:}}
-  expanding: $address_data
-     result: userx
-considering: usery}{*}{:}}
-  expanding: usery
-     result: usery
-  condition: eq {$address_data}{usery}
-     result: false
-   scanning: *}{:}}
-  expanding: *
-     result: *
-   skipping: result is not used
-considering: :}}
-  expanding: :
-     result: :
-  expanding: ${if eq {$address_data}{usery}{*}{:}}
-     result: :
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+  ╭considering: $address_data}{usery}{*}{:}}
+  ├──expanding: $address_data
+  ╰─────result: userx
+             ╰──(tainted)
+  ╭considering: usery}{*}{:}}
+  ├──expanding: usery
+  ╰─────result: usery
+ ├──condition: eq {$address_data}{usery}
+ ├─────result: false
+  ╭───scanning: *}{:}}
+  ├──expanding: *
+  ├─────result: *
+  ╰───skipping: result is not used
+  ╭considering: :}}
+  ├──expanding: :
+  ╰─────result: :
+ ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ ╰─────result: :
 127.0.0.1 in hosts_avoid_tls? no (end of list)
 127.0.0.1 in hosts_avoid_tls? no (end of list)
-considering: ${if eq {$address_data}{userz}{*}{:}}
-considering: $address_data}{userz}{*}{:}}
-  expanding: $address_data
-     result: userx
-considering: userz}{*}{:}}
-  expanding: userz
-     result: userz
-  condition: eq {$address_data}{userz}
-     result: false
-   scanning: *}{:}}
-  expanding: *
-     result: *
-   skipping: result is not used
-considering: :}}
-  expanding: :
-     result: :
-  expanding: ${if eq {$address_data}{userz}{*}{:}}
-     result: :
+ ╭considering: ${if eq {$address_data}{userz}{*}{:}}
+  ╭considering: $address_data}{userz}{*}{:}}
+  ├──expanding: $address_data
+  ╰─────result: userx
+             ╰──(tainted)
+  ╭considering: userz}{*}{:}}
+  ├──expanding: userz
+  ╰─────result: userz
+ ├──condition: eq {$address_data}{userz}
+ ├─────result: false
+  ╭───scanning: *}{:}}
+  ├──expanding: *
+  ├─────result: *
+  ╰───skipping: result is not used
+  ╭considering: :}}
+  ├──expanding: :
+  ╰─────result: :
+ ├──expanding: ${if eq {$address_data}{userz}{*}{:}}
+ ╰─────result: :
 127.0.0.1 in hosts_verify_avoid_tls? no (end of list)
   SMTP>> STARTTLS
 127.0.0.1 in hosts_verify_avoid_tls? no (end of list)
   SMTP>> STARTTLS
+cmd buf flush ddd bytes
   SMTP<< 220 TLS go ahead
   SMTP<< 220 TLS go ahead
-127.0.0.1 in hosts_require_ocsp? no (option unset)
-127.0.0.1 in hosts_request_ocsp? yes (matched "*")
 127.0.0.1 in tls_verify_hosts? no (option unset)
 127.0.0.1 in tls_verify_hosts? no (option unset)
-127.0.0.1 in tls_try_verify_hosts? no (end of list)
+127.0.0.1 in tls_try_verify_hosts? yes (matched "*")
   SMTP>> EHLO myhost.test.ex
   SMTP>> EHLO myhost.test.ex
+cmd buf flush ddd bytes
   SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
          250-SIZE 52428800
          250-8BITMIME
          250-PIPELINING
          250 HELP
   SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
          250-SIZE 52428800
          250-8BITMIME
          250-PIPELINING
          250 HELP
+127.0.0.1 in hosts_avoid_pipelining? no (option unset)
+using PIPELINING
+not using DSN
 127.0.0.1 in hosts_require_auth? no (option unset)
   SMTP>> MAIL FROM:<CALLER@myhost.test.ex>
 127.0.0.1 in hosts_require_auth? no (option unset)
   SMTP>> MAIL FROM:<CALLER@myhost.test.ex>
-  SMTP<< 250 OK
   SMTP>> RCPT TO:<userx@domain.com>
   SMTP>> RCPT TO:<userx@domain.com>
+cmd buf flush ddd bytes
+sync_responses expect mail
+  SMTP<< 250 OK
+sync_responses expect rcpt
   SMTP<< 250 Accepted
 holding verify callout open for cutthrough delivery
 ----------- end cutthrough setup ------------
   SMTP<< 250 Accepted
 holding verify callout open for cutthrough delivery
 ----------- end cutthrough setup ------------
-processing "accept"
+processing "accept" (TESTSUITE/test-config 57)
 accept: condition test succeeded in inline ACL
 end of inline ACL: ACCEPT
   SMTP>> DATA
   SMTP<< 354 Enter message, ending with "." on a line by itself
 accept: condition test succeeded in inline ACL
 end of inline ACL: ACCEPT
   SMTP>> DATA
   SMTP<< 354 Enter message, ending with "." on a line by itself
-considering: ${tod_full}
-  expanding: ${tod_full}
-     result: Tue, 2 Mar 1999 09:44:33 +0000
-considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  condition: def:sender_rcvhost
-     result: false
-   scanning: from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: from $sender_rcvhost
-       
-     result: from 
-       
-   skipping: result is not used
-considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  condition: def:sender_ident
-     result: true
-considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: $sender_ident
-     result: CALLER
-  expanding: from ${quote_local_part:$sender_ident} 
-     result: from CALLER 
-  condition: def:sender_helo_name
-     result: true
-considering: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: (helo=$sender_helo_name)
-       
-     result: (helo=myhost.test.ex)
-       
-  expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}
-     result: from CALLER (helo=myhost.test.ex)
-       
-  condition: def:received_protocol
-     result: true
-considering: with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: with $received_protocol
-     result: with local-esmtp
-  condition: def:tls_cipher
-     result: false
-   scanning: ($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: ($tls_cipher)
-       
-     result: ()
-       
-   skipping: result is not used
-  condition: def:sender_address
-     result: true
-considering: (envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: (envelope-from <$sender_address>)
-       
-     result: (envelope-from <CALLER@myhost.test.ex>)
-       
-  condition: def:received_for
-     result: true
-considering: 
-       for $received_for}}
-  expanding: 
-       for $received_for
-     result: 
-       for userx@domain.com
-  expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-     result: Received: from CALLER (helo=myhost.test.ex)
-       by myhost.test.ex with local-esmtp (Exim x.yz)
-       (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmaX-0005vi-00
-       for userx@domain.com
+ ╭considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├──condition: def:sender_rcvhost
+ ├─────result: false
+  ╭───scanning: from $sender_rcvhost
+       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding: from $sender_rcvhost
+       
+  ├─────result: from 
+       
+  ╰───skipping: result is not used
+  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──condition: def:sender_ident
+  ├─────result: true
+   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+   ╎ }}(Exim $version_number)
+   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
+   ╎ }}id $message_exim_id${if def:received_for {
+   ╎ for $received_for}}
+   ╎├──expanding: $sender_ident
+   ╎╰─────result: CALLER
+   ├──expanding: from ${quote_local_part:$sender_ident} 
+   ╰─────result: from CALLER 
+  ├──condition: def:sender_helo_name
+  ├─────result: true
+   ╭considering: (helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+   ├──expanding: (helo=$sender_helo_name)
+       
+   ╰─────result: (helo=myhost.test.ex)
+       
+              ╰──(tainted)
+  ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}
+  ╰─────result: from CALLER (helo=myhost.test.ex)
+       
+             ╰──(tainted)
+ ├──condition: def:received_protocol
+ ├─────result: true
+  ╭considering: with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding: with $received_protocol 
+  ╰─────result: with local-esmtp 
+ ├──condition: def:tls_in_ver
+ ├─────result: false
+  ╭───scanning:  ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding:  ($tls_in_ver)
+  ├─────result:  ()
+  ╰───skipping: result is not used
+ ├──condition: def:sender_address
+ ├─────result: true
+  ╭considering: (envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding: (envelope-from <$sender_address>)
+       
+  ╰─────result: (envelope-from <CALLER@myhost.test.ex>)
+       
+ ├──condition: def:received_for
+ ├─────result: true
+  ╭considering: 
+       for $received_for}}
+  ├──expanding: 
+       for $received_for
+  ╰─────result: 
+       for userx@domain.com
+             ╰──(tainted)
+ ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ╰─────result: Received: from CALLER (helo=myhost.test.ex)
+       by myhost.test.ex with local-esmtp (Exim x.yz)
+       (envelope-from <CALLER@myhost.test.ex>)
+       id 10HmaX-0005vi-00
+       for userx@domain.com
+            ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
-considering: ${tod_full}
 expanding: ${tod_full}
    result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: ${tod_full}
├──expanding: ${tod_full}
╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
   SMTP>> .
   SMTP<< 250 OK id=10HmaY-0005vi-00
 LOG: MAIN
   SMTP>> .
   SMTP<< 250 OK id=10HmaY-0005vi-00
 LOG: MAIN
-  >> userx@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] X=TLSv1:AES256-SHA:256 CV=no C="250 OK id=10HmaY-0005vi-00"
+  >> userx@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] X=TLS1.x:ke-RSA-AES256-SHAnnn:xxx CV=no C="250 OK id=10HmaY-0005vi-00"
   SMTP>> QUIT
   SMTP>> QUIT
+  SMTP<< 221 myhost.test.ex closing connection
+  SMTP(close)>>
 ----------- cutthrough shutdown (delivered) ------------
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
 ----------- cutthrough shutdown (delivered) ------------
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
@@ -255,47 +271,49 @@ LOG: MAIN
   Completed
 LOG: smtp_connection MAIN
   SMTP connection from CALLER closed by QUIT
   Completed
 LOG: smtp_connection MAIN
   SMTP connection from CALLER closed by QUIT
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 Exim version x.yz ....
+adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys
 configuration file is TESTSUITE/test-config
 admin user
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
 configuration file is TESTSUITE/test-config
 admin user
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
-considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
 expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
    result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  in dsn_advertise_hosts? no (option unset)
  in pipelining_advertise_hosts? yes (matched "*")
  in chunking_advertise_hosts? no (end of list)
  in tls_advertise_hosts? yes (matched "*")
  in dsn_advertise_hosts? no (option unset)
  in pipelining_advertise_hosts? yes (matched "*")
  in chunking_advertise_hosts? no (end of list)
  in tls_advertise_hosts? yes (matched "*")
-considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
-considering: SERVER}{server}{queue}{cutthrough}}
-  expanding: SERVER
-     result: SERVER
-considering: server}{queue}{cutthrough}}
-  expanding: server
-     result: server
 condition: eq {SERVER}{server}
    result: false
-   scanning: queue}{cutthrough}}
-  expanding: queue
-     result: queue
-   skipping: result is not used
-considering: cutthrough}}
-  expanding: cutthrough
-     result: cutthrough
 expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
    result: cutthrough
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+  ╭considering: SERVER}{server}{queue}{cutthrough}}
+  ├──expanding: SERVER
+  ╰─────result: SERVER
+  ╭considering: server}{queue}{cutthrough}}
+  ├──expanding: server
+  ╰─────result: server
├──condition: eq {SERVER}{server}
├─────result: false
+  ╭───scanning: queue}{cutthrough}}
+  ├──expanding: queue
+  ├─────result: queue
+  ╰───skipping: result is not used
+  ╭considering: cutthrough}}
+  ├──expanding: cutthrough
+  ╰─────result: cutthrough
├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
╰─────result: cutthrough
 using ACL "cutthrough"
 using ACL "cutthrough"
-processing "accept"
+processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
 check control = cutthrough_delivery
 check verify = recipient
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
-considering: $local_part
-  expanding: $local_part
-     result: usery
+ ╭considering: $local_part
+ ├──expanding: $local_part
+ ╰─────result: usery
+            ╰──(tainted)
 domain.com in "*"? yes (matched "*")
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
 domain.com in "*"? yes (matched "*")
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
@@ -303,178 +321,191 @@ end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
 ----------- start cutthrough setup ------------
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
-considering: $local_part
-  expanding: $local_part
-     result: usery
+ ╭considering: $local_part
+ ├──expanding: $local_part
+ ╰─────result: usery
+            ╰──(tainted)
 domain.com in "*"? yes (matched "*")
 domain.com in "*"? yes (matched "*")
-Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
-considering: $primary_hostname
 expanding: $primary_hostname
    result: myhost.test.ex
+Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ...  connected
+ ╭considering: $primary_hostname
├──expanding: $primary_hostname
╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
   SMTP>> EHLO myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
   SMTP>> EHLO myhost.test.ex
+cmd buf flush ddd bytes
   SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
          250-SIZE 52428800
          250-8BITMIME
          250-PIPELINING
          250-STARTTLS
          250 HELP
   SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
          250-SIZE 52428800
          250-8BITMIME
          250-PIPELINING
          250-STARTTLS
          250 HELP
-considering: ${if eq {$address_data}{usery}{*}{:}}
-considering: $address_data}{usery}{*}{:}}
-  expanding: $address_data
-     result: usery
-considering: usery}{*}{:}}
-  expanding: usery
-     result: usery
-  condition: eq {$address_data}{usery}
-     result: true
-considering: *}{:}}
-  expanding: *
-     result: *
-   scanning: :}}
-  expanding: :
-     result: :
-   skipping: result is not used
-  expanding: ${if eq {$address_data}{usery}{*}{:}}
-     result: *
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+  ╭considering: $address_data}{usery}{*}{:}}
+  ├──expanding: $address_data
+  ╰─────result: usery
+             ╰──(tainted)
+  ╭considering: usery}{*}{:}}
+  ├──expanding: usery
+  ╰─────result: usery
+ ├──condition: eq {$address_data}{usery}
+ ├─────result: true
+  ╭considering: *}{:}}
+  ├──expanding: *
+  ╰─────result: *
+  ╭───scanning: :}}
+  ├──expanding: :
+  ├─────result: :
+  ╰───skipping: result is not used
+ ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ ╰─────result: *
 127.0.0.1 in hosts_avoid_tls? yes (matched "*")
 127.0.0.1 in hosts_avoid_tls? yes (matched "*")
+127.0.0.1 in hosts_avoid_pipelining? no (option unset)
+using PIPELINING
+not using DSN
 127.0.0.1 in hosts_require_auth? no (option unset)
   SMTP>> MAIL FROM:<CALLER@myhost.test.ex>
 127.0.0.1 in hosts_require_auth? no (option unset)
   SMTP>> MAIL FROM:<CALLER@myhost.test.ex>
-  SMTP<< 250 OK
   SMTP>> RCPT TO:<usery@domain.com>
   SMTP>> RCPT TO:<usery@domain.com>
+cmd buf flush ddd bytes
+sync_responses expect mail
+  SMTP<< 250 OK
+sync_responses expect rcpt
   SMTP<< 250 Accepted
 holding verify callout open for cutthrough delivery
 ----------- end cutthrough setup ------------
   SMTP<< 250 Accepted
 holding verify callout open for cutthrough delivery
 ----------- end cutthrough setup ------------
-processing "accept"
+processing "accept" (TESTSUITE/test-config 57)
 accept: condition test succeeded in inline ACL
 end of inline ACL: ACCEPT
   SMTP>> DATA
   SMTP<< 354 Enter message, ending with "." on a line by itself
 accept: condition test succeeded in inline ACL
 end of inline ACL: ACCEPT
   SMTP>> DATA
   SMTP<< 354 Enter message, ending with "." on a line by itself
-considering: ${tod_full}
-  expanding: ${tod_full}
-     result: Tue, 2 Mar 1999 09:44:33 +0000
-considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  condition: def:sender_rcvhost
-     result: false
-   scanning: from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: from $sender_rcvhost
-       
-     result: from 
-       
-   skipping: result is not used
-considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  condition: def:sender_ident
-     result: true
-considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: $sender_ident
-     result: CALLER
-  expanding: from ${quote_local_part:$sender_ident} 
-     result: from CALLER 
-  condition: def:sender_helo_name
-     result: true
-considering: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: (helo=$sender_helo_name)
-       
-     result: (helo=myhost.test.ex)
-       
-  expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}
-     result: from CALLER (helo=myhost.test.ex)
-       
-  condition: def:received_protocol
-     result: true
-considering: with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: with $received_protocol
-     result: with local-esmtp
-  condition: def:tls_cipher
-     result: false
-   scanning: ($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: ($tls_cipher)
-       
-     result: ()
-       
-   skipping: result is not used
-  condition: def:sender_address
-     result: true
-considering: (envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: (envelope-from <$sender_address>)
-       
-     result: (envelope-from <CALLER@myhost.test.ex>)
-       
-  condition: def:received_for
-     result: true
-considering: 
-       for $received_for}}
-  expanding: 
-       for $received_for
-     result: 
-       for usery@domain.com
-  expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-     result: Received: from CALLER (helo=myhost.test.ex)
-       by myhost.test.ex with local-esmtp (Exim x.yz)
-       (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmaZ-0005vi-00
-       for usery@domain.com
+ ╭considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├──condition: def:sender_rcvhost
+ ├─────result: false
+  ╭───scanning: from $sender_rcvhost
+       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding: from $sender_rcvhost
+       
+  ├─────result: from 
+       
+  ╰───skipping: result is not used
+  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──condition: def:sender_ident
+  ├─────result: true
+   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+   ╎ }}(Exim $version_number)
+   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
+   ╎ }}id $message_exim_id${if def:received_for {
+   ╎ for $received_for}}
+   ╎├──expanding: $sender_ident
+   ╎╰─────result: CALLER
+   ├──expanding: from ${quote_local_part:$sender_ident} 
+   ╰─────result: from CALLER 
+  ├──condition: def:sender_helo_name
+  ├─────result: true
+   ╭considering: (helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+   ├──expanding: (helo=$sender_helo_name)
+       
+   ╰─────result: (helo=myhost.test.ex)
+       
+              ╰──(tainted)
+  ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}
+  ╰─────result: from CALLER (helo=myhost.test.ex)
+       
+             ╰──(tainted)
+ ├──condition: def:received_protocol
+ ├─────result: true
+  ╭considering: with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding: with $received_protocol 
+  ╰─────result: with local-esmtp 
+ ├──condition: def:tls_in_ver
+ ├─────result: false
+  ╭───scanning:  ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding:  ($tls_in_ver)
+  ├─────result:  ()
+  ╰───skipping: result is not used
+ ├──condition: def:sender_address
+ ├─────result: true
+  ╭considering: (envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding: (envelope-from <$sender_address>)
+       
+  ╰─────result: (envelope-from <CALLER@myhost.test.ex>)
+       
+ ├──condition: def:received_for
+ ├─────result: true
+  ╭considering: 
+       for $received_for}}
+  ├──expanding: 
+       for $received_for
+  ╰─────result: 
+       for usery@domain.com
+             ╰──(tainted)
+ ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ╰─────result: Received: from CALLER (helo=myhost.test.ex)
+       by myhost.test.ex with local-esmtp (Exim x.yz)
+       (envelope-from <CALLER@myhost.test.ex>)
+       id 10HmaZ-0005vi-00
+       for usery@domain.com
+            ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
-considering: ${tod_full}
 expanding: ${tod_full}
    result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: ${tod_full}
├──expanding: ${tod_full}
╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
   SMTP>> .
   SMTP<< 250 OK id=10HmbA-0005vi-00
 LOG: MAIN
   >> usery@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK id=10HmbA-0005vi-00"
   SMTP>> QUIT
   SMTP>> .
   SMTP<< 250 OK id=10HmbA-0005vi-00
 LOG: MAIN
   >> usery@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK id=10HmbA-0005vi-00"
   SMTP>> QUIT
+  SMTP<< 221 myhost.test.ex closing connection
+  SMTP(close)>>
 ----------- cutthrough shutdown (delivered) ------------
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
 ----------- cutthrough shutdown (delivered) ------------
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
@@ -482,47 +513,49 @@ LOG: MAIN
   Completed
 LOG: smtp_connection MAIN
   SMTP connection from CALLER closed by QUIT
   Completed
 LOG: smtp_connection MAIN
   SMTP connection from CALLER closed by QUIT
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 Exim version x.yz ....
+adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys
 configuration file is TESTSUITE/test-config
 admin user
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
 configuration file is TESTSUITE/test-config
 admin user
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
-considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
 expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
    result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  in dsn_advertise_hosts? no (option unset)
  in pipelining_advertise_hosts? yes (matched "*")
  in chunking_advertise_hosts? no (end of list)
  in tls_advertise_hosts? yes (matched "*")
  in dsn_advertise_hosts? no (option unset)
  in pipelining_advertise_hosts? yes (matched "*")
  in chunking_advertise_hosts? no (end of list)
  in tls_advertise_hosts? yes (matched "*")
-considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
-considering: SERVER}{server}{queue}{cutthrough}}
-  expanding: SERVER
-     result: SERVER
-considering: server}{queue}{cutthrough}}
-  expanding: server
-     result: server
 condition: eq {SERVER}{server}
    result: false
-   scanning: queue}{cutthrough}}
-  expanding: queue
-     result: queue
-   skipping: result is not used
-considering: cutthrough}}
-  expanding: cutthrough
-     result: cutthrough
 expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
    result: cutthrough
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+  ╭considering: SERVER}{server}{queue}{cutthrough}}
+  ├──expanding: SERVER
+  ╰─────result: SERVER
+  ╭considering: server}{queue}{cutthrough}}
+  ├──expanding: server
+  ╰─────result: server
├──condition: eq {SERVER}{server}
├─────result: false
+  ╭───scanning: queue}{cutthrough}}
+  ├──expanding: queue
+  ├─────result: queue
+  ╰───skipping: result is not used
+  ╭considering: cutthrough}}
+  ├──expanding: cutthrough
+  ╰─────result: cutthrough
├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
╰─────result: cutthrough
 using ACL "cutthrough"
 using ACL "cutthrough"
-processing "accept"
+processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
 check control = cutthrough_delivery
 check verify = recipient
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
-considering: $local_part
-  expanding: $local_part
-     result: usery
+ ╭considering: $local_part
+ ├──expanding: $local_part
+ ╰─────result: usery
+            ╰──(tainted)
 domain.com in "*"? yes (matched "*")
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
 domain.com in "*"? yes (matched "*")
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
@@ -530,178 +563,191 @@ end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
 ----------- start cutthrough setup ------------
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
-considering: $local_part
-  expanding: $local_part
-     result: usery
+ ╭considering: $local_part
+ ├──expanding: $local_part
+ ╰─────result: usery
+            ╰──(tainted)
 domain.com in "*"? yes (matched "*")
 domain.com in "*"? yes (matched "*")
-Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
-considering: $primary_hostname
 expanding: $primary_hostname
    result: myhost.test.ex
+Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ...  connected
+ ╭considering: $primary_hostname
├──expanding: $primary_hostname
╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
   SMTP>> EHLO myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
   SMTP>> EHLO myhost.test.ex
+cmd buf flush ddd bytes
   SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
          250-SIZE 52428800
          250-8BITMIME
          250-PIPELINING
          250-STARTTLS
          250 HELP
   SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
          250-SIZE 52428800
          250-8BITMIME
          250-PIPELINING
          250-STARTTLS
          250 HELP
-considering: ${if eq {$address_data}{usery}{*}{:}}
-considering: $address_data}{usery}{*}{:}}
-  expanding: $address_data
-     result: usery
-considering: usery}{*}{:}}
-  expanding: usery
-     result: usery
-  condition: eq {$address_data}{usery}
-     result: true
-considering: *}{:}}
-  expanding: *
-     result: *
-   scanning: :}}
-  expanding: :
-     result: :
-   skipping: result is not used
-  expanding: ${if eq {$address_data}{usery}{*}{:}}
-     result: *
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+  ╭considering: $address_data}{usery}{*}{:}}
+  ├──expanding: $address_data
+  ╰─────result: usery
+             ╰──(tainted)
+  ╭considering: usery}{*}{:}}
+  ├──expanding: usery
+  ╰─────result: usery
+ ├──condition: eq {$address_data}{usery}
+ ├─────result: true
+  ╭considering: *}{:}}
+  ├──expanding: *
+  ╰─────result: *
+  ╭───scanning: :}}
+  ├──expanding: :
+  ├─────result: :
+  ╰───skipping: result is not used
+ ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ ╰─────result: *
 127.0.0.1 in hosts_avoid_tls? yes (matched "*")
 127.0.0.1 in hosts_avoid_tls? yes (matched "*")
+127.0.0.1 in hosts_avoid_pipelining? no (option unset)
+using PIPELINING
+not using DSN
 127.0.0.1 in hosts_require_auth? no (option unset)
   SMTP>> MAIL FROM:<CALLER@myhost.test.ex>
 127.0.0.1 in hosts_require_auth? no (option unset)
   SMTP>> MAIL FROM:<CALLER@myhost.test.ex>
-  SMTP<< 250 OK
   SMTP>> RCPT TO:<usery@domain.com>
   SMTP>> RCPT TO:<usery@domain.com>
+cmd buf flush ddd bytes
+sync_responses expect mail
+  SMTP<< 250 OK
+sync_responses expect rcpt
   SMTP<< 250 Accepted
 holding verify callout open for cutthrough delivery
 ----------- end cutthrough setup ------------
   SMTP<< 250 Accepted
 holding verify callout open for cutthrough delivery
 ----------- end cutthrough setup ------------
-processing "accept"
+processing "accept" (TESTSUITE/test-config 57)
 accept: condition test succeeded in inline ACL
 end of inline ACL: ACCEPT
   SMTP>> DATA
   SMTP<< 354 Enter message, ending with "." on a line by itself
 accept: condition test succeeded in inline ACL
 end of inline ACL: ACCEPT
   SMTP>> DATA
   SMTP<< 354 Enter message, ending with "." on a line by itself
-considering: ${tod_full}
-  expanding: ${tod_full}
-     result: Tue, 2 Mar 1999 09:44:33 +0000
-considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  condition: def:sender_rcvhost
-     result: false
-   scanning: from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: from $sender_rcvhost
-       
-     result: from 
-       
-   skipping: result is not used
-considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  condition: def:sender_ident
-     result: true
-considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: $sender_ident
-     result: CALLER
-  expanding: from ${quote_local_part:$sender_ident} 
-     result: from CALLER 
-  condition: def:sender_helo_name
-     result: true
-considering: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: (helo=$sender_helo_name)
-       
-     result: (helo=myhost.test.ex)
-       
-  expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}
-     result: from CALLER (helo=myhost.test.ex)
-       
-  condition: def:received_protocol
-     result: true
-considering: with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: with $received_protocol
-     result: with local-esmtp
-  condition: def:tls_cipher
-     result: false
-   scanning: ($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: ($tls_cipher)
-       
-     result: ()
-       
-   skipping: result is not used
-  condition: def:sender_address
-     result: true
-considering: (envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  expanding: (envelope-from <$sender_address>)
-       
-     result: (envelope-from <CALLER@myhost.test.ex>)
-       
-  condition: def:received_for
-     result: true
-considering: 
-       for $received_for}}
-  expanding: 
-       for $received_for
-     result: 
-       for usery@domain.com
-  expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-     result: Received: from CALLER (helo=myhost.test.ex)
-       by myhost.test.ex with local-esmtp (Exim x.yz)
-       (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmbB-0005vi-00
-       for usery@domain.com
+ ╭considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├──condition: def:sender_rcvhost
+ ├─────result: false
+  ╭───scanning: from $sender_rcvhost
+       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding: from $sender_rcvhost
+       
+  ├─────result: from 
+       
+  ╰───skipping: result is not used
+  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──condition: def:sender_ident
+  ├─────result: true
+   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+   ╎ }}(Exim $version_number)
+   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
+   ╎ }}id $message_exim_id${if def:received_for {
+   ╎ for $received_for}}
+   ╎├──expanding: $sender_ident
+   ╎╰─────result: CALLER
+   ├──expanding: from ${quote_local_part:$sender_ident} 
+   ╰─────result: from CALLER 
+  ├──condition: def:sender_helo_name
+  ├─────result: true
+   ╭considering: (helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+   ├──expanding: (helo=$sender_helo_name)
+       
+   ╰─────result: (helo=myhost.test.ex)
+       
+              ╰──(tainted)
+  ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}
+  ╰─────result: from CALLER (helo=myhost.test.ex)
+       
+             ╰──(tainted)
+ ├──condition: def:received_protocol
+ ├─────result: true
+  ╭considering: with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding: with $received_protocol 
+  ╰─────result: with local-esmtp 
+ ├──condition: def:tls_in_ver
+ ├─────result: false
+  ╭───scanning:  ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding:  ($tls_in_ver)
+  ├─────result:  ()
+  ╰───skipping: result is not used
+ ├──condition: def:sender_address
+ ├─────result: true
+  ╭considering: (envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding: (envelope-from <$sender_address>)
+       
+  ╰─────result: (envelope-from <CALLER@myhost.test.ex>)
+       
+ ├──condition: def:received_for
+ ├─────result: true
+  ╭considering: 
+       for $received_for}}
+  ├──expanding: 
+       for $received_for
+  ╰─────result: 
+       for usery@domain.com
+             ╰──(tainted)
+ ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ╰─────result: Received: from CALLER (helo=myhost.test.ex)
+       by myhost.test.ex with local-esmtp (Exim x.yz)
+       (envelope-from <CALLER@myhost.test.ex>)
+       id 10HmbB-0005vi-00
+       for usery@domain.com
+            ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
-considering: ${tod_full}
 expanding: ${tod_full}
    result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: ${tod_full}
├──expanding: ${tod_full}
╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
   SMTP>> .
   SMTP<< 250 OK id=10HmbC-0005vi-00
 LOG: MAIN
   >> usery@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK id=10HmbC-0005vi-00"
   SMTP>> QUIT
   SMTP>> .
   SMTP<< 250 OK id=10HmbC-0005vi-00
 LOG: MAIN
   >> usery@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK id=10HmbC-0005vi-00"
   SMTP>> QUIT
+  SMTP<< 221 myhost.test.ex closing connection
+  SMTP(close)>>
 ----------- cutthrough shutdown (delivered) ------------
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
 ----------- cutthrough shutdown (delivered) ------------
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
@@ -709,6 +755,6 @@ LOG: MAIN
   Completed
 LOG: smtp_connection MAIN
   SMTP connection from CALLER closed by QUIT
   Completed
 LOG: smtp_connection MAIN
   SMTP connection from CALLER closed by QUIT
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 
 ******** SERVER ********
 
 ******** SERVER ********