X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/799253d6a75db70c631716a190736c285a97155c..ee549a2ed04164407f4f897be3bf545f32579c5c:/test/stderr/5420?ds=sidebyside diff --git a/test/stderr/5420 b/test/stderr/5420 index f815d3883..6fad569ad 100644 --- a/test/stderr/5420 +++ b/test/stderr/5420 @@ -31,6 +31,7 @@ try option acl_smtp_helo 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 @@ -44,16 +45,17 @@ 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}} @@ -70,7 +72,7 @@ try option acl_smtp_rcpt ├───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? @@ -94,12 +96,14 @@ processing address_data 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 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 @@ -122,9 +126,11 @@ processing address_data 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 unseen try option interface Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option dscp @@ -149,30 +155,33 @@ cmd buf flush ddd bytes 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}} @@ -183,18 +192,19 @@ try option host_name_extract ├───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: *}{:}} @@ -214,18 +224,19 @@ try option host_name_extract 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: *}{:}} @@ -278,7 +289,7 @@ sync_responses expect rcpt for userx@domain.com 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 @@ -304,6 +315,7 @@ try option received_header_text ␉${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↩ @@ -347,6 +359,7 @@ try option received_header_text ␉${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)↩ @@ -400,6 +413,7 @@ try option received_header_text ␉${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)↩ @@ -474,6 +488,7 @@ try option received_header_text ␉${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↩ @@ -508,6 +523,7 @@ try option received_header_text ␉${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}} @@ -515,12 +531,12 @@ try option received_header_text ├─────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↩ @@ -551,7 +567,6 @@ try option received_header_text ├─────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░{↩ @@ -571,6 +586,7 @@ try option received_header_text ├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>)↩ @@ -603,6 +619,7 @@ try option received_header_text ├──────value: 10HmaX-000000005vi-0000 ├considering: ${if░def:received_for░{↩ ␉for░$received_for}} + cond: def ├──condition: def:received_for ├─────result: true ╭considering: ↩ @@ -690,6 +707,7 @@ try option acl_smtp_helo 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 @@ -703,16 +721,17 @@ 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}} @@ -729,7 +748,7 @@ try option acl_smtp_rcpt ├───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? @@ -753,12 +772,14 @@ processing address_data 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 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 @@ -781,9 +802,11 @@ processing address_data 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 unseen try option interface Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option dscp @@ -808,30 +831,33 @@ cmd buf flush ddd bytes 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}} @@ -842,18 +868,19 @@ try option host_name_extract ├───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: *}{:}} @@ -887,7 +914,7 @@ sync_responses expect rcpt for usery@domain.com 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 @@ -913,6 +940,7 @@ try option received_header_text ␉${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↩ @@ -956,6 +984,7 @@ try option received_header_text ␉${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)↩ @@ -1009,6 +1038,7 @@ try option received_header_text ␉${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)↩ @@ -1083,6 +1113,7 @@ try option received_header_text ␉${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↩ @@ -1117,6 +1148,7 @@ try option received_header_text ␉${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}} @@ -1124,12 +1156,12 @@ try option received_header_text ├─────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↩ @@ -1160,7 +1192,6 @@ try option received_header_text ├─────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░{↩ @@ -1180,6 +1211,7 @@ try option received_header_text ├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>)↩ @@ -1212,6 +1244,7 @@ try option received_header_text ├──────value: 10HmaZ-000000005vi-0000 ├considering: ${if░def:received_for░{↩ ␉for░$received_for}} + cond: def ├──condition: def:received_for ├─────result: true ╭considering: ↩ @@ -1299,6 +1332,7 @@ try option acl_smtp_helo 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 @@ -1312,16 +1346,17 @@ 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}} @@ -1338,7 +1373,7 @@ try option acl_smtp_rcpt ├───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? @@ -1362,12 +1397,14 @@ processing address_data 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 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 @@ -1390,9 +1427,11 @@ processing address_data 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 unseen try option interface Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option dscp @@ -1417,30 +1456,33 @@ cmd buf flush ddd bytes 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}} @@ -1451,18 +1493,19 @@ try option host_name_extract ├───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: *}{:}} @@ -1496,7 +1539,7 @@ sync_responses expect rcpt for usery@domain.com 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 @@ -1522,6 +1565,7 @@ try option received_header_text ␉${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↩ @@ -1565,6 +1609,7 @@ try option received_header_text ␉${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)↩ @@ -1618,6 +1663,7 @@ try option received_header_text ␉${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)↩ @@ -1692,6 +1738,7 @@ try option received_header_text ␉${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↩ @@ -1726,6 +1773,7 @@ try option received_header_text ␉${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}} @@ -1733,12 +1781,12 @@ try option received_header_text ├─────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↩ @@ -1769,7 +1817,6 @@ try option received_header_text ├─────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░{↩ @@ -1789,6 +1836,7 @@ try option received_header_text ├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>)↩ @@ -1821,6 +1869,7 @@ try option received_header_text ├──────value: 10HmbB-000000005vi-0000 ├considering: ${if░def:received_for░{↩ ␉for░$received_for}} + cond: def ├──condition: def:received_for ├─────result: true ╭considering: ↩