Debug: option access for expansion
[exim.git] / test / stderr / 5420
index d22abaf3b78f3baca10bd093fca4352d9586c017..3e535861ce8c5afbe3d081008f6576e8469f77da 100644 (file)
 Exim version x.yz ....
 Exim version x.yz ....
+environment after trimming:
+ PATH=<munged>
+adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys
 configuration file is TESTSUITE/test-config
 admin user
 configuration file is TESTSUITE/test-config
 admin user
+try option gecos_pattern
+try option gecos_name
+try option unknown_login
+try option smtp_active_hostname
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
  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
+try option message_size_limit
+try option acl_smtp_connect
+try option smtp_banner
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├──────value: myhost.test.ex
+ ├considering:  ESMTP Exim $version_number $tod_full
+ ├───────text:  ESMTP Exim 
+ ├considering: $version_number $tod_full
+ ├──────value: x.yz
+ ├considering:  $tod_full
+ ├───────text:  
+ ├considering: $tod_full
+ ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
  ├──expanding: $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
+ ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ list element: *
+  in limits_advertise_hosts? yes (matched "*")
+try option spf_smtp_comment_template
+try option acl_smtp_helo
  in dsn_advertise_hosts? no (option unset)
  in dsn_advertise_hosts? no (option unset)
- in pipelining_advertise_hosts? yes (matched "*")
+try option acl_smtp_etrn
+try option acl_smtp_vrfy
+try option acl_smtp_expn
+ in pipelining_advertise_hosts?
+ list element: *
+  in pipelining_advertise_hosts? yes (matched "*")
+ in chunking_advertise_hosts?
  in chunking_advertise_hosts? no (end of list)
  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}}
+ list element: *
+  in tls_advertise_hosts? yes (matched "*")
+try option acl_smtp_mail
+try option acl_smtp_rcpt
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+  ╭considering: SERVER}{server}{queue}{cutthrough}}
+  ├───────text: SERVER
+  ├considering: }{server}{queue}{cutthrough}}
   ├──expanding: SERVER
   ├──expanding: SERVER
-  └─────result: SERVER
-  ┌considering: server}{queue}{cutthrough}}
+  ╰─────result: SERVER
+  ╭considering: server}{queue}{cutthrough}}
+  ├───────text: server
+  ├considering: }{queue}{cutthrough}}
   ├──expanding: server
   ├──expanding: server
-  â\94\94─────result: server
+  â\95°─────result: server
  ├──condition: eq {SERVER}{server}
  ├─────result: false
  ├──condition: eq {SERVER}{server}
  ├─────result: false
-  ┌───scanning: queue}{cutthrough}}
+  ╭───scanning: queue}{cutthrough}}
+  ├───────text: queue
+  ├───scanning: }{cutthrough}}
   ├──expanding: queue
   ├─────result: queue
   ├──expanding: queue
   ├─────result: queue
-  └───skipping: result is not used
-  ┌considering: cutthrough}}
+  ╰───skipping: result is not used
+  ╭considering: cutthrough}}
+  ├───────text: cutthrough
+  ├considering: }}
   ├──expanding: cutthrough
   ├──expanding: cutthrough
-  â\94\94─────result: cutthrough
+  â\95°─────result: cutthrough
  ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
  ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- â\94\94─────result: cutthrough
+ â\95°─────result: cutthrough
 using ACL "cutthrough"
 using ACL "cutthrough"
-processing "accept"
+processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
 check control = cutthrough_delivery
 check verify = recipient
-domain.com in "test.ex : *.test.ex"? no (end of list)
+domain.com in "! +local_domains"?
+ list element: ! +local_domains
+  start sublist local_domains
+   domain.com in "test.ex : *.test.ex"?
+   ╎list element: test.ex
+   ╎list element: *.test.ex
+   domain.com in "test.ex : *.test.ex"? no (end of list)
+  end sublist local_domains
 domain.com in "! +local_domains"? yes (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+try option router_home_directory
+try option set
+processing address_data
+ ╭considering: $local_part
+ ├──────value: userx
+            ╰──(tainted)
  ├──expanding: $local_part
  ├──expanding: $local_part
- └─────result: userx
-domain.com in "*"? yes (matched "*")
+ ╰─────result: userx
+            ╰──(tainted)
+domain.com in "*"?
+ list element: *
+ domain.com in "*"? yes (matched "*")
+try option transport
+try option unseen
+try option unseen
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
 end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
 end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
-domain.com in "test.ex : *.test.ex"? no (end of list)
+domain.com in "! +local_domains"?
+ list element: ! +local_domains
+  start sublist local_domains
+   domain.com in "test.ex : *.test.ex"?
+   ╎list element: test.ex
+   ╎list element: *.test.ex
+   domain.com in "test.ex : *.test.ex"? no (end of list)
+  end sublist local_domains
 domain.com in "! +local_domains"? yes (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+try option router_home_directory
+try option set
+processing address_data
+ ╭considering: $local_part
+ ├──────value: userx
+            ╰──(tainted)
  ├──expanding: $local_part
  ├──expanding: $local_part
- └─────result: userx
-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
+ ╰─────result: userx
+            ╰──(tainted)
+domain.com in "*"?
+ list element: *
+ domain.com in "*"? yes (matched "*")
+try option transport
+try option unseen
+try option unseen
+try option interface
+Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option dscp
+127.0.0.1 in hosts_try_fastopen?
+ list element: 
+ connected
+try option helo_data
+ ╭considering: $primary_hostname
+ ├──────value: myhost.test.ex
  ├──expanding: $primary_hostname
  ├──expanding: $primary_hostname
- â\94\94─────result: myhost.test.ex
+ â\95°─────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
 cmd buf flush ddd bytes
   SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
          250-SIZE 52428800
   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-LIMITS MAILMAX=1000 RCPTMAX=50000
          250-8BITMIME
          250-PIPELINING
          250-STARTTLS
          250 HELP
          250-8BITMIME
          250-PIPELINING
          250-STARTTLS
          250 HELP
- ┌considering: ${if eq {$address_data}{usery}{*}{:}}
-  ┌considering: $address_data}{usery}{*}{:}}
+try option host_name_extract
+ ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──────value: 127.0.0.1
+  ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──expanding: $host
+  ╰─────result: 127.0.0.1
+  ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├───────text: .outlook.com
+  ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├backslashed: '\$'
+  ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──expanding: .outlook.com\$
+  ╰─────result: .outlook.com$
+  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──────value: 
+  ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──expanding: $item
+  ├─────result: 
+  ╰───skipping: result is not used
+  ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+  ├──protected: ^250-([\w.]+)\s
+  ├───scanning: }}} {$1}}
+  ├──expanding: \N^250-([\w.]+)\s\N
+  ├─────result: ^250-([\w.]+)\s
+  ╰───skipping: result is not used
+ ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├─────result: false
+  ╭───scanning: $1}}
+  ├───scanning: }}
+  ├──expanding: $1
+  ├─────result: 
+  ╰───skipping: result is not used
+ ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╰─────result: 
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+  ╭considering: $address_data}{usery}{*}{:}}
+  ├──────value: userx
+             ╰──(tainted)
+  ├considering: }{usery}{*}{:}}
   ├──expanding: $address_data
   ├──expanding: $address_data
