Logging: Add "D=" to more connection closure log lines. Bug 2434
[exim.git] / test / stderr / 5420
index 7ac360377b8c0dee7b5eeab9aeb305b1c1275b04..3b7c2ca7837675c34027afde651e29622ddc274b 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,14 @@ 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 "*")
+ in tls_advertise_hosts?
+ list element: *
+  in tls_advertise_hosts? yes (matched "*")
  ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
@@ -48,25 +55,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 +107,41 @@ 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$
+ compiled RE '.outlook.com$' not found in local cache
+ compiling RE '.outlook.com$'
+ compiled RE '.outlook.com$' saved in local cache
+  ╭───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 +168,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,13 +197,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
+ 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_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]
@@ -271,6 +342,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)
@@ -310,6 +382,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>)
@@ -320,6 +395,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>)
@@ -368,6 +446,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>)
@@ -378,6 +458,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>)
@@ -412,6 +494,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 {
@@ -450,6 +534,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 
@@ -470,6 +557,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
@@ -495,15 +585,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
@@ -520,9 +613,14 @@ 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 "*")
+ in tls_advertise_hosts?
+ list element: *
+  in tls_advertise_hosts? yes (matched "*")
  ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
@@ -553,25 +651,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
@@ -585,6 +703,41 @@ 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$
+ compiled RE '.outlook.com$' not found in local cache
+ compiling RE '.outlook.com$'
+ compiled RE '.outlook.com$' saved in local cache
+  ╭───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}{*}{:}}
@@ -611,7 +764,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
@@ -736,6 +891,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)
@@ -775,6 +931,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>)
@@ -785,6 +944,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>)
@@ -833,6 +995,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>)
@@ -843,6 +1007,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>)
@@ -877,6 +1043,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 {
@@ -915,6 +1083,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 
@@ -935,6 +1106,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
@@ -960,15 +1134,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
@@ -985,9 +1162,14 @@ 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 "*")
+ in tls_advertise_hosts?
+ list element: *
+  in tls_advertise_hosts? yes (matched "*")
  ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
   ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├───────text: SERVER
@@ -1018,25 +1200,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
@@ -1050,6 +1252,41 @@ 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$
+ compiled RE '.outlook.com$' not found in local cache
+ compiling RE '.outlook.com$'
+ compiled RE '.outlook.com$' saved in local cache
+  ╭───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}{*}{:}}
@@ -1076,7 +1313,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
@@ -1201,6 +1440,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)
@@ -1240,6 +1480,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>)
@@ -1250,6 +1493,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>)
@@ -1298,6 +1544,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>)
@@ -1308,6 +1556,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>)
@@ -1342,6 +1592,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 {
@@ -1380,6 +1632,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 
@@ -1400,6 +1655,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
@@ -1425,13 +1683,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 ********