Exim version x.yz ....
+environment after trimming:
+ PATH=<munged>
adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys
configuration file is TESTSUITE/test-config
admin user
LOG: smtp_connection MAIN
SMTP connection from CALLER
╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├──────value: myhost.test.ex
├considering: ESMTP Exim $version_number $tod_full
├───────text: ESMTP Exim
├considering: $version_number $tod_full
+ ├──────value: x.yz
├considering: $tod_full
├───────text:
├considering: $tod_full
+ ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ list element: *
+ in limits_advertise_hosts? yes (matched "*")
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
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
+ ├──────value: userx
+ ╰──(tainted)
├──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
+ ├──────value: userx
+ ╰──(tainted)
├──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
+ ├──────value: myhost.test.ex
├──expanding: $primary_hostname
╰─────result: myhost.test.ex
SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
cmd buf flush ddd bytes
SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
250-SIZE 52428800
+ 250-LIMITS MAILMAX=1000 RCPTMAX=50000
250-8BITMIME
250-PIPELINING
250-STARTTLS
250 HELP
+ ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──────value: 127.0.0.1
+ ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: $host
+ ╰─────result: 127.0.0.1
+ ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───────text: .outlook.com
+ ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├backslashed: '\$'
+ ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: .outlook.com\$
+ ╰─────result: .outlook.com$
+ ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──────value:
+ ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: $item
+ ├─────result:
+ ╰───skipping: result is not used
+ ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+ ├──protected: ^250-([\w.]+)\s
+ ├───scanning: }}} {$1}}
+ ├──expanding: \N^250-([\w.]+)\s\N
+ ├─────result: ^250-([\w.]+)\s
+ ╰───skipping: result is not used
+ ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├─────result: false
+ ╭───scanning: $1}}
+ ├───scanning: }}
+ ├──expanding: $1
+ ├─────result:
+ ╰───skipping: result is not used
+ ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╰─────result:
╭considering: ${if eq {$address_data}{usery}{*}{:}}
╭considering: $address_data}{usery}{*}{:}}
+ ├──────value: userx
+ ╰──(tainted)
├considering: }{usery}{*}{:}}
├──expanding: $address_data
╰─────result: userx
╰─────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}{*}{:}}
+ ├──────value: userx
+ ╰──(tainted)
├considering: }{userz}{*}{:}}
├──expanding: $address_data
╰─────result: userx
╰─────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]
250-SIZE 52428800
+ 250-LIMITS MAILMAX=1000 RCPTMAX=50000
250-8BITMIME
250-PIPELINING
250 HELP
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value:
├───scanning:
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
╎ ${if def:sender_address {(envelope-from <$sender_address>)
╎ }}id $message_exim_id${if def:received_for {
╎ for $received_for}}
+ ╎├──────value: CALLER
╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name)
╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
╎ }}(Exim $version_number)
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)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: myhost.test.ex
+ ╰──(tainted)
├considering: )
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
╰─────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>)
╰─────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>)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: myhost.test.ex
├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: local-esmtp
├considering: }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
for $received_for}}
├──expanding: with $received_protocol
╰─────result: with local-esmtp
+ ├───item-res: with local-esmtp
+ ╰──(tainted)
├considering: ${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
├──expanding: ($tls_in_ver)
├─────result: ()
╰───skipping: result is not used
+ ├───item-res:
+ ╰──(tainted)
├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value:
├───scanning:
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
├─────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 {
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: x.yz
├considering: )
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
├considering: $sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: CALLER@myhost.test.ex
├considering: >)
}}id $message_exim_id${if def:received_for {
for $received_for}}
╰─────result: (envelope-from <CALLER@myhost.test.ex>)
+ ├───item-res: (envelope-from <CALLER@myhost.test.ex>)
+
+ ╰──(tainted)
├considering: id $message_exim_id${if def:received_for {
for $received_for}}
├───────text: id
├considering: $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: 10HmaX-000000005vi-0000
├considering: ${if def:received_for {
for $received_for}}
├──condition: def:received_for
├───────text:
for
├considering: $received_for}}
+ ├──────value: userx@domain.com
+ ╰──(tainted)
├considering: }}
├──expanding:
for $received_for
╰─────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
╰─────result: Received: from CALLER (helo=myhost.test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
- id 10HmaX-0005vi-00
+ id 10HmaX-000000005vi-0000
for userx@domain.com
╰──(tainted)
----------- start cutthrough headers send -----------
├──expanding: ${tod_full}
╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> .
- SMTP<< 250 OK id=10HmaY-0005vi-00
+ SMTP<< 250 OK id=10HmaY-000000005vi-0000
LOG: MAIN
- >> userx@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] X=TLS1.x:ke-RSA-AES256-SHAnnn:xxx CV=no C="250 OK id=10HmaY-0005vi-00"
+ >> userx@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] X=TLS1.x:ke-RSA-AES256-SHAnnn:xxx CV=no C="250 OK id=10HmaY-000000005vi-0000"
SMTP>> QUIT
SMTP<< 221 myhost.test.ex closing connection
SMTP(close)>>
+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
LOG: smtp_connection MAIN
SMTP connection from CALLER
╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├──────value: myhost.test.ex
├considering: ESMTP Exim $version_number $tod_full
├───────text: ESMTP Exim
├considering: $version_number $tod_full
+ ├──────value: x.yz
├considering: $tod_full
├───────text:
├considering: $tod_full
+ ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ list element: *
+ in limits_advertise_hosts? yes (matched "*")
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
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
+ ├──────value: usery
+ ╰──(tainted)
├──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
+ ├──────value: usery
+ ╰──(tainted)
├──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
+ ├──────value: myhost.test.ex
├──expanding: $primary_hostname
╰─────result: myhost.test.ex
SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
cmd buf flush ddd bytes
SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
250-SIZE 52428800
+ 250-LIMITS MAILMAX=1000 RCPTMAX=50000
250-8BITMIME
250-PIPELINING
250-STARTTLS
250 HELP
+ ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──────value: 127.0.0.1
+ ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: $host
+ ╰─────result: 127.0.0.1
+ ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───────text: .outlook.com
+ ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├backslashed: '\$'
+ ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: .outlook.com\$
+ ╰─────result: .outlook.com$
+ ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──────value:
+ ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: $item
+ ├─────result:
+ ╰───skipping: result is not used
+ ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+ ├──protected: ^250-([\w.]+)\s
+ ├───scanning: }}} {$1}}
+ ├──expanding: \N^250-([\w.]+)\s\N
+ ├─────result: ^250-([\w.]+)\s
+ ╰───skipping: result is not used
+ ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├─────result: false
+ ╭───scanning: $1}}
+ ├───scanning: }}
+ ├──expanding: $1
+ ├─────result:
+ ╰───skipping: result is not used
+ ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╰─────result:
╭considering: ${if eq {$address_data}{usery}{*}{:}}
╭considering: $address_data}{usery}{*}{:}}
+ ├──────value: usery
+ ╰──(tainted)
├considering: }{usery}{*}{:}}
├──expanding: $address_data
╰─────result: usery
╰───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
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value:
├───scanning:
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
╎ ${if def:sender_address {(envelope-from <$sender_address>)
╎ }}id $message_exim_id${if def:received_for {
╎ for $received_for}}
+ ╎├──────value: CALLER
╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name)
╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
╎ }}(Exim $version_number)
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)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: myhost.test.ex
+ ╰──(tainted)
├considering: )
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
╰─────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>)
╰─────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>)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: myhost.test.ex
├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: local-esmtp
├considering: }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
for $received_for}}
├──expanding: with $received_protocol
╰─────result: with local-esmtp
+ ├───item-res: with local-esmtp
+ ╰──(tainted)
├considering: ${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
├──expanding: ($tls_in_ver)
├─────result: ()
╰───skipping: result is not used
+ ├───item-res:
+ ╰──(tainted)
├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value:
├───scanning:
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
├─────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 {
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: x.yz
├considering: )
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
├considering: $sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: CALLER@myhost.test.ex
├considering: >)
}}id $message_exim_id${if def:received_for {
for $received_for}}
╰─────result: (envelope-from <CALLER@myhost.test.ex>)
+ ├───item-res: (envelope-from <CALLER@myhost.test.ex>)
+
+ ╰──(tainted)
├considering: id $message_exim_id${if def:received_for {
for $received_for}}
├───────text: id
├considering: $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: 10HmaZ-000000005vi-0000
├considering: ${if def:received_for {
for $received_for}}
├──condition: def:received_for
├───────text:
for
├considering: $received_for}}
+ ├──────value: usery@domain.com
+ ╰──(tainted)
├considering: }}
├──expanding:
for $received_for
╰─────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
╰─────result: Received: from CALLER (helo=myhost.test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
- id 10HmaZ-0005vi-00
+ id 10HmaZ-000000005vi-0000
for usery@domain.com
╰──(tainted)
----------- start cutthrough headers send -----------
├──expanding: ${tod_full}
╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> .
- SMTP<< 250 OK id=10HmbA-0005vi-00
+ SMTP<< 250 OK id=10HmbA-000000005vi-0000
LOG: MAIN
- >> usery@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK id=10HmbA-0005vi-00"
+ >> usery@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK id=10HmbA-000000005vi-0000"
SMTP>> QUIT
SMTP<< 221 myhost.test.ex closing connection
SMTP(close)>>
+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
LOG: smtp_connection MAIN
SMTP connection from CALLER
╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├──────value: myhost.test.ex
├considering: ESMTP Exim $version_number $tod_full
├───────text: ESMTP Exim
├considering: $version_number $tod_full
+ ├──────value: x.yz
├considering: $tod_full
├───────text:
├considering: $tod_full
+ ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ list element: *
+ in limits_advertise_hosts? yes (matched "*")
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
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
+ ├──────value: usery
+ ╰──(tainted)
├──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
+ ├──────value: usery
+ ╰──(tainted)
├──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
+ ├──────value: myhost.test.ex
├──expanding: $primary_hostname
╰─────result: myhost.test.ex
SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
cmd buf flush ddd bytes
SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4]
250-SIZE 52428800
+ 250-LIMITS MAILMAX=1000 RCPTMAX=50000
250-8BITMIME
250-PIPELINING
250-STARTTLS
250 HELP
+ ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──────value: 127.0.0.1
+ ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: $host
+ ╰─────result: 127.0.0.1
+ ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───────text: .outlook.com
+ ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├backslashed: '\$'
+ ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: .outlook.com\$
+ ╰─────result: .outlook.com$
+ ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──────value:
+ ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: $item
+ ├─────result:
+ ╰───skipping: result is not used
+ ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+ ├──protected: ^250-([\w.]+)\s
+ ├───scanning: }}} {$1}}
+ ├──expanding: \N^250-([\w.]+)\s\N
+ ├─────result: ^250-([\w.]+)\s
+ ╰───skipping: result is not used
+ ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├─────result: false
+ ╭───scanning: $1}}
+ ├───scanning: }}
+ ├──expanding: $1
+ ├─────result:
+ ╰───skipping: result is not used
+ ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╰─────result:
╭considering: ${if eq {$address_data}{usery}{*}{:}}
╭considering: $address_data}{usery}{*}{:}}
+ ├──────value: usery
+ ╰──(tainted)
├considering: }{usery}{*}{:}}
├──expanding: $address_data
╰─────result: usery
╰───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
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value:
├───scanning:
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
╎ ${if def:sender_address {(envelope-from <$sender_address>)
╎ }}id $message_exim_id${if def:received_for {
╎ for $received_for}}
+ ╎├──────value: CALLER
╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name)
╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
╎ }}(Exim $version_number)
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)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: myhost.test.ex
+ ╰──(tainted)
├considering: )
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
╰─────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>)
╰─────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>)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: myhost.test.ex
├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: local-esmtp
├considering: }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
for $received_for}}
├──expanding: with $received_protocol
╰─────result: with local-esmtp
+ ├───item-res: with local-esmtp
+ ╰──(tainted)
├considering: ${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
├──expanding: ($tls_in_ver)
├─────result: ()
╰───skipping: result is not used
+ ├───item-res:
+ ╰──(tainted)
├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value:
├───scanning:
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
├─────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 {
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: x.yz
├considering: )
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
├considering: $sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: CALLER@myhost.test.ex
├considering: >)
}}id $message_exim_id${if def:received_for {
for $received_for}}
╰─────result: (envelope-from <CALLER@myhost.test.ex>)
+ ├───item-res: (envelope-from <CALLER@myhost.test.ex>)
+
+ ╰──(tainted)
├considering: id $message_exim_id${if def:received_for {
for $received_for}}
├───────text: id
├considering: $message_exim_id${if def:received_for {
for $received_for}}
+ ├──────value: 10HmbB-000000005vi-0000
├considering: ${if def:received_for {
for $received_for}}
├──condition: def:received_for
├───────text:
for
├considering: $received_for}}
+ ├──────value: usery@domain.com
+ ╰──(tainted)
├considering: }}
├──expanding:
for $received_for
╰─────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
╰─────result: Received: from CALLER (helo=myhost.test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
- id 10HmbB-0005vi-00
+ id 10HmbB-000000005vi-0000
for usery@domain.com
╰──(tainted)
----------- start cutthrough headers send -----------
├──expanding: ${tod_full}
╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> .
- SMTP<< 250 OK id=10HmbC-0005vi-00
+ SMTP<< 250 OK id=10HmbC-000000005vi-0000
LOG: MAIN
- >> usery@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK id=10HmbC-0005vi-00"
+ >> usery@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK id=10HmbC-000000005vi-0000"
SMTP>> QUIT
SMTP<< 221 myhost.test.ex closing connection
SMTP(close)>>
+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 ********