-  └─────result: userx
-  ┌considering: usery}{*}{:}}
+  ╰─────result: userx
+             ╰──(tainted)
+  ╭considering: usery}{*}{:}}
+  ├───────text: usery
+  ├considering: }{*}{:}}
   ├──expanding: usery
   ├──expanding: usery
-  â\94\94─────result: usery
+  â\95°─────result: usery
  ├──condition: eq {$address_data}{usery}
  ├─────result: false
  ├──condition: eq {$address_data}{usery}
  ├─────result: false
-  ┌───scanning: *}{:}}
+  ╭───scanning: *}{:}}
+  ├───────text: *
+  ├───scanning: }{:}}
   ├──expanding: *
   ├─────result: *
   ├──expanding: *
   ├─────result: *
-  └───skipping: result is not used
-  ┌considering: :}}
+  ╰───skipping: result is not used
+  ╭considering: :}}
+  ├───────text: :
+  ├considering: }}
   ├──expanding: :
   ├──expanding: :
-  â\94\94─────result: :
+  â\95°─────result: :
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
- └─────result: :
+ ╰─────result: :
+127.0.0.1 in hosts_avoid_tls?
+ list element: 
 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}{*}{:}}
+ ╭considering: ${if eq {$address_data}{userz}{*}{:}}
+  ╭considering: $address_data}{userz}{*}{:}}
+  ├──────value: userx
+             ╰──(tainted)
+  ├considering: }{userz}{*}{:}}
   ├──expanding: $address_data
   ├──expanding: $address_data
-  └─────result: userx
-  ┌considering: userz}{*}{:}}
+  ╰─────result: userx
+             ╰──(tainted)
+  ╭considering: userz}{*}{:}}
+  ├───────text: userz
+  ├considering: }{*}{:}}
   ├──expanding: userz
   ├──expanding: userz
-  â\94\94─────result: userz
+  â\95°─────result: userz
  ├──condition: eq {$address_data}{userz}
  ├─────result: false
  ├──condition: eq {$address_data}{userz}
  ├─────result: false
-  ┌───scanning: *}{:}}
+  ╭───scanning: *}{:}}
+  ├───────text: *
+  ├───scanning: }{:}}
   ├──expanding: *
   ├─────result: *
   ├──expanding: *
   ├─────result: *
-  └───skipping: result is not used
-  ┌considering: :}}
+  ╰───skipping: result is not used
+  ╭considering: :}}
+  ├───────text: :
+  ├considering: }}
   ├──expanding: :
   ├──expanding: :
-  â\94\94─────result: :
+  â\95°─────result: :
  ├──expanding: ${if eq {$address_data}{userz}{*}{:}}
  ├──expanding: ${if eq {$address_data}{userz}{*}{:}}
- └─────result: :
+ ╰─────result: :
+127.0.0.1 in hosts_verify_avoid_tls?
+ list element: 
 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
 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
+ list element: *
 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? yes (matched "*")
-127.0.0.1 in tls_verify_cert_hostnames? yes (matched "*")
+127.0.0.1 in tls_try_verify_hosts?
+ list element: *
+ 127.0.0.1 in tls_try_verify_hosts? yes (matched "*")
+127.0.0.1 in tls_verify_cert_hostnames?
+ list element: *
+ 127.0.0.1 in tls_verify_cert_hostnames? yes (matched "*")
   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
   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-LIMITS MAILMAX=1000 RCPTMAX=50000
          250-8BITMIME
          250-PIPELINING
          250 HELP
          250-8BITMIME
          250-PIPELINING
          250 HELP
@@ -118,32 +266,73 @@ cmd buf flush ddd bytes
 using PIPELINING
 not using DSN
 127.0.0.1 in hosts_require_auth? 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>
+try option authenticated_sender
+  SMTP|> MAIL FROM:<CALLER@myhost.test.ex>
   SMTP>> RCPT TO:<userx@domain.com>
 cmd buf flush ddd bytes
   SMTP>> RCPT TO:<userx@domain.com>
 cmd buf flush ddd bytes
+sync_responses expect mail
   SMTP<< 250 OK
   SMTP<< 250 OK
+sync_responses expect rcpt for userx@domain.com
   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"
+try option acl_smtp_predata
+processing "accept" (TESTSUITE/test-config 55)
 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}
+try option message_id_header_domain
+try option message_id_header_text
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+try option received_header_text
+ ╭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}}
+ ├───────text: Received: 
+ ├considering: ${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)
        }{${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    }}(Exim $version_number)
+       }}}}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
        ${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
+  ╭───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}}
+  ├───────text: from 
+  ├───scanning: $sender_rcvhost
        }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }{${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    }}(Exim $version_number)
+       }}}}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}}
+  ├──────value: 
+  ├───scanning: 
+       }{${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}}
+  ├───────text: 
+       
+  ├───scanning: }{${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}}
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
@@ -151,225 +340,611 @@ end of inline ACL: ACCEPT
        
   ├─────result: from 
        
        
   ├─────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    }}(Exim $version_number)
+  ╰───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
        ${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    }}(Exim $version_number)
+   ╭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}}
        ${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   ╎      }}(Exim $version_number)
+   ├───────text: from 
+   ├considering: ${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}}
+   ╎├──────value: CALLER
+   ╎├considering: } }}${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
    ╎ ${if def:sender_address {(envelope-from <$sender_address>)
    ╎ }}id $message_exim_id${if def:received_for {
    ╎ for $received_for}}
    ╎├──expanding: $sender_ident
-   ╎└─────result: CALLER
+   ╎╰─────result: CALLER
+   ├─────op-res: CALLER
+   ├considering:  }}${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}}
+   ├───────text:  
+   ├considering: }}${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 ${quote_local_part:$sender_ident} 
    ├──expanding: from ${quote_local_part:$sender_ident} 
-   └─────result: from CALLER 
+   ╰─────result: from CALLER 
+  ├───item-res: from CALLER 
+  ├considering: ${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_helo_name
   ├─────result: true
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ┌considering: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol    }}(Exim $version_number)
+   ╭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}}
+   ├───────text: (helo=
+   ├considering: $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}}
+   ├──────value: myhost.test.ex
+              ╰──(tainted)
+   ├considering: )
+       }}}}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}}
+   ├───────text: )
+       
+   ├considering: }}}}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)
        
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
    ├──expanding: (helo=$sender_helo_name)
        
