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: 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 ╰─────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}} ├───────text: SERVER ├considering: }{server}{queue}{cutthrough}} ├──expanding: SERVER ╰─────result: SERVER ╭considering: server}{queue}{cutthrough}} ├───────text: server ├considering: }{queue}{cutthrough}} ├──expanding: server ╰─────result: server ├──condition: eq {SERVER}{server} ├─────result: false ╭───scanning: queue}{cutthrough}} ├───────text: queue ├───scanning: }{cutthrough}} ├──expanding: queue ├─────result: queue ╰───skipping: result is not used ╭considering: cutthrough}} ├───────text: cutthrough ├considering: }} ├──expanding: cutthrough ╰─────result: cutthrough ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}} ╰─────result: cutthrough using ACL "cutthrough" processing "accept" (TESTSUITE/test-config 22) check control = cutthrough_delivery check verify = recipient domain.com in "test.ex : *.test.ex"? no (end of list) domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part ├──expanding: $local_part ╰─────result: userx ╰──(tainted) 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"? yes (end of list) ╭considering: $local_part ├──expanding: $local_part ╰─────result: userx ╰──(tainted) domain.com in "*"? yes (matched "*") Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected ╭considering: $primary_hostname ├──expanding: $primary_hostname ╰─────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 cmd buf flush ddd bytes SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4] 250-SIZE 52428800 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}} ├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 ╰──(tainted) ╭considering: usery}{*}{:}} ├───────text: usery ├considering: }{*}{:}} ├──expanding: usery ╰─────result: usery ├──condition: eq {$address_data}{usery} ├─────result: false ╭───scanning: *}{:}} ├───────text: * ├───scanning: }{:}} ├──expanding: * ├─────result: * ╰───skipping: result is not used ╭considering: :}} ├───────text: : ├considering: }} ├──expanding: : ╰─────result: : ├──expanding: ${if eq {$address_data}{usery}{*}{:}} ╰─────result: : 127.0.0.1 in hosts_avoid_tls? no (end of list) ╭considering: ${if eq {$address_data}{userz}{*}{:}} ╭considering: $address_data}{userz}{*}{:}} ├considering: }{userz}{*}{:}} ├──expanding: $address_data ╰─────result: userx ╰──(tainted) ╭considering: userz}{*}{:}} ├───────text: userz ├considering: }{*}{:}} ├──expanding: userz ╰─────result: userz ├──condition: eq {$address_data}{userz} ├─────result: false ╭───scanning: *}{:}} ├───────text: * ├───scanning: }{:}} ├──expanding: * ├─────result: * ╰───skipping: result is not used ╭considering: :}} ├───────text: : ├considering: }} ├──expanding: : ╰─────result: : ├──expanding: ${if eq {$address_data}{userz}{*}{:}} ╰─────result: : 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 tls_verify_hosts? no (option unset) 127.0.0.1 in tls_try_verify_hosts? yes (matched "*") SMTP>> EHLO myhost.test.ex cmd buf flush ddd bytes SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4] 250-SIZE 52428800 250-8BITMIME 250-PIPELINING 250 HELP 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: SMTP>> RCPT TO: 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" (TESTSUITE/test-config 57) 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 ╭considering: ${tod_full} ├──expanding: ${tod_full} ╰─────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 }}${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 }{${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 }}${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}} ├──expanding: from $sender_rcvhost ├─────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 }}${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 }}${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 }}${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 ├─────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 ├───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 }}${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) ╰─────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) }} ╰─────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 }}${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}} ├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 $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}} ├───────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: 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>) }}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>) ╰─────result: (envelope-from ) ├───item-res: (envelope-from ) ╰──(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 ╭considering: for $received_for}} ├───────text: for ├considering: $received_for}} ├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 }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} ╰─────result: Received: from CALLER (helo=myhost.test.ex) by myhost.test.ex with local-esmtp (Exim x.yz) (envelope-from ) id 10HmaX-0005vi-00 for userx@domain.com ╰──(tainted) ----------- start cutthrough headers send ----------- ----------- done cutthrough headers send ------------ ╭considering: ${tod_full} ├──expanding: ${tod_full} ╰─────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: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 LOG: MAIN Completed LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT >>>>>>>>>>>>>>>> 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: 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 ╰─────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}} ├───────text: SERVER ├considering: }{server}{queue}{cutthrough}} ├──expanding: SERVER ╰─────result: SERVER ╭considering: server}{queue}{cutthrough}} ├───────text: server ├considering: }{queue}{cutthrough}} ├──expanding: server ╰─────result: server ├──condition: eq {SERVER}{server} ├─────result: false ╭───scanning: queue}{cutthrough}} ├───────text: queue ├───scanning: }{cutthrough}} ├──expanding: queue ├─────result: queue ╰───skipping: result is not used ╭considering: cutthrough}} ├───────text: cutthrough ├considering: }} ├──expanding: cutthrough ╰─────result: cutthrough ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}} ╰─────result: cutthrough using ACL "cutthrough" processing "accept" (TESTSUITE/test-config 22) check control = cutthrough_delivery check verify = recipient domain.com in "test.ex : *.test.ex"? no (end of list) domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part ├──expanding: $local_part ╰─────result: usery ╰──(tainted) 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"? yes (end of list) ╭considering: $local_part ├──expanding: $local_part ╰─────result: usery ╰──(tainted) domain.com in "*"? yes (matched "*") Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected ╭considering: $primary_hostname ├──expanding: $primary_hostname ╰─────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 cmd buf flush ddd bytes SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4] 250-SIZE 52428800 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}} ├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 ╰──(tainted) ╭considering: usery}{*}{:}} ├───────text: usery ├considering: }{*}{:}} ├──expanding: usery ╰─────result: usery ├──condition: eq {$address_data}{usery} ├─────result: true ╭considering: *}{:}} ├───────text: * ├considering: }{:}} ├──expanding: * ╰─────result: * ╭───scanning: :}} ├───────text: : ├───scanning: }} ├──expanding: : ├─────result: : ╰───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_pipelining? no (option unset) using PIPELINING not using DSN 127.0.0.1 in hosts_require_auth? no (option unset) SMTP|> MAIL FROM: SMTP>> RCPT TO: 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" (TESTSUITE/test-config 57) 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 ╭considering: ${tod_full} ├──expanding: ${tod_full} ╰─────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 }}${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 }{${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 }}${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}} ├──expanding: from $sender_rcvhost ├─────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 }}${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 }}${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 }}${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 ├─────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 ├───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 }}${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) ╰─────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) }} ╰─────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 }}${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}} ├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 $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}} ├───────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: 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>) }}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>) ╰─────result: (envelope-from ) ├───item-res: (envelope-from ) ╰──(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 ╭considering: for $received_for}} ├───────text: for ├considering: $received_for}} ├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 }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} ╰─────result: Received: from CALLER (helo=myhost.test.ex) by myhost.test.ex with local-esmtp (Exim x.yz) (envelope-from ) id 10HmaZ-0005vi-00 for usery@domain.com ╰──(tainted) ----------- start cutthrough headers send ----------- ----------- done cutthrough headers send ------------ ╭considering: ${tod_full} ├──expanding: ${tod_full} ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 SMTP>> . SMTP<< 250 OK id=10HmbA-0005vi-00 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" 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 >>>>>>>>>>>>>>>> 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: 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 ╰─────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}} ├───────text: SERVER ├considering: }{server}{queue}{cutthrough}} ├──expanding: SERVER ╰─────result: SERVER ╭considering: server}{queue}{cutthrough}} ├───────text: server ├considering: }{queue}{cutthrough}} ├──expanding: server ╰─────result: server ├──condition: eq {SERVER}{server} ├─────result: false ╭───scanning: queue}{cutthrough}} ├───────text: queue ├───scanning: }{cutthrough}} ├──expanding: queue ├─────result: queue ╰───skipping: result is not used ╭considering: cutthrough}} ├───────text: cutthrough ├considering: }} ├──expanding: cutthrough ╰─────result: cutthrough ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}} ╰─────result: cutthrough using ACL "cutthrough" processing "accept" (TESTSUITE/test-config 22) check control = cutthrough_delivery check verify = recipient domain.com in "test.ex : *.test.ex"? no (end of list) domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part ├──expanding: $local_part ╰─────result: usery ╰──(tainted) 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"? yes (end of list) ╭considering: $local_part ├──expanding: $local_part ╰─────result: usery ╰──(tainted) domain.com in "*"? yes (matched "*") Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected ╭considering: $primary_hostname ├──expanding: $primary_hostname ╰─────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 cmd buf flush ddd bytes SMTP<< 250-myhost.test.ex Hello the.local.host.name [ip4.ip4.ip4.ip4] 250-SIZE 52428800 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}} ├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 ╰──(tainted) ╭considering: usery}{*}{:}} ├───────text: usery ├considering: }{*}{:}} ├──expanding: usery ╰─────result: usery ├──condition: eq {$address_data}{usery} ├─────result: true ╭considering: *}{:}} ├───────text: * ├considering: }{:}} ├──expanding: * ╰─────result: * ╭───scanning: :}} ├───────text: : ├───scanning: }} ├──expanding: : ├─────result: : ╰───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_pipelining? no (option unset) using PIPELINING not using DSN 127.0.0.1 in hosts_require_auth? no (option unset) SMTP|> MAIL FROM: SMTP>> RCPT TO: 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" (TESTSUITE/test-config 57) 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 ╭considering: ${tod_full} ├──expanding: ${tod_full} ╰─────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 }}${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 }{${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 }}${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}} ├──expanding: from $sender_rcvhost ├─────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 }}${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 }}${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 }}${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 ├─────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 ├───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 }}${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) ╰─────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) }} ╰─────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 }}${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}} ├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 $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}} ├───────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: 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>) }}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>) ╰─────result: (envelope-from ) ├───item-res: (envelope-from ) ╰──(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 ╭considering: for $received_for}} ├───────text: for ├considering: $received_for}} ├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 }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} ╰─────result: Received: from CALLER (helo=myhost.test.ex) by myhost.test.ex with local-esmtp (Exim x.yz) (envelope-from ) id 10HmbB-0005vi-00 for usery@domain.com ╰──(tainted) ----------- start cutthrough headers send ----------- ----------- done cutthrough headers send ------------ ╭considering: ${tod_full} ├──expanding: ${tod_full} ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 SMTP>> . SMTP<< 250 OK id=10HmbC-0005vi-00 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" 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 >>>>>>>>>>>>>>>> ******** SERVER ********