list element: *
in limits_advertise_hosts? yes (matched "*")
in dsn_advertise_hosts? no (option unset)
+try option acl_smtp_atrn
try option acl_smtp_etrn
try option acl_smtp_vrfy
try option acl_smtp_expn
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}}
- ├───expanded: SERVER
- ╰─────result: SERVER
- ╭considering: server}{queue}{cutthrough}}
- ├───────text: server
- ├considering: }{queue}{cutthrough}}
- ├───expanded: server
- ╰─────result: server
+ cond: eq
+ ╭considering: SERVER}{server}{queue}{cutthrough}}
+ ├───────text: SERVER
+ ├considering: }{server}{queue}{cutthrough}}
+ ├───expanded: SERVER
+ ╰─────result: SERVER
+ ╭considering: server}{queue}{cutthrough}}
+ ├───────text: server
+ ├considering: }{queue}{cutthrough}}
+ ├───expanded: server
+ ╰─────result: server
├──condition: eq░{SERVER}{server}
├─────result: false
╭───scanning: queue}{cutthrough}}
├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
╰─────result: cutthrough
using ACL "cutthrough"
-processing "accept" (TESTSUITE/test-config 22)
+processing ACL cutthrough "accept" (TESTSUITE/test-config 22)
check control = cutthrough_delivery
check verify = recipient
domain.com in domains?
domain.com in "*"?
list element: *
domain.com in "*"? yes (matched "*")
+try option errors_to
+try option headers_add
+try option headers_remove
try option transport
try option unseen
----------- end verify ------------
-accept: condition test succeeded in ACL "cutthrough"
-end of ACL "cutthrough": ACCEPT
+accept: condition test succeeded in ACL cutthrough
+end of ACL cutthrough: ACCEPT
----------- start cutthrough setup ------------
domain.com in domains?
list element: !░+local_domains
domain.com in "*"?
list element: *
domain.com in "*"? yes (matched "*")
+try option errors_to
+try option headers_add
+try option headers_remove
try option transport
try option unseen
try option interface
250 HELP
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}}
- ├───expanded: $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}}
- ├───expanded: .outlook.com\$
- ╰─────result: .outlook.com$
- ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}░{$1}}
- ├──────value:
- ├───scanning: }{\N^250-([\w.]+)\s\N}}}░{$1}}
- ├───expanded: $item
- ├─────result: ◀skipped▶
- ╰───skipping: result is not used
- ╭───scanning: \N^250-([\w.]+)\s\N}}}░{$1}}
- ├──protected: ^250-([\w.]+)\s
- ├───scanning: }}}░{$1}}
- ├───expanded: \N^250-([\w.]+)\s\N
- ├─────result: ◀skipped▶
- ╰───skipping: result is not used
+ cond: and
+ cond: match
+ ╎╭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}}
+ ╎├───expanded: $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}}
+ ╎├───expanded: .outlook.com\$
+ ╎╰─────result: .outlook.com$
+ cond: match
+ ╎╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+ ╎├──────value:
+ ╎├───scanning: }{\N^250-([\w.]+)\s\N}}}░{$1}}
+ ╎├───expanded: $item
+ ╎├─────result: ◀skipped▶
+ ╎╰───skipping: result is not used
+ ╎╭───scanning: \N^250-([\w.]+)\s\N}}}░{$1}}
+ ╎├──protected: ^250-([\w.]+)\s
+ ╎├───scanning: }}}░{$1}}
+ ╎├───expanded: \N^250-([\w.]+)\s\N
+ ╎├─────result: ◀skipped▶
+ ╎╰───skipping: result is not used
├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}
├─────result: false
╭───scanning: $1}}
├───expanded: ${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}{*}{:}}
- ├───expanded: $address_data
- ╰─────result: userx
- ╰──(tainted)
- ╭considering: usery}{*}{:}}
- ├───────text: usery
- ├considering: }{*}{:}}
- ├───expanded: usery
- ╰─────result: usery
+ cond: eq
+ ╭considering: $address_data}{usery}{*}{:}}
+ ├──────value: userx
+ ╰──(tainted)
+ ├considering: }{usery}{*}{:}}
+ ├───expanded: $address_data
+ ╰─────result: userx
+ ╰──(tainted)
+ ╭considering: usery}{*}{:}}
+ ├───────text: usery
+ ├considering: }{*}{:}}
+ ├───expanded: usery
+ ╰─────result: usery
├──condition: eq░{$address_data}{usery}
├─────result: false
╭───scanning: *}{:}}
list element:
127.0.0.1 in hosts_avoid_tls? no (end of list)
╭considering: ${if░eq░{$address_data}{userz}{*}{:}}
- ╭considering: $address_data}{userz}{*}{:}}
- ├──────value: userx
- ╰──(tainted)
- ├considering: }{userz}{*}{:}}
- ├───expanded: $address_data
- ╰─────result: userx
- ╰──(tainted)
- ╭considering: userz}{*}{:}}
- ├───────text: userz
- ├considering: }{*}{:}}
- ├───expanded: userz
- ╰─────result: userz
+ cond: eq
+ ╭considering: $address_data}{userz}{*}{:}}
+ ├──────value: userx
+ ╰──(tainted)
+ ├considering: }{userz}{*}{:}}
+ ├───expanded: $address_data
+ ╰─────result: userx
+ ╰──(tainted)
+ ╭considering: userz}{*}{:}}
+ ├───────text: userz
+ ├considering: }{*}{:}}
+ ├───expanded: userz
+ ╰─────result: userz
├──condition: eq░{$address_data}{userz}
├─────result: false
╭───scanning: *}{:}}
holding verify callout open for cutthrough delivery
----------- end cutthrough setup ------------
try option acl_smtp_predata
-processing "accept" (TESTSUITE/test-config 55)
+processing inline ACL "accept"
accept: condition test succeeded in inline ACL
end of inline ACL: ACCEPT
SMTP>> DATA
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:sender_rcvhost
├─────result: false
╭───scanning: from░$sender_rcvhost↩
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:sender_ident
├─────result: true
╭considering: from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:sender_helo_name
├─────result: true
╭considering: (helo=$sender_helo_name)↩
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:received_protocol
├─────result: true
╭considering: with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
├─────result: ◀skipped▶
╰───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}}
+ cond: def
├──condition: def:tls_in_cipher_std
├─────result: false
╭───scanning: ░tls░$tls_in_cipher_std↩
├─────result: ◀skipped▶
╰───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░{↩
├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:sender_address
├─────result: true
╭considering: (envelope-from░<$sender_address>)↩
├──────value: 10HmaX-000000005vi-0000
├considering: ${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:received_for
├─────result: true
╭considering: ↩
list element: *
in limits_advertise_hosts? yes (matched "*")
in dsn_advertise_hosts? no (option unset)
+try option acl_smtp_atrn
try option acl_smtp_etrn
try option acl_smtp_vrfy
try option acl_smtp_expn
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}}
- ├───expanded: SERVER
- ╰─────result: SERVER
- ╭considering: server}{queue}{cutthrough}}
- ├───────text: server
- ├considering: }{queue}{cutthrough}}
- ├───expanded: server
- ╰─────result: server
+ cond: eq
+ ╭considering: SERVER}{server}{queue}{cutthrough}}
+ ├───────text: SERVER
+ ├considering: }{server}{queue}{cutthrough}}
+ ├───expanded: SERVER
+ ╰─────result: SERVER
+ ╭considering: server}{queue}{cutthrough}}
+ ├───────text: server
+ ├considering: }{queue}{cutthrough}}
+ ├───expanded: server
+ ╰─────result: server
├──condition: eq░{SERVER}{server}
├─────result: false
╭───scanning: queue}{cutthrough}}
├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
╰─────result: cutthrough
using ACL "cutthrough"
-processing "accept" (TESTSUITE/test-config 22)
+processing ACL cutthrough "accept" (TESTSUITE/test-config 22)
check control = cutthrough_delivery
check verify = recipient
domain.com in domains?
domain.com in "*"?
list element: *
domain.com in "*"? yes (matched "*")
+try option errors_to
+try option headers_add
+try option headers_remove
try option transport
try option unseen
----------- end verify ------------
-accept: condition test succeeded in ACL "cutthrough"
-end of ACL "cutthrough": ACCEPT
+accept: condition test succeeded in ACL cutthrough
+end of ACL cutthrough: ACCEPT
----------- start cutthrough setup ------------
domain.com in domains?
list element: !░+local_domains
domain.com in "*"?
list element: *
domain.com in "*"? yes (matched "*")
+try option errors_to
+try option headers_add
+try option headers_remove
try option transport
try option unseen
try option interface
250 HELP
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}}
- ├───expanded: $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}}
- ├───expanded: .outlook.com\$
- ╰─────result: .outlook.com$
- ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}░{$1}}
- ├──────value:
- ├───scanning: }{\N^250-([\w.]+)\s\N}}}░{$1}}
- ├───expanded: $item
- ├─────result: ◀skipped▶
- ╰───skipping: result is not used
- ╭───scanning: \N^250-([\w.]+)\s\N}}}░{$1}}
- ├──protected: ^250-([\w.]+)\s
- ├───scanning: }}}░{$1}}
- ├───expanded: \N^250-([\w.]+)\s\N
- ├─────result: ◀skipped▶
- ╰───skipping: result is not used
+ cond: and
+ cond: match
+ ╎╭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}}
+ ╎├───expanded: $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}}
+ ╎├───expanded: .outlook.com\$
+ ╎╰─────result: .outlook.com$
+ cond: match
+ ╎╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+ ╎├──────value:
+ ╎├───scanning: }{\N^250-([\w.]+)\s\N}}}░{$1}}
+ ╎├───expanded: $item
+ ╎├─────result: ◀skipped▶
+ ╎╰───skipping: result is not used
+ ╎╭───scanning: \N^250-([\w.]+)\s\N}}}░{$1}}
+ ╎├──protected: ^250-([\w.]+)\s
+ ╎├───scanning: }}}░{$1}}
+ ╎├───expanded: \N^250-([\w.]+)\s\N
+ ╎├─────result: ◀skipped▶
+ ╎╰───skipping: result is not used
├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}
├─────result: false
╭───scanning: $1}}
├───expanded: ${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}{*}{:}}
- ├───expanded: $address_data
- ╰─────result: usery
- ╰──(tainted)
- ╭considering: usery}{*}{:}}
- ├───────text: usery
- ├considering: }{*}{:}}
- ├───expanded: usery
- ╰─────result: usery
+ cond: eq
+ ╭considering: $address_data}{usery}{*}{:}}
+ ├──────value: usery
+ ╰──(tainted)
+ ├considering: }{usery}{*}{:}}
+ ├───expanded: $address_data
+ ╰─────result: usery
+ ╰──(tainted)
+ ╭considering: usery}{*}{:}}
+ ├───────text: usery
+ ├considering: }{*}{:}}
+ ├───expanded: usery
+ ╰─────result: usery
├──condition: eq░{$address_data}{usery}
├─────result: true
╭considering: *}{:}}
holding verify callout open for cutthrough delivery
----------- end cutthrough setup ------------
try option acl_smtp_predata
-processing "accept" (TESTSUITE/test-config 55)
+processing inline ACL "accept"
accept: condition test succeeded in inline ACL
end of inline ACL: ACCEPT
SMTP>> DATA
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:sender_rcvhost
├─────result: false
╭───scanning: from░$sender_rcvhost↩
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:sender_ident
├─────result: true
╭considering: from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:sender_helo_name
├─────result: true
╭considering: (helo=$sender_helo_name)↩
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:received_protocol
├─────result: true
╭considering: with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
├─────result: ◀skipped▶
╰───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}}
+ cond: def
├──condition: def:tls_in_cipher_std
├─────result: false
╭───scanning: ░tls░$tls_in_cipher_std↩
├─────result: ◀skipped▶
╰───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░{↩
├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:sender_address
├─────result: true
╭considering: (envelope-from░<$sender_address>)↩
├──────value: 10HmaZ-000000005vi-0000
├considering: ${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:received_for
├─────result: true
╭considering: ↩
list element: *
in limits_advertise_hosts? yes (matched "*")
in dsn_advertise_hosts? no (option unset)
+try option acl_smtp_atrn
try option acl_smtp_etrn
try option acl_smtp_vrfy
try option acl_smtp_expn
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}}
- ├───expanded: SERVER
- ╰─────result: SERVER
- ╭considering: server}{queue}{cutthrough}}
- ├───────text: server
- ├considering: }{queue}{cutthrough}}
- ├───expanded: server
- ╰─────result: server
+ cond: eq
+ ╭considering: SERVER}{server}{queue}{cutthrough}}
+ ├───────text: SERVER
+ ├considering: }{server}{queue}{cutthrough}}
+ ├───expanded: SERVER
+ ╰─────result: SERVER
+ ╭considering: server}{queue}{cutthrough}}
+ ├───────text: server
+ ├considering: }{queue}{cutthrough}}
+ ├───expanded: server
+ ╰─────result: server
├──condition: eq░{SERVER}{server}
├─────result: false
╭───scanning: queue}{cutthrough}}
├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}}
╰─────result: cutthrough
using ACL "cutthrough"
-processing "accept" (TESTSUITE/test-config 22)
+processing ACL cutthrough "accept" (TESTSUITE/test-config 22)
check control = cutthrough_delivery
check verify = recipient
domain.com in domains?
domain.com in "*"?
list element: *
domain.com in "*"? yes (matched "*")
+try option errors_to
+try option headers_add
+try option headers_remove
try option transport
try option unseen
----------- end verify ------------
-accept: condition test succeeded in ACL "cutthrough"
-end of ACL "cutthrough": ACCEPT
+accept: condition test succeeded in ACL cutthrough
+end of ACL cutthrough: ACCEPT
----------- start cutthrough setup ------------
domain.com in domains?
list element: !░+local_domains
domain.com in "*"?
list element: *
domain.com in "*"? yes (matched "*")
+try option errors_to
+try option headers_add
+try option headers_remove
try option transport
try option unseen
try option interface
250 HELP
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}}
- ├───expanded: $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}}
- ├───expanded: .outlook.com\$
- ╰─────result: .outlook.com$
- ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}░{$1}}
- ├──────value:
- ├───scanning: }{\N^250-([\w.]+)\s\N}}}░{$1}}
- ├───expanded: $item
- ├─────result: ◀skipped▶
- ╰───skipping: result is not used
- ╭───scanning: \N^250-([\w.]+)\s\N}}}░{$1}}
- ├──protected: ^250-([\w.]+)\s
- ├───scanning: }}}░{$1}}
- ├───expanded: \N^250-([\w.]+)\s\N
- ├─────result: ◀skipped▶
- ╰───skipping: result is not used
+ cond: and
+ cond: match
+ ╎╭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}}
+ ╎├───expanded: $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}}
+ ╎├───expanded: .outlook.com\$
+ ╎╰─────result: .outlook.com$
+ cond: match
+ ╎╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}░{$1}}
+ ╎├──────value:
+ ╎├───scanning: }{\N^250-([\w.]+)\s\N}}}░{$1}}
+ ╎├───expanded: $item
+ ╎├─────result: ◀skipped▶
+ ╎╰───skipping: result is not used
+ ╎╭───scanning: \N^250-([\w.]+)\s\N}}}░{$1}}
+ ╎├──protected: ^250-([\w.]+)\s
+ ╎├───scanning: }}}░{$1}}
+ ╎├───expanded: \N^250-([\w.]+)\s\N
+ ╎├─────result: ◀skipped▶
+ ╎╰───skipping: result is not used
├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}
├─────result: false
╭───scanning: $1}}
├───expanded: ${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}{*}{:}}
- ├───expanded: $address_data
- ╰─────result: usery
- ╰──(tainted)
- ╭considering: usery}{*}{:}}
- ├───────text: usery
- ├considering: }{*}{:}}
- ├───expanded: usery
- ╰─────result: usery
+ cond: eq
+ ╭considering: $address_data}{usery}{*}{:}}
+ ├──────value: usery
+ ╰──(tainted)
+ ├considering: }{usery}{*}{:}}
+ ├───expanded: $address_data
+ ╰─────result: usery
+ ╰──(tainted)
+ ╭considering: usery}{*}{:}}
+ ├───────text: usery
+ ├considering: }{*}{:}}
+ ├───expanded: usery
+ ╰─────result: usery
├──condition: eq░{$address_data}{usery}
├─────result: true
╭considering: *}{:}}
holding verify callout open for cutthrough delivery
----------- end cutthrough setup ------------
try option acl_smtp_predata
-processing "accept" (TESTSUITE/test-config 55)
+processing inline ACL "accept"
accept: condition test succeeded in inline ACL
end of inline ACL: ACCEPT
SMTP>> DATA
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:sender_rcvhost
├─────result: false
╭───scanning: from░$sender_rcvhost↩
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:sender_ident
├─────result: true
╭considering: from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:sender_helo_name
├─────result: true
╭considering: (helo=$sender_helo_name)↩
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:received_protocol
├─────result: true
╭considering: with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
├─────result: ◀skipped▶
╰───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}}
+ cond: def
├──condition: def:tls_in_cipher_std
├─────result: false
╭───scanning: ░tls░$tls_in_cipher_std↩
├─────result: ◀skipped▶
╰───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░{↩
├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:sender_address
├─────result: true
╭considering: (envelope-from░<$sender_address>)↩
├──────value: 10HmbB-000000005vi-0000
├considering: ${if░def:received_for░{↩
␉for░$received_for}}
+ cond: def
├──condition: def:received_for
├─────result: true
╭considering: ↩