-   â\94\94─────result: (helo=myhost.test.ex)
+   â\95°─────result: (helo=myhost.test.ex)
        
        
+              ╰──(tainted)
+  ├───item-res: (helo=myhost.test.ex)
+       
+             ╰──(tainted)
+  ├considering: }}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: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }}
   ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }}
-  â\94\94─────result: from CALLER (helo=myhost.test.ex)
+  â\95°─────result: from CALLER (helo=myhost.test.ex)
        
        
+             ╰──(tainted)
+ ├───item-res: from CALLER (helo=myhost.test.ex)
+       
+            ╰──(tainted)
+ ├considering: 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}}
+ ├───────text: by 
+ ├considering: $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}}
+ ├──────value: myhost.test.ex
+ ├considering:  ${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}}
+ ├───────text:  
+ ├considering: ${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:received_protocol
  ├─────result: true
  ├──condition: def:received_protocol
  ├─────result: true
-  ┌considering: with $received_protocol      }}(Exim $version_number)
+  ╭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}}
        ${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
+  ├───────text: with 
+  ├considering: $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}}
+  ├──────value: local-esmtp
+  ├considering:  }}${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}}
+  ├───────text:  
+  ├considering: }}${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 
+ ├───item-res: with local-esmtp 
+            ╰──(tainted)
+ ├considering: ${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}}
+       ${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
+ ├───item-res: 
+            ╰──(tainted)
+ ├considering: ${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:tls_in_cipher_std
  ├─────result: false
  ├─────result: false
-  ┌───scanning: ($tls_cipher)
+  ╭───scanning:  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}}
+  ├───────text:  tls 
+  ├───scanning: $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}}
+  ├──────value: 
+  ├───scanning: 
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
        }}(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)
+  ├───────text: 
+       
+  ├───scanning: }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding:  tls $tls_in_cipher_std
        
        
-  ├─────result: ()
+  ├─────result:  tls 
        
        
-  └───skipping: result is not used
+  ╰───skipping: result is not used
+ ├───item-res: 
+            ╰──(tainted)
+ ├considering: (Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├───────text: (Exim 
+ ├considering: $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├──────value: x.yz
+ ├considering: )
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├───────text: )
+       
+ ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
  ├──condition: def:sender_address
  ├─────result: true
  ├──condition: def:sender_address
  ├─────result: true
-  â\94\8cconsidering: (envelope-from <$sender_address>)
+  â\95­considering: (envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
+  ├───────text: (envelope-from <
+  ├considering: $sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──────value: CALLER@myhost.test.ex
+  ├considering: >)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├───────text: >)
+       
+  ├considering: }}id $message_exim_id${if def:received_for {
+       for $received_for}}
   ├──expanding: (envelope-from <$sender_address>)
        
   ├──expanding: (envelope-from <$sender_address>)
        
-  â\94\94─────result: (envelope-from <CALLER@myhost.test.ex>)
+  â\95°─────result: (envelope-from <CALLER@myhost.test.ex>)
        
        
+ ├───item-res: (envelope-from <CALLER@myhost.test.ex>)
+       
+            ╰──(tainted)
+ ├considering: id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├───────text: id 
+ ├considering: $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├──────value: 10HmaX-000000005vi-0000
+ ├considering: ${if def:received_for {
+       for $received_for}}
  ├──condition: def:received_for
  ├─────result: true
  ├──condition: def:received_for
  ├─────result: true
-  â\94\8cconsidering: 
+  â\95­considering: 
        for $received_for}}
        for $received_for}}
+  ├───────text: 
+       for 
+  ├considering: $received_for}}
+  ├──────value: userx@domain.com
+             ╰──(tainted)
+  ├considering: }}
   ├──expanding: 
        for $received_for
   ├──expanding: 
        for $received_for
-  â\94\94─────result: 
+  â\95°─────result: 
        for userx@domain.com
        for userx@domain.com
+             ╰──(tainted)
+ ├───item-res: 
+       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)
  ├──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    }}(Exim $version_number)
+       }}}}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}}
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
- â\94\94─────result: Received: from CALLER (helo=myhost.test.ex)
+ â\95°─────result: Received: from CALLER (helo=myhost.test.ex)
        by myhost.test.ex with local-esmtp (Exim x.yz)
        (envelope-from <CALLER@myhost.test.ex>)
        by myhost.test.ex with local-esmtp (Exim x.yz)
        (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmaX-0005vi-00
+       id 10HmaX-000000005vi-0000
        for userx@domain.com
        for userx@domain.com
+            ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
- ┌considering: ${tod_full}
+try option acl_smtp_dkim
+try option acl_smtp_mime
+try option acl_smtp_data
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
  ├──expanding: ${tod_full}
- â\94\94─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ â\95°─────result: Tue, 2 Mar 1999 09:44:33 +0000
   SMTP>> .
   SMTP>> .
-  SMTP<< 250 OK id=10HmaY-0005vi-00
+  SMTP<< 250 OK id=10HmaY-000000005vi-0000
 LOG: MAIN
 LOG: MAIN
-  >> userx@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn: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-000000005vi-0000"
   SMTP>> QUIT
   SMTP<< 221 myhost.test.ex closing connection
   SMTP(close)>>
   SMTP>> QUIT
   SMTP<< 221 myhost.test.ex closing connection
   SMTP(close)>>
+cmdlog: '220:EHLO:250-:STARTTLS:220:EHLO:250-:MAIL|:RCPT:250:250:DATA:354:250:QUIT:221'
 ----------- cutthrough shutdown (delivered) ------------
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
 LOG: MAIN
   Completed
 ----------- cutthrough shutdown (delivered) ------------
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
 LOG: MAIN
   Completed
+try option acl_smtp_quit
 LOG: smtp_connection MAIN
 LOG: smtp_connection MAIN
-  SMTP connection from CALLER closed by QUIT
->>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>>
+  SMTP connection from CALLER D=qqs closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 Exim version x.yz ....
+environment after trimming:
+ PATH=<munged>
+adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys
 configuration file is TESTSUITE/test-config
 admin user
 configuration file is TESTSUITE/test-config
 admin user
+try option gecos_pattern
+try option gecos_name
+try option unknown_login
+try option smtp_active_hostname
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
  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
+try option message_size_limit
+try option acl_smtp_connect
+try option smtp_banner
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├──────value: myhost.test.ex
+ ├considering:  ESMTP Exim $version_number $tod_full
+ ├───────text:  ESMTP Exim 
+ ├considering: $version_number $tod_full
+ ├──────value: x.yz
+ ├considering:  $tod_full
+ ├───────text:  
+ ├considering: $tod_full
+ ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
  ├──expanding: $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
+ ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ list element: *
+  in limits_advertise_hosts? yes (matched "*")
+try option spf_smtp_comment_template
+try option acl_smtp_helo
  in dsn_advertise_hosts? no (option unset)
  in dsn_advertise_hosts? no (option unset)
- in pipelining_advertise_hosts? yes (matched "*")
+try option acl_smtp_etrn
+try option acl_smtp_vrfy
+try option acl_smtp_expn
+ in pipelining_advertise_hosts?
+ list element: *
+  in pipelining_advertise_hosts? yes (matched "*")
+ in chunking_advertise_hosts?
  in chunking_advertise_hosts? no (end of list)
  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}}
