Logging: Add "D=" to more connection closure log lines. Bug 2434
[exim.git] / test / stderr / 5410
index 990fac8981a73c7b4a15766b8138622305d94355..42c280a2e30f69ec6e738132e6af131d0b33850f 100644 (file)
@@ -1,4 +1,6 @@
 Exim version x.yz ....
+environment after trimming:
+ PATH=<munged>
 adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys
 configuration file is TESTSUITE/test-config
 admin user
@@ -15,9 +17,13 @@ LOG: smtp_connection MAIN
  ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
  ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  in dsn_advertise_hosts? no (option unset)
- in pipelining_advertise_hosts? yes (matched "*")
+ in pipelining_advertise_hosts?
+ list element: *
+  in pipelining_advertise_hosts? yes (matched "*")
+ in chunking_advertise_hosts?
  in chunking_advertise_hosts? no (end of list)
- in tls_advertise_hosts? yes (matched "*")
+ list element: *
+  in tls_advertise_hosts? yes (matched "*")
  ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
@@ -48,25 +54,45 @@ using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
-domain.com in "test.ex : *.test.ex"? no (end of list)
+domain.com in "! +local_domains"?
+ 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)
  ╭considering: $local_part
  ├──expanding: $local_part
  ╰─────result: userx
             ╰──(tainted)
-domain.com in "*"? yes (matched "*")
+domain.com in "*"?
+ list element: *
+ domain.com in "*"? yes (matched "*")
 ----------- 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)
  ╭considering: $local_part
  ├──expanding: $local_part
  ╰─────result: userx
             ╰──(tainted)
-domain.com in "*"? yes (matched "*")
-Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ...  connected
+domain.com in "*"?
+ list element: *
+ domain.com in "*"? yes (matched "*")
+Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... 127.0.0.1 in hosts_try_fastopen?
+ list element: 
+ connected
  ╭considering: $primary_hostname
  ├──expanding: $primary_hostname
  ╰─────result: myhost.test.ex
@@ -80,6 +106,38 @@ cmd buf flush ddd bytes
          250-PIPELINING
          250-STARTTLS
          250 HELP
+ ╭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}}
+  ├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}}
+  ├───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}{*}{:}}
   ├considering: }{usery}{*}{:}}
@@ -106,6 +164,8 @@ cmd buf flush ddd bytes
   ╰─────result: :
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
  ╰─────result: :
+127.0.0.1 in hosts_avoid_tls?
+ list element: 
 127.0.0.1 in hosts_avoid_tls? no (end of list)
  ╭considering: ${if eq {$address_data}{userz}{*}{:}}
   ╭considering: $address_data}{userz}{*}{:}}
@@ -133,12 +193,20 @@ cmd buf flush ddd bytes
   ╰─────result: :
  ├──expanding: ${if eq {$address_data}{userz}{*}{:}}
  ╰─────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_request_ocsp?
+ list element: *
 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_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: 
   SMTP>> EHLO myhost.test.ex
 cmd buf flush ddd bytes
   SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
@@ -270,6 +338,7 @@ end of inline ACL: ACCEPT
        for $received_for}}
    ├──expanding: from ${quote_local_part:$sender_ident} 
    ╰─────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)
@@ -309,6 +378,9 @@ end of inline ACL: ACCEPT
    ╰─────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>)
@@ -319,6 +391,9 @@ end of inline ACL: ACCEPT
   ╰─────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>)
@@ -367,6 +442,8 @@ end of inline ACL: ACCEPT
        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>)
@@ -377,6 +454,8 @@ end of inline ACL: ACCEPT
   ├──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>)
@@ -411,6 +490,8 @@ end of inline ACL: ACCEPT
   ├─────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 {
@@ -449,6 +530,9 @@ end of inline ACL: ACCEPT
        
   ╰─────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 
@@ -469,6 +553,9 @@ end of inline ACL: ACCEPT
   ╰─────result: 
        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)
        }}}}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
@@ -494,15 +581,18 @@ LOG: MAIN
   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
 LOG: smtp_connection MAIN
-  SMTP connection from CALLER closed by QUIT
->>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) 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 ....
+environment after trimming:
+ PATH=<munged>
 adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys
 configuration file is TESTSUITE/test-config
 admin user
@@ -519,9 +609,13 @@ LOG: smtp_connection MAIN
  ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
  ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  in dsn_advertise_hosts? no (option unset)
- in pipelining_advertise_hosts? yes (matched "*")
+ in pipelining_advertise_hosts?
+ list element: *
+  in pipelining_advertise_hosts? yes (matched "*")
+ in chunking_advertise_hosts?
  in chunking_advertise_hosts? no (end of list)
- in tls_advertise_hosts? yes (matched "*")
+ list element: *
+  in tls_advertise_hosts? yes (matched "*")
  ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
@@ -552,25 +646,45 @@ using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
-domain.com in "test.ex : *.test.ex"? no (end of list)
+domain.com in "! +local_domains"?
+ 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)
  ╭considering: $local_part
  ├──expanding: $local_part
  ╰─────result: usery
             ╰──(tainted)
-domain.com in "*"? yes (matched "*")
+domain.com in "*"?
+ list element: *
+ domain.com in "*"? yes (matched "*")
 ----------- 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)
  ╭considering: $local_part
  ├──expanding: $local_part
  ╰─────result: usery
             ╰──(tainted)
