Exim version x.yz ....
+adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys
configuration file is TESTSUITE/test-config
admin user
in hosts_connection_nolog? no (option unset)
LOG: smtp_connection MAIN
SMTP connection from CALLER
- ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├considering: ESMTP Exim $version_number $tod_full
+ ├───────text: ESMTP Exim
+ ├considering: $version_number $tod_full
+ ├considering: $tod_full
+ ├───────text:
+ ├considering: $tod_full
├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- â\94\94─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ â\95°─────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 chunking_advertise_hosts? no (end of list)
in tls_advertise_hosts? yes (matched "*")
- ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
- ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ╭considering: SERVER}{server}{queue}{cutthrough}}
+ ├───────text: SERVER
+ ├considering: }{server}{queue}{cutthrough}}
├──expanding: SERVER
- └─────result: SERVER
- ┌considering: server}{queue}{cutthrough}}
+ ╰─────result: SERVER
+ ╭considering: server}{queue}{cutthrough}}
+ ├───────text: server
+ ├considering: }{queue}{cutthrough}}
├──expanding: server
- â\94\94─────result: server
+ â\95°─────result: server
├──condition: eq {SERVER}{server}
├─────result: false
- ┌───scanning: queue}{cutthrough}}
+ ╭───scanning: queue}{cutthrough}}
+ ├───────text: queue
+ ├───scanning: }{cutthrough}}
├──expanding: queue
├─────result: queue
- └───skipping: result is not used
- ┌considering: cutthrough}}
+ ╰───skipping: result is not used
+ ╭considering: cutthrough}}
+ ├───────text: cutthrough
+ ├considering: }}
├──expanding: cutthrough
- â\94\94─────result: cutthrough
+ â\95°─────result: cutthrough
├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- â\94\94─────result: cutthrough
+ â\95°─────result: cutthrough
using ACL "cutthrough"
-processing "accept"
+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"? yes (end of list)
- â\94\8cconsidering: $local_part
+ â\95considering: $local_part
├──expanding: $local_part
- └─────result: userx
+ ╰─────result: userx
+ ╰──(tainted)
domain.com in "*"? yes (matched "*")
----------- end verify ------------
accept: condition test succeeded in ACL "cutthrough"
----------- start cutthrough setup ------------
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- â\94\8cconsidering: $local_part
+ â\95considering: $local_part
├──expanding: $local_part
- └─────result: userx
+ ╰─────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
- â\94\8cconsidering: $primary_hostname
+Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
+ â\95considering: $primary_hostname
├──expanding: $primary_hostname
- â\94\94─────result: myhost.test.ex
+ â\95°─────result: myhost.test.ex
SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
127.0.0.1 in hosts_avoid_esmtp? no (option unset)
SMTP>> EHLO myhost.test.ex
250-PIPELINING
250-STARTTLS
250 HELP
- ┌considering: ${if eq {$address_data}{usery}{*}{:}}
- ┌considering: $address_data}{usery}{*}{:}}
+ ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: $host
+ ╰─────result: 127.0.0.1
+ ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───────text: .outlook.com
+ ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├backslashed: '\$'
+ ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: .outlook.com\$
+ ╰─────result: .outlook.com$
+ ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: $item
+ ├─────result:
+ ╰───skipping: result is not used
+ ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+ ├──protected: ^250-([\w.]+)\s
+ ├───scanning: }}} {$1}}
+ ├──expanding: \N^250-([\w.]+)\s\N
+ ├─────result: ^250-([\w.]+)\s
+ ╰───skipping: result is not used
+ ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├─────result: false
+ ╭───scanning: $1}}
+ ├───scanning: }}
+ ├──expanding: $1
+ ├─────result:
+ ╰───skipping: result is not used
+ ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╰─────result:
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+ ╭considering: $address_data}{usery}{*}{:}}
+ ├considering: }{usery}{*}{:}}
├──expanding: $address_data
- └─────result: userx
- ┌considering: usery}{*}{:}}
+ ╰─────result: userx
+ ╰──(tainted)
+ ╭considering: usery}{*}{:}}
+ ├───────text: usery
+ ├considering: }{*}{:}}
├──expanding: usery
- â\94\94─────result: usery
+ â\95°─────result: usery
├──condition: eq {$address_data}{usery}
├─────result: false
- ┌───scanning: *}{:}}
+ ╭───scanning: *}{:}}
+ ├───────text: *
+ ├───scanning: }{:}}
├──expanding: *
├─────result: *
- └───skipping: result is not used
- ┌considering: :}}
+ ╰───skipping: result is not used
+ ╭considering: :}}
+ ├───────text: :
+ ├considering: }}
├──expanding: :
- â\94\94─────result: :
+ â\95°─────result: :
├──expanding: ${if eq {$address_data}{usery}{*}{:}}
- â\94\94─────result: :
+ â\95°─────result: :
127.0.0.1 in hosts_avoid_tls? no (end of list)
- ┌considering: ${if eq {$address_data}{userz}{*}{:}}
- ┌considering: $address_data}{userz}{*}{:}}
+ ╭considering: ${if eq {$address_data}{userz}{*}{:}}
+ ╭considering: $address_data}{userz}{*}{:}}
+ ├considering: }{userz}{*}{:}}
├──expanding: $address_data
- └─────result: userx
- ┌considering: userz}{*}{:}}
+ ╰─────result: userx
+ ╰──(tainted)
+ ╭considering: userz}{*}{:}}
+ ├───────text: userz
+ ├considering: }{*}{:}}
├──expanding: userz
- â\94\94─────result: userz
+ â\95°─────result: userz
├──condition: eq {$address_data}{userz}
├─────result: false
- ┌───scanning: *}{:}}
+ ╭───scanning: *}{:}}
+ ├───────text: *
+ ├───scanning: }{:}}
├──expanding: *
├─────result: *
- └───skipping: result is not used
- ┌considering: :}}
+ ╰───skipping: result is not used
+ ╭considering: :}}
+ ├───────text: :
+ ├considering: }}
├──expanding: :
- â\94\94─────result: :
+ â\95°─────result: :
├──expanding: ${if eq {$address_data}{userz}{*}{:}}
- â\94\94─────result: :
+ â\95°─────result: :
127.0.0.1 in hosts_verify_avoid_tls? no (end of list)
SMTP>> STARTTLS
cmd buf flush ddd bytes
using PIPELINING
not using DSN
127.0.0.1 in hosts_require_auth? no (option unset)
- SMTP>> MAIL FROM:<CALLER@myhost.test.ex>
+ SMTP|> MAIL FROM:<CALLER@myhost.test.ex>
SMTP>> RCPT TO:<userx@domain.com>
cmd buf flush ddd bytes
+sync_responses expect mail
SMTP<< 250 OK
+sync_responses expect rcpt for userx@domain.com
SMTP<< 250 Accepted
holding verify callout open for cutthrough delivery
----------- end cutthrough setup ------------
-processing "accept"
+processing "accept" (TESTSUITE/test-config 55)
accept: condition test succeeded in inline ACL
end of inline ACL: ACCEPT
SMTP>> DATA
SMTP<< 354 Enter message, ending with "." on a line by itself
- â\94\8cconsidering: ${tod_full}
+ â\95considering: ${tod_full}
├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: 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
+ }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: Received:
+ ├considering: ${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}} (Exim $version_number)
+ }}}}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}}
├──condition: def:sender_rcvhost
├─────result: false
- ┌───scanning: from $sender_rcvhost
+ ╭───scanning: 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
+ }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: from
+ ├───scanning: $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}} (Exim $version_number)
+ }}}}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}}
+ ├───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
+ }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text:
+
+ ├───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
+ }}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
├─────result: from
- └───skipping: result is not used
- ┌considering: ${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}} (Exim $version_number)
+ ╰───skipping: result is not used
+ ╭considering: ${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
+ }}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
├──condition: def:sender_ident
├─────result: true
- ┌considering: 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}} (Exim $version_number)
+ ╭considering: 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
+ }}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
- ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol ╎}} (Exim $version_number)
+ ├───────text: from
+ ├considering: ${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
+ }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ╎╭considering: $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
+ ╎ }}(Exim $version_number)
+ ╎ ${if def:sender_address {(envelope-from <$sender_address>)
+ ╎ }}id $message_exim_id${if def:received_for {
+ ╎ for $received_for}}
+ ╎├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}}
╎├──expanding: $sender_ident
- ╎└─────result: CALLER
+ ╎╰─────result: CALLER
+ ├─────op-res: 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}}
+ ├───────text:
+ ├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}}
├──expanding: from ${quote_local_part:$sender_ident}
- └─────result: from CALLER
+ ╰─────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}}
├──condition: def:sender_helo_name
├─────result: true
- ┌considering: (helo=$sender_helo_name)
- }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
+ ╭considering: (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}}
+ ├───────text: (helo=
+ ├considering: $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}}
+ ├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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: )
+
+ ├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>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
├──expanding: (helo=$sender_helo_name)
- â\94\94─────result: (helo=myhost.test.ex)
+ â\95°─────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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}
- â\94\94─────result: from CALLER (helo=myhost.test.ex)
+ â\95°─────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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: by
+ ├considering: $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}}
+ ├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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text:
+ ├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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
├──condition: def:received_protocol
├─────result: true
- ┌considering: with $received_protocol}} (Exim $version_number)
+ ╭considering: 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}}
- ├──expanding: with $received_protocol
- └─────result: with local-esmtp
- ├──condition: def:tls_cipher
+ ├───────text: with
+ ├considering: $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}}
+ ├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}}
+ ├───────text:
+ ├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}}
+ ├──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}}
+ }}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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├──condition: def:tls_in_cipher_std
├─────result: false
- ┌───scanning: ($tls_cipher)
+ ╭───scanning: 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}}
+ ├───────text: tls
+ ├───scanning: $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}}
- ├──expanding: ($tls_cipher)
+ ├───scanning:
+ }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text:
+
+ ├───scanning: }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├──expanding: tls $tls_in_cipher_std
- ├─────result: ()
+ ├─────result: tls
- └───skipping: result is not used
+ ╰───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 {
+ for $received_for}}
+ ├───────text: (Exim
+ ├considering: $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├considering: )
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: )
+
+ ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
├──condition: def:sender_address
├─────result: true
- ┌considering: (envelope-from <$sender_address>)
+ ╭considering: (envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: (envelope-from <
+ ├considering: $sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├considering: >)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├───────text: >)
+
+ ├considering: }}id $message_exim_id${if def:received_for {
+ for $received_for}}
├──expanding: (envelope-from <$sender_address>)
- â\94\94─────result: (envelope-from <CALLER@myhost.test.ex>)
+ â\95°─────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}}
+ ├considering: ${if def:received_for {
+ for $received_for}}
├──condition: def:received_for
├─────result: true
- â\94\8cconsidering:
+ â\95considering:
for $received_for}}
+ ├───────text:
+ for
+ ├considering: $received_for}}
+ ├considering: }}
├──expanding:
for $received_for
- â\94\94─────result:
+ â\95°─────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}} (Exim $version_number)
+ }}}}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}}
- â\94\94─────result: Received: from CALLER (helo=myhost.test.ex)
+ â\95°─────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
for userx@domain.com
+ ╰──(tainted)
----------- start cutthrough headers send -----------
----------- done cutthrough headers send ------------
- â\94\8cconsidering: ${tod_full}
+ â\95considering: ${tod_full}
├──expanding: ${tod_full}
- â\94\94─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ â\95°─────result: Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> .
SMTP<< 250 OK id=10HmaY-0005vi-00
LOG: MAIN
- >> userx@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 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-0005vi-00"
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
Completed
LOG: smtp_connection MAIN
SMTP connection from CALLER closed by QUIT
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
+adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys
configuration file is TESTSUITE/test-config
admin user
in hosts_connection_nolog? no (option unset)
LOG: smtp_connection MAIN
SMTP connection from CALLER
- ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├considering: ESMTP Exim $version_number $tod_full
+ ├───────text: ESMTP Exim
+ ├considering: $version_number $tod_full
+ ├considering: $tod_full
+ ├───────text:
+ ├considering: $tod_full
├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- â\94\94─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ â\95°─────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 chunking_advertise_hosts? no (end of list)
in tls_advertise_hosts? yes (matched "*")
- ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
- ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ╭considering: SERVER}{server}{queue}{cutthrough}}
+ ├───────text: SERVER
+ ├considering: }{server}{queue}{cutthrough}}
├──expanding: SERVER
- └─────result: SERVER
- ┌considering: server}{queue}{cutthrough}}
+ ╰─────result: SERVER
+ ╭considering: server}{queue}{cutthrough}}
+ ├───────text: server
+ ├considering: }{queue}{cutthrough}}
├──expanding: server
- â\94\94─────result: server
+ â\95°─────result: server
├──condition: eq {SERVER}{server}
├─────result: false
- ┌───scanning: queue}{cutthrough}}
+ ╭───scanning: queue}{cutthrough}}
+ ├───────text: queue
+ ├───scanning: }{cutthrough}}
├──expanding: queue
├─────result: queue
- └───skipping: result is not used
- ┌considering: cutthrough}}
+ ╰───skipping: result is not used
+ ╭considering: cutthrough}}
+ ├───────text: cutthrough
+ ├considering: }}
├──expanding: cutthrough
- â\94\94─────result: cutthrough
+ â\95°─────result: cutthrough
├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- â\94\94─────result: cutthrough
+ â\95°─────result: cutthrough
using ACL "cutthrough"
-processing "accept"
+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"? yes (end of list)
- â\94\8cconsidering: $local_part
+ â\95considering: $local_part
├──expanding: $local_part
- └─────result: usery
+ ╰─────result: usery
+ ╰──(tainted)
domain.com in "*"? yes (matched "*")
----------- end verify ------------
accept: condition test succeeded in ACL "cutthrough"
----------- start cutthrough setup ------------
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- â\94\8cconsidering: $local_part
+ â\95considering: $local_part
├──expanding: $local_part
- └─────result: usery
+ ╰─────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
- â\94\8cconsidering: $primary_hostname
+Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
+ â\95considering: $primary_hostname
├──expanding: $primary_hostname
- â\94\94─────result: myhost.test.ex
+ â\95°─────result: myhost.test.ex
SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
127.0.0.1 in hosts_avoid_esmtp? no (option unset)
SMTP>> EHLO myhost.test.ex
250-PIPELINING
250-STARTTLS
250 HELP
- ┌considering: ${if eq {$address_data}{usery}{*}{:}}
- ┌considering: $address_data}{usery}{*}{:}}
+ ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: $host
+ ╰─────result: 127.0.0.1
+ ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───────text: .outlook.com
+ ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├backslashed: '\$'
+ ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: .outlook.com\$
+ ╰─────result: .outlook.com$
+ ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: $item
+ ├─────result:
+ ╰───skipping: result is not used
+ ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+ ├──protected: ^250-([\w.]+)\s
+ ├───scanning: }}} {$1}}
+ ├──expanding: \N^250-([\w.]+)\s\N
+ ├─────result: ^250-([\w.]+)\s
+ ╰───skipping: result is not used
+ ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├─────result: false
+ ╭───scanning: $1}}
+ ├───scanning: }}
+ ├──expanding: $1
+ ├─────result:
+ ╰───skipping: result is not used
+ ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╰─────result:
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+ ╭considering: $address_data}{usery}{*}{:}}
+ ├considering: }{usery}{*}{:}}
├──expanding: $address_data
- └─────result: usery
- ┌considering: usery}{*}{:}}
+ ╰─────result: usery
+ ╰──(tainted)
+ ╭considering: usery}{*}{:}}
+ ├───────text: usery
+ ├considering: }{*}{:}}
├──expanding: usery
- â\94\94─────result: usery
+ â\95°─────result: usery
├──condition: eq {$address_data}{usery}
├─────result: true
- ┌considering: *}{:}}
+ ╭considering: *}{:}}
+ ├───────text: *
+ ├considering: }{:}}
├──expanding: *
- └─────result: *
- ┌───scanning: :}}
+ ╰─────result: *
+ ╭───scanning: :}}
+ ├───────text: :
+ ├───scanning: }}
├──expanding: :
├─────result: :
- â\94\94───skipping: result is not used
+ â\95°───skipping: result is not used
├──expanding: ${if eq {$address_data}{usery}{*}{:}}
- â\94\94─────result: *
+ â\95°─────result: *
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
127.0.0.1 in hosts_require_auth? no (option unset)
- SMTP>> MAIL FROM:<CALLER@myhost.test.ex>
+ SMTP|> MAIL FROM:<CALLER@myhost.test.ex>
SMTP>> RCPT TO:<usery@domain.com>
cmd buf flush ddd bytes
+sync_responses expect mail
SMTP<< 250 OK
+sync_responses expect rcpt for usery@domain.com
SMTP<< 250 Accepted
holding verify callout open for cutthrough delivery
----------- end cutthrough setup ------------
-processing "accept"
+processing "accept" (TESTSUITE/test-config 55)
accept: condition test succeeded in inline ACL
end of inline ACL: ACCEPT
SMTP>> DATA
SMTP<< 354 Enter message, ending with "." on a line by itself
- â\94\8cconsidering: ${tod_full}
+ â\95considering: ${tod_full}
├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: 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
+ }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: Received:
+ ├considering: ${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}} (Exim $version_number)
+ }}}}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}}
├──condition: def:sender_rcvhost
├─────result: false
- â\94\8c───scanning: from $sender_rcvhost
+ â\95───scanning: 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}} (Exim $version_number)
+ }}}}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}}
+ ├───────text: from
+ ├───scanning: $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
+ }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───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
+ }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text:
+
+ ├───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
+ }}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
├─────result: from
- └───skipping: result is not used
- ┌considering: ${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}} (Exim $version_number)
+ ╰───skipping: result is not used
+ ╭considering: ${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
+ }}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
├──condition: def:sender_ident
├─────result: true
- ┌considering: 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}} (Exim $version_number)
+ ╭considering: 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
+ }}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
- ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol ╎}} (Exim $version_number)
+ ├───────text: from
+ ├considering: ${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
+ }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ╎╭considering: $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
+ ╎ }}(Exim $version_number)
+ ╎ ${if def:sender_address {(envelope-from <$sender_address>)
+ ╎ }}id $message_exim_id${if def:received_for {
+ ╎ for $received_for}}
+ ╎├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}}
╎├──expanding: $sender_ident
- ╎└─────result: CALLER
+ ╎╰─────result: CALLER
+ ├─────op-res: 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}}
+ ├───────text:
+ ├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}}
├──expanding: from ${quote_local_part:$sender_ident}
- └─────result: from CALLER
+ ╰─────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}}
├──condition: def:sender_helo_name
├─────result: true
- ┌considering: (helo=$sender_helo_name)
- }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
+ ╭considering: (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}}
+ ├───────text: (helo=
+ ├considering: $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}}
+ ├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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: )
+
+ ├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>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
├──expanding: (helo=$sender_helo_name)
- â\94\94─────result: (helo=myhost.test.ex)
+ â\95°─────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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}
- â\94\94─────result: from CALLER (helo=myhost.test.ex)
+ â\95°─────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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: by
+ ├considering: $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}}
+ ├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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text:
+ ├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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
├──condition: def:received_protocol
├─────result: true
- ┌considering: with $received_protocol}} (Exim $version_number)
+ ╭considering: 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}}
- ├──expanding: with $received_protocol
- └─────result: with local-esmtp
- ├──condition: def:tls_cipher
+ ├───────text: with
+ ├considering: $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}}
+ ├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}}
+ ├───────text:
+ ├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}}
+ ├──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}}
+ }}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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├──condition: def:tls_in_cipher_std
├─────result: false
- ┌───scanning: ($tls_cipher)
+ ╭───scanning: 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}}
+ ├───────text: tls
+ ├───scanning: $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}}
+ ├───scanning:
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- ├──expanding: ($tls_cipher)
+ ├───────text:
- ├─────result: ()
+ ├───scanning: }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├──expanding: tls $tls_in_cipher_std
- └───skipping: result is not used
+ ├─────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 {
+ for $received_for}}
+ ├───────text: (Exim
+ ├considering: $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├considering: )
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: )
+
+ ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
├──condition: def:sender_address
├─────result: true
- ┌considering: (envelope-from <$sender_address>)
+ ╭considering: (envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: (envelope-from <
+ ├considering: $sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├considering: >)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: >)
+
+ ├considering: }}id $message_exim_id${if def:received_for {
+ for $received_for}}
├──expanding: (envelope-from <$sender_address>)
- â\94\94─────result: (envelope-from <CALLER@myhost.test.ex>)
+ â\95°─────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}}
+ ├considering: ${if def:received_for {
+ for $received_for}}
├──condition: def:received_for
├─────result: true
- â\94\8cconsidering:
+ â\95considering:
for $received_for}}
+ ├───────text:
+ for
+ ├considering: $received_for}}
+ ├considering: }}
├──expanding:
for $received_for
- â\94\94─────result:
+ â\95°─────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}} (Exim $version_number)
+ }}}}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}}
- â\94\94─────result: Received: from CALLER (helo=myhost.test.ex)
+ â\95°─────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
for usery@domain.com
+ ╰──(tainted)
----------- start cutthrough headers send -----------
----------- done cutthrough headers send ------------
- â\94\8cconsidering: ${tod_full}
+ â\95considering: ${tod_full}
├──expanding: ${tod_full}
- â\94\94─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ â\95°─────result: Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> .
SMTP<< 250 OK id=10HmbA-0005vi-00
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
Completed
LOG: smtp_connection MAIN
SMTP connection from CALLER closed by QUIT
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
+adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys
configuration file is TESTSUITE/test-config
admin user
in hosts_connection_nolog? no (option unset)
LOG: smtp_connection MAIN
SMTP connection from CALLER
- ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├considering: ESMTP Exim $version_number $tod_full
+ ├───────text: ESMTP Exim
+ ├considering: $version_number $tod_full
+ ├considering: $tod_full
+ ├───────text:
+ ├considering: $tod_full
├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- â\94\94─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ â\95°─────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 chunking_advertise_hosts? no (end of list)
in tls_advertise_hosts? yes (matched "*")
- ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
- ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ╭considering: SERVER}{server}{queue}{cutthrough}}
+ ├───────text: SERVER
+ ├considering: }{server}{queue}{cutthrough}}
├──expanding: SERVER
- └─────result: SERVER
- ┌considering: server}{queue}{cutthrough}}
+ ╰─────result: SERVER
+ ╭considering: server}{queue}{cutthrough}}
+ ├───────text: server
+ ├considering: }{queue}{cutthrough}}
├──expanding: server
- â\94\94─────result: server
+ â\95°─────result: server
├──condition: eq {SERVER}{server}
├─────result: false
- ┌───scanning: queue}{cutthrough}}
+ ╭───scanning: queue}{cutthrough}}
+ ├───────text: queue
+ ├───scanning: }{cutthrough}}
├──expanding: queue
├─────result: queue
- └───skipping: result is not used
- ┌considering: cutthrough}}
+ ╰───skipping: result is not used
+ ╭considering: cutthrough}}
+ ├───────text: cutthrough
+ ├considering: }}
├──expanding: cutthrough
- â\94\94─────result: cutthrough
+ â\95°─────result: cutthrough
├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- â\94\94─────result: cutthrough
+ â\95°─────result: cutthrough
using ACL "cutthrough"
-processing "accept"
+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"? yes (end of list)
- â\94\8cconsidering: $local_part
+ â\95considering: $local_part
├──expanding: $local_part
- └─────result: usery
+ ╰─────result: usery
+ ╰──(tainted)
domain.com in "*"? yes (matched "*")
----------- end verify ------------
accept: condition test succeeded in ACL "cutthrough"
----------- start cutthrough setup ------------
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- â\94\8cconsidering: $local_part
+ â\95considering: $local_part
├──expanding: $local_part
- └─────result: usery
+ ╰─────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
- â\94\8cconsidering: $primary_hostname
+Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
+ â\95considering: $primary_hostname
├──expanding: $primary_hostname
- â\94\94─────result: myhost.test.ex
+ â\95°─────result: myhost.test.ex
SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
127.0.0.1 in hosts_avoid_esmtp? no (option unset)
SMTP>> EHLO myhost.test.ex
250-PIPELINING
250-STARTTLS
250 HELP
- ┌considering: ${if eq {$address_data}{usery}{*}{:}}
- ┌considering: $address_data}{usery}{*}{:}}
+ ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: $host
+ ╰─────result: 127.0.0.1
+ ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───────text: .outlook.com
+ ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├backslashed: '\$'
+ ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: .outlook.com\$
+ ╰─────result: .outlook.com$
+ ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}}
+ ├──expanding: $item
+ ├─────result:
+ ╰───skipping: result is not used
+ ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}}
+ ├──protected: ^250-([\w.]+)\s
+ ├───scanning: }}} {$1}}
+ ├──expanding: \N^250-([\w.]+)\s\N
+ ├─────result: ^250-([\w.]+)\s
+ ╰───skipping: result is not used
+ ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}}
+ ├─────result: false
+ ╭───scanning: $1}}
+ ├───scanning: }}
+ ├──expanding: $1
+ ├─────result:
+ ╰───skipping: result is not used
+ ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}}
+ ╰─────result:
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+ ╭considering: $address_data}{usery}{*}{:}}
+ ├considering: }{usery}{*}{:}}
├──expanding: $address_data
- └─────result: usery
- ┌considering: usery}{*}{:}}
+ ╰─────result: usery
+ ╰──(tainted)
+ ╭considering: usery}{*}{:}}
+ ├───────text: usery
+ ├considering: }{*}{:}}
├──expanding: usery
- â\94\94─────result: usery
+ â\95°─────result: usery
├──condition: eq {$address_data}{usery}
├─────result: true
- ┌considering: *}{:}}
+ ╭considering: *}{:}}
+ ├───────text: *
+ ├considering: }{:}}
├──expanding: *
- └─────result: *
- ┌───scanning: :}}
+ ╰─────result: *
+ ╭───scanning: :}}
+ ├───────text: :
+ ├───scanning: }}
├──expanding: :
├─────result: :
- â\94\94───skipping: result is not used
+ â\95°───skipping: result is not used
├──expanding: ${if eq {$address_data}{usery}{*}{:}}
- â\94\94─────result: *
+ â\95°─────result: *
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
127.0.0.1 in hosts_require_auth? no (option unset)
- SMTP>> MAIL FROM:<CALLER@myhost.test.ex>
+ SMTP|> MAIL FROM:<CALLER@myhost.test.ex>
SMTP>> RCPT TO:<usery@domain.com>
cmd buf flush ddd bytes
+sync_responses expect mail
SMTP<< 250 OK
+sync_responses expect rcpt for usery@domain.com
SMTP<< 250 Accepted
holding verify callout open for cutthrough delivery
----------- end cutthrough setup ------------
-processing "accept"
+processing "accept" (TESTSUITE/test-config 55)
accept: condition test succeeded in inline ACL
end of inline ACL: ACCEPT
SMTP>> DATA
SMTP<< 354 Enter message, ending with "." on a line by itself
- â\94\8cconsidering: ${tod_full}
+ â\95considering: ${tod_full}
├──expanding: ${tod_full}
- â\94\94─────result: Tue, 2 Mar 1999 09:44:33 +0000
- â\94\8cconsidering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ â\95°─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ â\95considering: 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}} (Exim $version_number)
+ }}}}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}}
+ ├───────text: Received:
+ ├considering: ${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
+ }}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
├──condition: def:sender_rcvhost
├─────result: false
- ┌───scanning: from $sender_rcvhost
+ ╭───scanning: 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
+ }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: from
+ ├───scanning: $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}} (Exim $version_number)
+ }}}}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}}
+ ├───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
+ }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text:
+
+ ├───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
+ }}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
├─────result: from
- └───skipping: result is not used
- ┌considering: ${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}} (Exim $version_number)
+ ╰───skipping: result is not used
+ ╭considering: ${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
+ }}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
├──condition: def:sender_ident
├─────result: true
- ┌considering: 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}} (Exim $version_number)
+ ╭considering: 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
+ }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: from
+ ├considering: ${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
+ }}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
- ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol ╎}} (Exim $version_number)
+ ╎╭considering: $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
+ ╎ }}(Exim $version_number)
+ ╎ ${if def:sender_address {(envelope-from <$sender_address>)
+ ╎ }}id $message_exim_id${if def:received_for {
+ ╎ for $received_for}}
+ ╎├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}}
╎├──expanding: $sender_ident
- ╎└─────result: CALLER
+ ╎╰─────result: CALLER
+ ├─────op-res: 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}}
+ ├───────text:
+ ├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}}
├──expanding: from ${quote_local_part:$sender_ident}
- └─────result: from CALLER
+ ╰─────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}}
├──condition: def:sender_helo_name
├─────result: true
- ┌considering: (helo=$sender_helo_name)
- }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
+ ╭considering: (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}}
+ ├───────text: (helo=
+ ├considering: $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}}
+ ├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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: )
+
+ ├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>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
├──expanding: (helo=$sender_helo_name)
- â\94\94─────result: (helo=myhost.test.ex)
+ â\95°─────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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}
- â\94\94─────result: from CALLER (helo=myhost.test.ex)
+ â\95°─────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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: by
+ ├considering: $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}}
+ ├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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text:
+ ├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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
├──condition: def:received_protocol
├─────result: true
- ┌considering: with $received_protocol}} (Exim $version_number)
+ ╭considering: 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}}
+ ├───────text: with
+ ├considering: $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}}
- ├──expanding: with $received_protocol
- └─────result: with local-esmtp
- ├──condition: def:tls_cipher
+ ├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}}
+ ├───────text:
+ ├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}}
+ ├──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}}
+ }}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>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├──condition: def:tls_in_cipher_std
├─────result: false
- â\94\8câ\94\80â\94\80â\94\80scanning: ($tls_cipher)
+ â\95â\94\80â\94\80â\94\80scanning: 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}}
- ├──expanding: ($tls_cipher)
+ ├───────text: tls
+ ├───scanning: $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}}
+ ├───scanning:
+ }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text:
+
+ ├───scanning: }}(Exim $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├──expanding: tls $tls_in_cipher_std
- ├─────result: ()
+ ├─────result: tls
- └───skipping: result is not used
+ ╰───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 {
+ for $received_for}}
+ ├───────text: (Exim
+ ├considering: $version_number)
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├considering: )
+ ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: )
+
+ ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
├──condition: def:sender_address
├─────result: true
- ┌considering: (envelope-from <$sender_address>)
+ ╭considering: (envelope-from <$sender_address>)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: (envelope-from <
+ ├considering: $sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
+ ├considering: >)
+ }}id $message_exim_id${if def:received_for {
+ for $received_for}}
+ ├───────text: >)
+
+ ├considering: }}id $message_exim_id${if def:received_for {
+ for $received_for}}
├──expanding: (envelope-from <$sender_address>)
- â\94\94─────result: (envelope-from <CALLER@myhost.test.ex>)
+ â\95°─────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}}
+ ├considering: ${if def:received_for {
+ for $received_for}}
├──condition: def:received_for
├─────result: true
- â\94\8cconsidering:
+ â\95considering:
for $received_for}}
+ ├───────text:
+ for
+ ├considering: $received_for}}
+ ├considering: }}
├──expanding:
for $received_for
- â\94\94─────result:
+ â\95°─────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}} (Exim $version_number)
+ }}}}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}}
- â\94\94─────result: Received: from CALLER (helo=myhost.test.ex)
+ â\95°─────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
for usery@domain.com
+ ╰──(tainted)
----------- start cutthrough headers send -----------
----------- done cutthrough headers send ------------
- â\94\8cconsidering: ${tod_full}
+ â\95considering: ${tod_full}
├──expanding: ${tod_full}
- â\94\94─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ â\95°─────result: Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> .
SMTP<< 250 OK id=10HmbC-0005vi-00
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
Completed
LOG: smtp_connection MAIN
SMTP connection from CALLER closed by QUIT
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
******** SERVER ********