+ list element: *
+  in tls_advertise_hosts? yes (matched "*")
+try option acl_smtp_mail
+try option acl_smtp_rcpt
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+  ╭considering: SERVER}{server}{queue}{cutthrough}}
+  ├───────text: SERVER
+  ├considering: }{server}{queue}{cutthrough}}
   ├──expanding: SERVER
   ├──expanding: SERVER
-  └─────result: SERVER
-  ┌considering: server}{queue}{cutthrough}}
+  ╰─────result: SERVER
+  ╭considering: server}{queue}{cutthrough}}
+  ├───────text: server
+  ├considering: }{queue}{cutthrough}}
   ├──expanding: server
   ├──expanding: server
-  â\94\94─────result: server
+  â\95°─────result: server
  ├──condition: eq {SERVER}{server}
  ├─────result: false
  ├──condition: eq {SERVER}{server}
  ├─────result: false
-  ┌───scanning: queue}{cutthrough}}
+  ╭───scanning: queue}{cutthrough}}
+  ├───────text: queue
+  ├───scanning: }{cutthrough}}
   ├──expanding: queue
   ├─────result: queue
   ├──expanding: queue
   ├─────result: queue
-  └───skipping: result is not used
-  ┌considering: cutthrough}}
+  ╰───skipping: result is not used
+  ╭considering: cutthrough}}
+  ├───────text: cutthrough
+  ├considering: }}
   ├──expanding: cutthrough
   ├──expanding: cutthrough
-  â\94\94─────result: cutthrough
+  â\95°─────result: cutthrough
  ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
  ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- â\94\94─────result: cutthrough
+ â\95°─────result: cutthrough
 using ACL "cutthrough"
 using ACL "cutthrough"
-processing "accept"
+processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
 check control = cutthrough_delivery
 check verify = recipient
-domain.com in "test.ex : *.test.ex"? no (end of list)
+domain.com in "! +local_domains"?
+ list element: ! +local_domains
+  start sublist local_domains
+   domain.com in "test.ex : *.test.ex"?
+   ╎list element: test.ex
+   ╎list element: *.test.ex
+   domain.com in "test.ex : *.test.ex"? no (end of list)
+  end sublist local_domains
 domain.com in "! +local_domains"? yes (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+try option router_home_directory
+try option set
+processing address_data
+ ╭considering: $local_part
+ ├──────value: usery
+            ╰──(tainted)
  ├──expanding: $local_part
  ├──expanding: $local_part
- └─────result: usery
-domain.com in "*"? yes (matched "*")
+ ╰─────result: usery
+            ╰──(tainted)
+domain.com in "*"?
+ list element: *
+ domain.com in "*"? yes (matched "*")
+try option transport
+try option unseen
+try option unseen
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
 end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
 end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
-domain.com in "test.ex : *.test.ex"? no (end of list)
+domain.com in "! +local_domains"?
+ list element: ! +local_domains
+  start sublist local_domains
+   domain.com in "test.ex : *.test.ex"?
+   ╎list element: test.ex
+   ╎list element: *.test.ex
+   domain.com in "test.ex : *.test.ex"? no (end of list)
+  end sublist local_domains
 domain.com in "! +local_domains"? yes (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+try option router_home_directory
+try option set
+processing address_data
+ ╭considering: $local_part
+ ├──────value: usery
+            ╰──(tainted)
  ├──expanding: $local_part
  ├──expanding: $local_part
- └─────result: usery
-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
+ ╰─────result: usery
+            ╰──(tainted)
+domain.com in "*"?
+ list element: *
+ domain.com in "*"? yes (matched "*")
+try option transport
+try option unseen
+try option unseen
+try option interface
+Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option dscp
+127.0.0.1 in hosts_try_fastopen?
+ list element: 
+ connected
+try option helo_data
+ ╭considering: $primary_hostname
+ ├──────value: myhost.test.ex
  ├──expanding: $primary_hostname
  ├──expanding: $primary_hostname
- â\94\94─────result: myhost.test.ex
+ â\95°─────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
 cmd buf flush ddd bytes
   SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
          250-SIZE 52428800
   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-LIMITS MAILMAX=1000 RCPTMAX=50000
          250-8BITMIME
          250-PIPELINING
          250-STARTTLS
          250 HELP
          250-8BITMIME
          250-PIPELINING
          250-STARTTLS
          250 HELP
- ┌considering: ${if eq {$address_data}{usery}{*}{:}}
-  ┌considering: $address_data}{usery}{*}{:}}
+try option host_name_extract
+ ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──────value: 127.0.0.1
+  ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──expanding: $host
+  ╰─────result: 127.0.0.1
+  ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├───────text: .outlook.com
+  ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├backslashed: '\$'
+  ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──expanding: .outlook.com\$
+  ╰─────result: .outlook.com$
+  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──────value: 
+  ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──expanding: $item
+  ├─────result: 
+  ╰───skipping: result is not used
+  ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+  ├──protected: ^250-([\w.]+)\s
+  ├───scanning: }}} {$1}}
+  ├──expanding: \N^250-([\w.]+)\s\N
+  ├─────result: ^250-([\w.]+)\s
+  ╰───skipping: result is not used
+ ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├─────result: false
+  ╭───scanning: $1}}
+  ├───scanning: }}
+  ├──expanding: $1
+  ├─────result: 
+  ╰───skipping: result is not used
+ ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╰─────result: 
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+  ╭considering: $address_data}{usery}{*}{:}}
+  ├──────value: usery
+             ╰──(tainted)
+  ├considering: }{usery}{*}{:}}
   ├──expanding: $address_data
   ├──expanding: $address_data
-  └─────result: usery
-  ┌considering: usery}{*}{:}}
+  ╰─────result: usery
+             ╰──(tainted)
+  ╭considering: usery}{*}{:}}
+  ├───────text: usery
+  ├considering: }{*}{:}}
   ├──expanding: usery
   ├──expanding: usery