-domain.com in "*"? yes (matched "*")
-Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ...  connected
+domain.com in "*"?
+ list element: *
+ domain.com in "*"? yes (matched "*")
+Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... 127.0.0.1 in hosts_try_fastopen?
+ list element: 
+ connected
  ╭considering: $primary_hostname
  ├──expanding: $primary_hostname
  ╰─────result: myhost.test.ex
@@ -584,6 +698,38 @@ cmd buf flush ddd bytes
          250-PIPELINING
          250-STARTTLS
          250 HELP
+ ╭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}}
+  ├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}}
+  ├───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}{*}{:}}
   ├considering: }{usery}{*}{:}}
@@ -610,7 +756,9 @@ cmd buf flush ddd bytes
   ╰───skipping: result is not used
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
  ╰─────result: *
-127.0.0.1 in hosts_avoid_tls? yes (matched "*")
+127.0.0.1 in hosts_avoid_tls?
+ 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
@@ -735,6 +883,7 @@ end of inline ACL: ACCEPT
        for $received_for}}
    ├──expanding: from ${quote_local_part:$sender_ident} 
    ╰─────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)
@@ -774,6 +923,9 @@ end of inline ACL: ACCEPT
    ╰─────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>)
@@ -784,6 +936,9 @@ end of inline ACL: ACCEPT
   ╰─────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>)
@@ -832,6 +987,8 @@ end of inline ACL: ACCEPT
        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>)
@@ -842,6 +999,8 @@ end of inline ACL: ACCEPT
   ├──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>)
@@ -876,6 +1035,8 @@ end of inline ACL: ACCEPT
   ├─────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 {
@@ -914,6 +1075,9 @@ end of inline ACL: ACCEPT
        
   ╰─────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 
@@ -934,6 +1098,9 @@ end of inline ACL: ACCEPT
   ╰─────result: 
        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)
        }}}}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
@@ -959,15 +1126,18 @@ LOG: MAIN
   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
 LOG: smtp_connection MAIN
-  SMTP connection from CALLER closed by QUIT
->>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) 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 ....
+environment after trimming:
+ PATH=<munged>
 adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys
 configuration file is TESTSUITE/test-config
 admin user
@@ -984,9 +1154,13 @@ LOG: smtp_connection MAIN
  ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
  ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  in dsn_advertise_hosts? no (option unset)
- in pipelining_advertise_hosts? yes (matched "*")
+ in pipelining_advertise_hosts?
+ list element: *
+  in pipelining_advertise_hosts? yes (matched "*")
+ in chunking_advertise_hosts?
  in chunking_advertise_hosts? no (end of list)
- in tls_advertise_hosts? yes (matched "*")
+ list element: *
+  in tls_advertise_hosts? yes (matched "*")
  ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
@@ -1017,25 +1191,45 @@ using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
-domain.com in "test.ex : *.test.ex"? no (end of list)
+domain.com in "! +local_domains"?
+ 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)
  ╭considering: $local_part
  ├──expanding: $local_part
  ╰─────result: usery
             ╰──(tainted)
-domain.com in "*"? yes (matched "*")
+domain.com in "*"?
+ list element: *
+ domain.com in "*"? yes (matched "*")
 ----------- 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)
  ╭considering: $local_part
  ├──expanding: $local_part
  ╰─────result: usery
             ╰──(tainted)
-domain.com in "*"? yes (matched "*")
-Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ...  connected
+domain.com in "*"?
+ list element: *
+ domain.com in "*"? yes (matched "*")
+Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... 127.0.0.1 in hosts_try_fastopen?
+ list element: 
+ connected
  ╭considering: $primary_hostname
  ├──expanding: $primary_hostname
  ╰─────result: myhost.test.ex
@@ -1049,6 +1243,38 @@ cmd buf flush ddd bytes
          250-PIPELINING
          250-STARTTLS
          250 HELP
+ ╭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}}
+  ├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}}
+  ├───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}{*}{:}}
   ├considering: }{usery}{*}{:}}
@@ -1075,7 +1301,9 @@ cmd buf flush ddd bytes
   ╰───skipping: result is not used
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
  ╰─────result: *
-127.0.0.1 in hosts_avoid_tls? yes (matched "*")
+127.0.0.1 in hosts_avoid_tls?
+ 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
@@ -1200,6 +1428,7 @@ end of inline ACL: ACCEPT
        for $received_for}}
    ├──expanding: from ${quote_local_part:$sender_ident} 
    ╰─────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)
@@ -1239,6 +1468,9 @@ end of inline ACL: ACCEPT
    ╰─────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>)
@@ -1249,6 +1481,9 @@ end of inline ACL: ACCEPT
   ╰─────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>)
@@ -1297,6 +1532,8 @@ end of inline ACL: ACCEPT
        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>)
@@ -1307,6 +1544,8 @@ end of inline ACL: ACCEPT
   ├──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>)
@@ -1341,6 +1580,8 @@ end of inline ACL: ACCEPT
   ├─────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 {
@@ -1379,6 +1620,9 @@ end of inline ACL: ACCEPT
        
   ╰─────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 
@@ -1399,6 +1643,9 @@ end of inline ACL: ACCEPT
   ╰─────result: 
        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)
        }}}}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
@@ -1424,13 +1671,14 @@ LOG: MAIN
   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
 LOG: smtp_connection MAIN
-  SMTP connection from CALLER closed by QUIT
->>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
+  SMTP connection from CALLER D=qqs closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=p1237 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 
 ******** SERVER ********