-  â\94\94─────result: usery
+  â\95°─────result: usery
  ├──condition: eq {$address_data}{usery}
  ├─────result: true
  ├──condition: eq {$address_data}{usery}
  ├─────result: true
-  ┌considering: *}{:}}
+  ╭considering: *}{:}}
+  ├───────text: *
+  ├considering: }{:}}
   ├──expanding: *
   ├──expanding: *
-  └─────result: *
-  ┌───scanning: :}}
+  ╰─────result: *
+  ╭───scanning: :}}
+  ├───────text: :
+  ├───scanning: }}
   ├──expanding: :
   ├─────result: :
   ├──expanding: :
   ├─────result: :
-  â\94\94───skipping: result is not used
+  â\95°───skipping: result is not used
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
- └─────result: *
-127.0.0.1 in hosts_avoid_tls? yes (matched "*")
+ ╰─────result: *
+127.0.0.1 in hosts_avoid_tls?
+ list element: *
+ 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)
 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>
+try option authenticated_sender
+  SMTP|> MAIL FROM:<CALLER@myhost.test.ex>
   SMTP>> RCPT TO:<usery@domain.com>
 cmd buf flush ddd bytes
   SMTP>> RCPT TO:<usery@domain.com>
 cmd buf flush ddd bytes
+sync_responses expect mail
   SMTP<< 250 OK
   SMTP<< 250 OK
+sync_responses expect rcpt for usery@domain.com
   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"
+try option acl_smtp_predata
+processing "accept" (TESTSUITE/test-config 55)
 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}
+try option message_id_header_domain
+try option message_id_header_text
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+try option received_header_text
+ ╭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}}
+ ├───────text: Received: 
+ ├considering: ${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)
        }{${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    }}(Exim $version_number)
+       }}}}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
        ${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
+  ╭───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}}
+  ├───────text: from 
+  ├───scanning: $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}}
+  ├──────value: 
+  ├───scanning: 
        }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }{${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    }}(Exim $version_number)
+       }}}}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}}
+  ├───────text: 
+       
+  ├───scanning: }{${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}}
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
@@ -377,225 +952,611 @@ end of inline ACL: ACCEPT
        
   ├─────result: from 
        
        
   ├─────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    }}(Exim $version_number)
+  ╰───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
        ${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    }}(Exim $version_number)
+   ╭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}}
+   ├───────text: from 
+   ├considering: ${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}}
        ${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   ╎      }}(Exim $version_number)
+   ╎╭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}}
+   ╎├──────value: CALLER
+   ╎├considering: } }}${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
    ╎ ${if def:sender_address {(envelope-from <$sender_address>)
    ╎ }}id $message_exim_id${if def:received_for {
    ╎ for $received_for}}
    ╎├──expanding: $sender_ident
-   ╎└─────result: CALLER
+   ╎╰─────result: CALLER
+   ├─────op-res: CALLER
+   ├considering:  }}${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}}
+   ├───────text:  
+   ├considering: }}${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 ${quote_local_part:$sender_ident} 
    ├──expanding: from ${quote_local_part:$sender_ident} 
-   └─────result: from CALLER 
+   ╰─────result: from CALLER 
+  ├───item-res: from CALLER 
+  ├considering: ${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_helo_name
   ├─────result: true
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ┌considering: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol    }}(Exim $version_number)
+   ╭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}}
+   ├───────text: (helo=
+   ├considering: $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}}
+   ├──────value: myhost.test.ex
+              ╰──(tainted)
+   ├considering: )
+       }}}}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}}
+   ├───────text: )
+       
+   ├considering: }}}}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)
        
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
    ├──expanding: (helo=$sender_helo_name)
        
-   â\94\94─────result: (helo=myhost.test.ex)
+   â\95°─────result: (helo=myhost.test.ex)
        
        
+              ╰──(tainted)
+  ├───item-res: (helo=myhost.test.ex)
+       
+             ╰──(tainted)
+  ├considering: }}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: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }}
   ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }}
-  â\94\94─────result: from CALLER (helo=myhost.test.ex)
+  â\95°─────result: from CALLER (helo=myhost.test.ex)
        
        
+             ╰──(tainted)
+ ├───item-res: from CALLER (helo=myhost.test.ex)
+       
+            ╰──(tainted)
+ ├considering: 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}}
+ ├───────text: by 
+ ├considering: $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}}
+ ├──────value: myhost.test.ex
+ ├considering:  ${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}}
+ ├───────text:  
+ ├considering: ${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:received_protocol
  ├─────result: true
  ├──condition: def:received_protocol
  ├─────result: true
-  ┌considering: with $received_protocol      }}(Exim $version_number)
+  ╭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}}
        ${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
+  ├───────text: with 
+  ├considering: $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}}
+  ├──────value: local-esmtp
+  ├considering:  }}${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}}
+  ├───────text:  
+  ├considering: }}${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 
+ ├───item-res: with local-esmtp 
+            ╰──(tainted)
+ ├considering: ${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}}
+       ${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
+ ├───item-res: 
+            ╰──(tainted)
+ ├considering: ${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:tls_in_cipher_std
  ├─────result: false
  ├─────result: false
-  ┌───scanning: ($tls_cipher)
+  ╭───scanning:  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}}
+  ├───────text:  tls 
+  ├───scanning: $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}}
+  ├──────value: 
+  ├───scanning: 
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
        }}(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)
+  ├───────text: 
+       
+  ├───scanning: }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding:  tls $tls_in_cipher_std
        
        
-  ├─────result: ()
+  ├─────result:  tls 
        
        
-  └───skipping: result is not used
+  ╰───skipping: result is not used
+ ├───item-res: 
+            ╰──(tainted)
+ ├considering: (Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├───────text: (Exim 
+ ├considering: $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├──────value: x.yz
+ ├considering: )
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├───────text: )
+       
+ ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
  ├──condition: def:sender_address
  ├─────result: true
  ├──condition: def:sender_address
  ├─────result: true
-  ┌considering: (envelope-from <$sender_address>)
+  ╭considering: (envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├───────text: (envelope-from <
+  ├considering: $sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──────value: CALLER@myhost.test.ex
+  ├considering: >)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
+  ├───────text: >)
+       
+  ├considering: }}id $message_exim_id${if def:received_for {
+       for $received_for}}
   ├──expanding: (envelope-from <$sender_address>)
        
   ├──expanding: (envelope-from <$sender_address>)
        
-  â\94\94─────result: (envelope-from <CALLER@myhost.test.ex>)
+  â\95°─────result: (envelope-from <CALLER@myhost.test.ex>)
        
        
+ ├───item-res: (envelope-from <CALLER@myhost.test.ex>)
+       
+            ╰──(tainted)
+ ├considering: id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├───────text: id 
+ ├considering: $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├──────value: 10HmaZ-000000005vi-0000
+ ├considering: ${if def:received_for {
+       for $received_for}}
  ├──condition: def:received_for
  ├─────result: true
  ├──condition: def:received_for
  ├─────result: true
-  â\94\8cconsidering: 
+  â\95­considering: 
        for $received_for}}
        for $received_for}}
+  ├───────text: 
+       for 
+  ├considering: $received_for}}
+  ├──────value: usery@domain.com
+             ╰──(tainted)
+  ├considering: }}
   ├──expanding: 
        for $received_for
   ├──expanding: 
        for $received_for
-  â\94\94─────result: 
+  â\95°─────result: 
        for usery@domain.com
        for usery@domain.com
+             ╰──(tainted)
+ ├───item-res: 
+       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)
  ├──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    }}(Exim $version_number)
+       }}}}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}}
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
- â\94\94─────result: Received: from CALLER (helo=myhost.test.ex)
+ â\95°─────result: Received: from CALLER (helo=myhost.test.ex)
        by myhost.test.ex with local-esmtp (Exim x.yz)
        (envelope-from <CALLER@myhost.test.ex>)
        by myhost.test.ex with local-esmtp (Exim x.yz)
        (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmaZ-0005vi-00
+       id 10HmaZ-000000005vi-0000
        for usery@domain.com
        for usery@domain.com
+            ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
- ┌considering: ${tod_full}
+try option acl_smtp_dkim
+try option acl_smtp_mime
+try option acl_smtp_data
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
  ├──expanding: ${tod_full}
- â\94\94─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ â\95°─────result: Tue, 2 Mar 1999 09:44:33 +0000
   SMTP>> .
   SMTP>> .
-  SMTP<< 250 OK id=10HmbA-0005vi-00
+  SMTP<< 250 OK id=10HmbA-000000005vi-0000
 LOG: MAIN
 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"
+  >> usery@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK id=10HmbA-000000005vi-0000"
   SMTP>> QUIT
   SMTP<< 221 myhost.test.ex closing connection
   SMTP(close)>>
   SMTP>> QUIT
   SMTP<< 221 myhost.test.ex closing connection
   SMTP(close)>>
+cmdlog: '220:EHLO:250-:MAIL|:RCPT:250:250:DATA:354:250:QUIT:221'
 ----------- cutthrough shutdown (delivered) ------------
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
 LOG: MAIN
   Completed
 ----------- cutthrough shutdown (delivered) ------------
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
 LOG: MAIN
   Completed
+try option acl_smtp_quit
 LOG: smtp_connection MAIN
 LOG: smtp_connection MAIN
-  SMTP connection from CALLER closed by QUIT
->>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>>
+  SMTP connection from CALLER D=qqs closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=p1236 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 Exim version x.yz ....
+environment after trimming:
+ PATH=<munged>
+adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys
 configuration file is TESTSUITE/test-config
 admin user
 configuration file is TESTSUITE/test-config
 admin user
+try option gecos_pattern
+try option gecos_name
+try option unknown_login
+try option smtp_active_hostname
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
  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
+try option message_size_limit
+try option acl_smtp_connect
+try option smtp_banner
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├──────value: myhost.test.ex
+ ├considering:  ESMTP Exim $version_number $tod_full
+ ├───────text:  ESMTP Exim 
+ ├considering: $version_number $tod_full
+ ├──────value: x.yz
+ ├considering:  $tod_full
+ ├───────text:  
+ ├considering: $tod_full
+ ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
  ├──expanding: $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
+ ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ list element: *
+  in limits_advertise_hosts? yes (matched "*")
+try option spf_smtp_comment_template
+try option acl_smtp_helo
  in dsn_advertise_hosts? no (option unset)
  in dsn_advertise_hosts? no (option unset)
- in pipelining_advertise_hosts? yes (matched "*")
+try option acl_smtp_etrn
+try option acl_smtp_vrfy
+try option acl_smtp_expn
+ in pipelining_advertise_hosts?
+ list element: *
+  in pipelining_advertise_hosts? yes (matched "*")
+ in chunking_advertise_hosts?
  in chunking_advertise_hosts? no (end of list)
  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}}
+ list element: *
+  in tls_advertise_hosts? yes (matched "*")
+try option acl_smtp_mail
+try option acl_smtp_rcpt
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+  ╭considering: SERVER}{server}{queue}{cutthrough}}
+  ├───────text: SERVER
+  ├considering: }{server}{queue}{cutthrough}}
   ├──expanding: SERVER
   ├──expanding: SERVER
-  └─────result: SERVER
-  ┌considering: server}{queue}{cutthrough}}
+  ╰─────result: SERVER
+  ╭considering: server}{queue}{cutthrough}}
+  ├───────text: server
+  ├considering: }{queue}{cutthrough}}
   ├──expanding: server
   ├──expanding: server
-  â\94\94─────result: server
+  â\95°─────result: server
  ├──condition: eq {SERVER}{server}
  ├─────result: false
  ├──condition: eq {SERVER}{server}
  ├─────result: false
-  ┌───scanning: queue}{cutthrough}}
+  ╭───scanning: queue}{cutthrough}}
+  ├───────text: queue
+  ├───scanning: }{cutthrough}}
   ├──expanding: queue
   ├─────result: queue
   ├──expanding: queue
   ├─────result: queue
-  └───skipping: result is not used
-  ┌considering: cutthrough}}
+  ╰───skipping: result is not used
+  ╭considering: cutthrough}}
+  ├───────text: cutthrough
+  ├considering: }}
   ├──expanding: cutthrough
   ├──expanding: cutthrough
-  â\94\94─────result: cutthrough
+  â\95°─────result: cutthrough
  ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
  ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- â\94\94─────result: cutthrough
+ â\95°─────result: cutthrough
 using ACL "cutthrough"
 using ACL "cutthrough"
-processing "accept"
+processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
 check control = cutthrough_delivery
 check verify = recipient
-domain.com in "test.ex : *.test.ex"? no (end of list)
+domain.com in "! +local_domains"?
+ list element: ! +local_domains
+  start sublist local_domains
+   domain.com in "test.ex : *.test.ex"?
+   ╎list element: test.ex
+   ╎list element: *.test.ex
+   domain.com in "test.ex : *.test.ex"? no (end of list)
+  end sublist local_domains
 domain.com in "! +local_domains"? yes (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+try option router_home_directory
+try option set
+processing address_data
+ ╭considering: $local_part
+ ├──────value: usery
+            ╰──(tainted)
  ├──expanding: $local_part
  ├──expanding: $local_part
- └─────result: usery
-domain.com in "*"? yes (matched "*")
+ ╰─────result: usery
+            ╰──(tainted)
+domain.com in "*"?
+ list element: *
+ domain.com in "*"? yes (matched "*")
+try option transport
+try option unseen
+try option unseen
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
 end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
 end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
-domain.com in "test.ex : *.test.ex"? no (end of list)
+domain.com in "! +local_domains"?
+ list element: ! +local_domains
+  start sublist local_domains
+   domain.com in "test.ex : *.test.ex"?
+   ╎list element: test.ex
+   ╎list element: *.test.ex
+   domain.com in "test.ex : *.test.ex"? no (end of list)
+  end sublist local_domains
 domain.com in "! +local_domains"? yes (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+try option router_home_directory
+try option set
+processing address_data
+ ╭considering: $local_part
+ ├──────value: usery
+            ╰──(tainted)
  ├──expanding: $local_part
  ├──expanding: $local_part
- └─────result: usery
-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
+ ╰─────result: usery
+            ╰──(tainted)
+domain.com in "*"?
+ list element: *
+ domain.com in "*"? yes (matched "*")
+try option transport
+try option unseen
+try option unseen
+try option interface
+Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option dscp
+127.0.0.1 in hosts_try_fastopen?
+ list element: 
+ connected
+try option helo_data
+ ╭considering: $primary_hostname
+ ├──────value: myhost.test.ex
  ├──expanding: $primary_hostname
  ├──expanding: $primary_hostname
- â\94\94─────result: myhost.test.ex
+ â\95°─────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
 cmd buf flush ddd bytes
   SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
          250-SIZE 52428800
   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-LIMITS MAILMAX=1000 RCPTMAX=50000
          250-8BITMIME
          250-PIPELINING
          250-STARTTLS
          250 HELP
          250-8BITMIME
          250-PIPELINING
          250-STARTTLS
          250 HELP
- ┌considering: ${if eq {$address_data}{usery}{*}{:}}
-  ┌considering: $address_data}{usery}{*}{:}}
+try option host_name_extract
+ ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──────value: 127.0.0.1
+  ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──expanding: $host
+  ╰─────result: 127.0.0.1
+  ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├───────text: .outlook.com
+  ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├backslashed: '\$'
+  ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──expanding: .outlook.com\$
+  ╰─────result: .outlook.com$
+  ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──────value: 
+  ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
+  ├──expanding: $item
+  ├─────result: 
+  ╰───skipping: result is not used
+  ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+  ├──protected: ^250-([\w.]+)\s
+  ├───scanning: }}} {$1}}
+  ├──expanding: \N^250-([\w.]+)\s\N
+  ├─────result: ^250-([\w.]+)\s
+  ╰───skipping: result is not used
+ ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├─────result: false
+  ╭───scanning: $1}}
+  ├───scanning: }}
+  ├──expanding: $1
+  ├─────result: 
+  ╰───skipping: result is not used
+ ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╰─────result: 
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+  ╭considering: $address_data}{usery}{*}{:}}
+  ├──────value: usery
+             ╰──(tainted)
+  ├considering: }{usery}{*}{:}}
   ├──expanding: $address_data
   ├──expanding: $address_data
-  └─────result: usery
-  ┌considering: usery}{*}{:}}
+  ╰─────result: usery
+             ╰──(tainted)
+  ╭considering: usery}{*}{:}}
+  ├───────text: usery
+  ├considering: }{*}{:}}
   ├──expanding: usery
   ├──expanding: usery
-  â\94\94─────result: usery
+  â\95°─────result: usery
  ├──condition: eq {$address_data}{usery}
  ├─────result: true
  ├──condition: eq {$address_data}{usery}
  ├─────result: true
-  ┌considering: *}{:}}
+  ╭considering: *}{:}}
+  ├───────text: *
+  ├considering: }{:}}
   ├──expanding: *
   ├──expanding: *
-  └─────result: *
-  ┌───scanning: :}}
+  ╰─────result: *
+  ╭───scanning: :}}
+  ├───────text: :
+  ├───scanning: }}
   ├──expanding: :
   ├─────result: :
   ├──expanding: :
   ├─────result: :
-  â\94\94───skipping: result is not used
+  â\95°───skipping: result is not used
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
- └─────result: *
-127.0.0.1 in hosts_avoid_tls? yes (matched "*")
+ ╰─────result: *
+127.0.0.1 in hosts_avoid_tls?
+ list element: *
+ 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)
 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>
+try option authenticated_sender
+  SMTP|> MAIL FROM:<CALLER@myhost.test.ex>
   SMTP>> RCPT TO:<usery@domain.com>
 cmd buf flush ddd bytes
   SMTP>> RCPT TO:<usery@domain.com>
 cmd buf flush ddd bytes
+sync_responses expect mail
   SMTP<< 250 OK
   SMTP<< 250 OK
+sync_responses expect rcpt for usery@domain.com
   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"
+try option acl_smtp_predata
+processing "accept" (TESTSUITE/test-config 55)
 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}
+try option message_id_header_domain
+try option message_id_header_text
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+try option received_header_text
+ ╭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)
        }{${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    }}(Exim $version_number)
+       }}}}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}}
+ ├───────text: Received: 
+ ├considering: ${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
        ${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
-  â\94\8c───scanning: from $sender_rcvhost
+  â\95­───scanning: from $sender_rcvhost
        }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }{${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    }}(Exim $version_number)
+       }}}}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}}
+  ├───────text: from 
+  ├───scanning: $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}}
+  ├──────value: 
+  ├───scanning: 
+       }{${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}}
+  ├───────text: 
+       
+  ├───scanning: }{${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}}
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
@@ -603,110 +1564,325 @@ end of inline ACL: ACCEPT
        
   ├─────result: from 
        
        
   ├─────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    }}(Exim $version_number)
+  ╰───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
        ${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    }}(Exim $version_number)
+   ╭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}}
+   ├───────text: from 
+   ├considering: ${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}}
        ${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   ╎      }}(Exim $version_number)
+   ╎╭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}}
+   ╎├──────value: CALLER
+   ╎├considering: } }}${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
    ╎ ${if def:sender_address {(envelope-from <$sender_address>)
    ╎ }}id $message_exim_id${if def:received_for {
    ╎ for $received_for}}
    ╎├──expanding: $sender_ident
-   ╎└─────result: CALLER
+   ╎╰─────result: CALLER
+   ├─────op-res: CALLER
+   ├considering:  }}${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}}
+   ├───────text:  
+   ├considering: }}${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 ${quote_local_part:$sender_ident} 
    ├──expanding: from ${quote_local_part:$sender_ident} 
-   └─────result: from CALLER 
+   ╰─────result: from CALLER 
+  ├───item-res: from CALLER 
+  ├considering: ${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_helo_name
   ├─────result: true
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ┌considering: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol    }}(Exim $version_number)
+   ╭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}}
+   ├───────text: (helo=
+   ├considering: $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}}
+   ├──────value: myhost.test.ex
+              ╰──(tainted)
+   ├considering: )
+       }}}}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}}
+   ├───────text: )
+       
+   ├considering: }}}}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)
        
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
    ├──expanding: (helo=$sender_helo_name)
        
-   â\94\94─────result: (helo=myhost.test.ex)
+   â\95°─────result: (helo=myhost.test.ex)
        
        
+              ╰──(tainted)
+  ├───item-res: (helo=myhost.test.ex)
+       
+             ╰──(tainted)
+  ├considering: }}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: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }}
   ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }}
-  â\94\94─────result: from CALLER (helo=myhost.test.ex)
+  â\95°─────result: from CALLER (helo=myhost.test.ex)
        
        
+             ╰──(tainted)
+ ├───item-res: from CALLER (helo=myhost.test.ex)
+       
+            ╰──(tainted)
+ ├considering: 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}}
+ ├───────text: by 
+ ├considering: $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}}
+ ├──────value: myhost.test.ex
+ ├considering:  ${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}}
+ ├───────text:  
+ ├considering: ${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:received_protocol
  ├─────result: true
  ├──condition: def:received_protocol
  ├─────result: true
-  ┌considering: with $received_protocol      }}(Exim $version_number)
+  ╭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}}
+  ├───────text: with 
+  ├considering: $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}}
+  ├──────value: local-esmtp
+  ├considering:  }}${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}}
+  ├───────text:  
+  ├considering: }}${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 
+ ├───item-res: with local-esmtp 
+            ╰──(tainted)
+ ├considering: ${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}}
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
        ${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
+  ├──expanding:  ($tls_in_ver)
+  ├─────result:  ()
+  ╰───skipping: result is not used
+ ├───item-res: 
+            ╰──(tainted)
+ ├considering: ${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:tls_in_cipher_std
  ├─────result: false
  ├─────result: false
-  â\94\8câ\94\80â\94\80â\94\80scanning: ($tls_cipher)
+  â\95­â\94\80â\94\80â\94\80scanning:  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}}
        }}(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)
+  ├───────text:  tls 
+  ├───scanning: $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}}
+  ├──────value: 
+  ├───scanning: 
+       }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├───────text: 
        
        
-  ├─────result: ()
+  ├───scanning: }}(Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├──expanding:  tls $tls_in_cipher_std
        
        
-  └───skipping: result is not used
+  ├─────result:  tls 
+       
+  ╰───skipping: result is not used
+ ├───item-res: 
+            ╰──(tainted)
+ ├considering: (Exim $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├───────text: (Exim 
+ ├considering: $version_number)
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├──────value: x.yz
+ ├considering: )
+       ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├───────text: )
+       
+ ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
  ├──condition: def:sender_address
  ├─────result: true
  ├──condition: def:sender_address
  ├─────result: true
-  ┌considering: (envelope-from <$sender_address>)
+  ╭considering: (envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├───────text: (envelope-from <
+  ├considering: $sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
+  ├──────value: CALLER@myhost.test.ex
+  ├considering: >)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
+  ├───────text: >)
+       
+  ├considering: }}id $message_exim_id${if def:received_for {
+       for $received_for}}
   ├──expanding: (envelope-from <$sender_address>)
        
   ├──expanding: (envelope-from <$sender_address>)
        
-  â\94\94─────result: (envelope-from <CALLER@myhost.test.ex>)
+  â\95°─────result: (envelope-from <CALLER@myhost.test.ex>)
        
        
+ ├───item-res: (envelope-from <CALLER@myhost.test.ex>)
+       
+            ╰──(tainted)
+ ├considering: id $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├───────text: id 
+ ├considering: $message_exim_id${if def:received_for {
+       for $received_for}}
+ ├──────value: 10HmbB-000000005vi-0000
+ ├considering: ${if def:received_for {
+       for $received_for}}
  ├──condition: def:received_for
  ├─────result: true
  ├──condition: def:received_for
  ├─────result: true
-  â\94\8cconsidering: 
+  â\95­considering: 
        for $received_for}}
        for $received_for}}
+  ├───────text: 
+       for 
+  ├considering: $received_for}}
+  ├──────value: usery@domain.com
+             ╰──(tainted)
+  ├considering: }}
   ├──expanding: 
        for $received_for
   ├──expanding: 
        for $received_for
-  â\94\94─────result: 
+  â\95°─────result: 
        for usery@domain.com
        for usery@domain.com
+             ╰──(tainted)
+ ├───item-res: 
+       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)
  ├──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    }}(Exim $version_number)
+       }}}}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}}
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
- â\94\94─────result: Received: from CALLER (helo=myhost.test.ex)
+ â\95°─────result: Received: from CALLER (helo=myhost.test.ex)
        by myhost.test.ex with local-esmtp (Exim x.yz)
        (envelope-from <CALLER@myhost.test.ex>)
        by myhost.test.ex with local-esmtp (Exim x.yz)
        (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmbB-0005vi-00
+       id 10HmbB-000000005vi-0000
        for usery@domain.com
        for usery@domain.com
+            ╰──(tainted)
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
- ┌considering: ${tod_full}
+try option acl_smtp_dkim
+try option acl_smtp_mime
+try option acl_smtp_data
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
  ├──expanding: ${tod_full}
- â\94\94─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ â\95°─────result: Tue, 2 Mar 1999 09:44:33 +0000
   SMTP>> .
   SMTP>> .
-  SMTP<< 250 OK id=10HmbC-0005vi-00
+  SMTP<< 250 OK id=10HmbC-000000005vi-0000
 LOG: MAIN
 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"
+  >> usery@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK id=10HmbC-000000005vi-0000"
   SMTP>> QUIT
   SMTP<< 221 myhost.test.ex closing connection
   SMTP(close)>>
   SMTP>> QUIT
   SMTP<< 221 myhost.test.ex closing connection
   SMTP(close)>>
+cmdlog: '220:EHLO:250-:MAIL|:RCPT:250:250:DATA:354:250:QUIT:221'
 ----------- cutthrough shutdown (delivered) ------------
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
 LOG: MAIN
   Completed
 ----------- cutthrough shutdown (delivered) ------------
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss
 LOG: MAIN
   Completed
+try option acl_smtp_quit
 LOG: smtp_connection MAIN
 LOG: smtp_connection MAIN
-  SMTP connection from CALLER closed by QUIT
->>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>>
+  SMTP connection from CALLER D=qqs closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=p1237 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 
 ******** SERVER ********
 
 ******** SERVER ********