From 9ee30919f807678b0bc9f675dcfa73225b486574 Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Sun, 29 Jan 2023 21:31:27 +0000 Subject: [PATCH] Debug: include variable content as expansion interim item --- src/src/expand.c | 7 ++++ test/stderr/0002 | 43 +++++++++++++++++++++++ test/stderr/0092 | 4 +++ test/stderr/0402 | 33 ++++++++++++++++++ test/stderr/0544 | 31 +++++++++++++++++ test/stderr/0620 | 16 +++++++++ test/stderr/0630 | 5 ++- test/stderr/0632 | 38 +++++++++++++++++++++ test/stderr/5410 | 77 +++++++++++++++++++++++++++++++++++++++++ test/stderr/5420 | 89 +++++++++++++++++++++++++++++++++++++++++------- 10 files changed, 328 insertions(+), 15 deletions(-) diff --git a/src/src/expand.c b/src/src/expand.c index 2949579c5..10f009ce2 100644 --- a/src/src/expand.c +++ b/src/src/expand.c @@ -4733,6 +4733,7 @@ while (*s) reset in the middle of the buffer will make it inaccessible. */ len = Ustrlen(value); + DEBUG(D_expand) debug_expansion_interim(US"value", value, len, !!(flags & ESI_SKIPPING)); if (!yield && newsize != 0) { yield = g; @@ -4751,7 +4752,10 @@ while (*s) int n; s = read_cnumber(&n, s); if (n >= 0 && n <= expand_nmax) + { + DEBUG(D_expand) debug_expansion_interim(US"value", expand_nstring[n], expand_nlength[n], !!(flags & ESI_SKIPPING)); yield = string_catn(yield, expand_nstring[n], expand_nlength[n]); + } continue; } @@ -4776,7 +4780,10 @@ while (*s) goto EXPAND_FAILED; } if (n >= 0 && n <= expand_nmax) + { + DEBUG(D_expand) debug_expansion_interim(US"value", expand_nstring[n], expand_nlength[n], !!(flags & ESI_SKIPPING)); yield = string_catn(yield, expand_nstring[n], expand_nlength[n]); + } continue; } diff --git a/test/stderr/0002 b/test/stderr/0002 index 0325339d1..62cc48c9d 100644 --- a/test/stderr/0002 +++ b/test/stderr/0002 @@ -7,11 +7,14 @@ dropping to exim gid; retaining priv uid ╭considering: primary_hostname: $primary_hostname ├───────text: primary_hostname: ├considering: $primary_hostname + ├──────value: myhost.test.ex ├──expanding: primary_hostname: $primary_hostname ╰─────result: primary_hostname: myhost.test.ex ╭considering: sender_address: $sender_address ├───────text: sender_address: ├considering: $sender_address + ├──────value: sndr@dom + ╰──(tainted) ├──expanding: sender_address: $sender_address ╰─────result: sender_address: sndr@dom ╰──(tainted) @@ -34,7 +37,9 @@ dropping to exim gid; retaining priv uid ├──condition: match{abcd}{\N^([ab]+)(\w+)$\N} ├─────result: true ╭considering: $2$1}fail} + ├──────value: cd ├considering: $1}fail} + ├──────value: ab ├considering: }fail} ├──expanding: $2$1 ╰─────result: cdab @@ -144,6 +149,7 @@ dropping to exim gid; retaining priv uid /considering: primary_hostname: $primary_hostname |-------text: primary_hostname: |considering: $primary_hostname + |------value: myhost.test.ex |--expanding: primary_hostname: $primary_hostname \_____result: primary_hostname: myhost.test.ex /considering: match: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail} @@ -165,7 +171,9 @@ dropping to exim gid; retaining priv uid |--condition: match{abcd}{\N^([ab]+)(\w+)$\N} |-----result: true /considering: $2$1}fail} + |------value: cd |considering: $1}fail} + |------value: ab |considering: }fail} |--expanding: $2$1 \_____result: cdab @@ -275,52 +283,68 @@ dropping to exim gid; retaining priv uid ╭considering: -oMa sender_host_address = $sender_host_address ├───────text: -oMa sender_host_address = ├considering: $sender_host_address + ├──────value: V4NET.0.0.1 + ╰──(tainted) ├──expanding: -oMa sender_host_address = $sender_host_address ╰─────result: -oMa sender_host_address = V4NET.0.0.1 ╰──(tainted) ╭considering: sender_host_port = $sender_host_port ├───────text: sender_host_port = ├considering: $sender_host_port + ├──────value: 1234 ├──expanding: sender_host_port = $sender_host_port ╰─────result: sender_host_port = 1234 ╭considering: -oMaa sender_host_authenticated = $sender_host_authenticated ├───────text: -oMaa sender_host_authenticated = ├considering: $sender_host_authenticated + ├──────value: AAA + ╰──(tainted) ├──expanding: -oMaa sender_host_authenticated = $sender_host_authenticated ╰─────result: -oMaa sender_host_authenticated = AAA ╰──(tainted) ╭considering: -oMai authenticated_id = $authenticated_id ├───────text: -oMai authenticated_id = ├considering: $authenticated_id + ├──────value: philip + ╰──(tainted) ├──expanding: -oMai authenticated_id = $authenticated_id ╰─────result: -oMai authenticated_id = philip ╰──(tainted) ╭considering: -oMas authenticated_sender = $authenticated_sender ├───────text: -oMas authenticated_sender = ├considering: $authenticated_sender + ├──────value: xx@yy.zz + ╰──(tainted) ├──expanding: -oMas authenticated_sender = $authenticated_sender ╰─────result: -oMas authenticated_sender = xx@yy.zz ╰──(tainted) ╭considering: -oMi interface_address = $interface_address ├───────text: -oMi interface_address = ├considering: $interface_address + ├──────value: 1.1.1.1 + ╰──(tainted) ├──expanding: -oMi interface_address = $interface_address ╰─────result: -oMi interface_address = 1.1.1.1 ╰──(tainted) ╭considering: interface_port = $interface_port ├───────text: interface_port = ├considering: $interface_port + ├──────value: 99 ├──expanding: interface_port = $interface_port ╰─────result: interface_port = 99 ╭considering: -oMr received_protocol = $received_protocol ├───────text: -oMr received_protocol = ├considering: $received_protocol + ├──────value: special + ╰──(tainted) ├──expanding: -oMr received_protocol = $received_protocol ╰─────result: -oMr received_protocol = special ╰──(tainted) ╭considering: -oMt sender_ident = $sender_ident ├───────text: -oMt sender_ident = ├considering: $sender_ident + ├──────value: me + ╰──(tainted) ├──expanding: -oMt sender_ident = $sender_ident ╰─────result: -oMt sender_ident = me ╰──(tainted) @@ -335,46 +359,60 @@ dropping to exim gid; retaining priv uid ╭considering: -oMa sender_host_address = $sender_host_address ├───────text: -oMa sender_host_address = ├considering: $sender_host_address + ├──────value: V4NET.0.0.1 + ╰──(tainted) ├──expanding: -oMa sender_host_address = $sender_host_address ╰─────result: -oMa sender_host_address = V4NET.0.0.1 ╰──(tainted) ╭considering: sender_host_port = $sender_host_port ├───────text: sender_host_port = ├considering: $sender_host_port + ├──────value: 1234 ├──expanding: sender_host_port = $sender_host_port ╰─────result: sender_host_port = 1234 ╭considering: -oMaa sender_host_authenticated = $sender_host_authenticated ├───────text: -oMaa sender_host_authenticated = ├considering: $sender_host_authenticated + ├──────value: AAA + ╰──(tainted) ├──expanding: -oMaa sender_host_authenticated = $sender_host_authenticated ╰─────result: -oMaa sender_host_authenticated = AAA ╰──(tainted) ╭considering: -oMai authenticated_id = $authenticated_id ├───────text: -oMai authenticated_id = ├considering: $authenticated_id + ├──────value: philip + ╰──(tainted) ├──expanding: -oMai authenticated_id = $authenticated_id ╰─────result: -oMai authenticated_id = philip ╰──(tainted) ╭considering: -oMas authenticated_sender = $authenticated_sender ├───────text: -oMas authenticated_sender = ├considering: $authenticated_sender + ├──────value: xx@yy.zz + ╰──(tainted) ├──expanding: -oMas authenticated_sender = $authenticated_sender ╰─────result: -oMas authenticated_sender = xx@yy.zz ╰──(tainted) ╭considering: -oMi interface_address = $interface_address ├───────text: -oMi interface_address = ├considering: $interface_address + ├──────value: 1.1.1.1 + ╰──(tainted) ├──expanding: -oMi interface_address = $interface_address ╰─────result: -oMi interface_address = 1.1.1.1 ╰──(tainted) ╭considering: interface_port = $interface_port ├───────text: interface_port = ├considering: $interface_port + ├──────value: 99 ├──expanding: interface_port = $interface_port ╰─────result: interface_port = 99 ╭considering: -oMr received_protocol = $received_protocol ├───────text: -oMr received_protocol = ├considering: $received_protocol + ├──────value: special + ╰──(tainted) ├──expanding: -oMr received_protocol = $received_protocol ╰─────result: -oMr received_protocol = special ╰──(tainted) @@ -394,6 +432,7 @@ dropping to exim gid; retaining priv uid ├──condition: eq{black}{white} ├─────result: false ╭───scanning: $sender_host_name}{No}} + ├──────value: ├───scanning: }{No}} ├──expanding: $sender_host_name ├─────result: @@ -416,12 +455,16 @@ checking addresses for ten-1.test.ex V4NET.0.0.1 OK sender_fullhost = ten-1.test.ex [V4NET.0.0.1] sender_rcvhost = ten-1.test.ex ([V4NET.0.0.1] ident=me) + ├──────value: ten-1.test.ex + ╰──(tainted) ├──expanding: -oMs sender_host_name = $sender_host_name ╰─────result: -oMs sender_host_name = ten-1.test.ex ╰──(tainted) ╭considering: -oMt sender_ident = $sender_ident ├───────text: -oMt sender_ident = ├considering: $sender_ident + ├──────value: me + ╰──(tainted) ├──expanding: -oMt sender_ident = $sender_ident ╰─────result: -oMt sender_ident = me ╰──(tainted) diff --git a/test/stderr/0092 b/test/stderr/0092 index 20d18d9b8..51757f42f 100644 --- a/test/stderr/0092 +++ b/test/stderr/0092 @@ -70,6 +70,7 @@ set_process_info: pppp handling incoming connection from [V4NET.0.0.1] ├──expanding: V4NET.0.0.1 ╰─────result: V4NET.0.0.1 ╭considering: $sender_host_address} {2} {30}}s + ├──────value: V4NET.0.0.1 ├considering: } {2} {30}}s ├──expanding: $sender_host_address ╰─────result: V4NET.0.0.1 @@ -98,12 +99,15 @@ host in helo_verify_hosts? no (option unset) host in helo_try_verify_hosts? no (option unset) host in helo_accept_junk_hosts? no (option unset) ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ├──────value: myhost.test.ex ├considering: ESMTP Exim $version_number $tod_full ├───────text: ESMTP Exim ├considering: $version_number $tod_full + ├──────value: x.yz ├considering: $tod_full ├───────text: ├considering: $tod_full + ├──────value: Tue, 2 Mar 1999 09:44:33 +0000 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 diff --git a/test/stderr/0402 b/test/stderr/0402 index 4abead894..7c3913c5b 100644 --- a/test/stderr/0402 +++ b/test/stderr/0402 @@ -77,6 +77,7 @@ Data file written for message 10HmaX-0005vi-00 ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std @@ -124,6 +125,7 @@ Data file written for message 10HmaX-0005vi-00 ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} + ╎├──────value: CALLER ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name) ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std ╎ }}(Exim $version_number) @@ -170,6 +172,7 @@ Data file written for message 10HmaX-0005vi-00 ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: ) }}}}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) @@ -209,6 +212,7 @@ Data file written for message 10HmaX-0005vi-00 ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: mail.test.ex ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -233,6 +237,7 @@ Data file written for message 10HmaX-0005vi-00 ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: local ├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>) @@ -252,6 +257,7 @@ Data file written for message 10HmaX-0005vi-00 ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} ├──expanding: ($tls_in_ver) @@ -276,6 +282,7 @@ Data file written for message 10HmaX-0005vi-00 ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -302,6 +309,7 @@ Data file written for message 10HmaX-0005vi-00 ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: x.yz ├considering: ) ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { @@ -320,6 +328,7 @@ Data file written for message 10HmaX-0005vi-00 ├considering: $sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: CALLER@test.ex ├considering: >) }}id $message_exim_id${if def:received_for { for $received_for}} @@ -338,6 +347,7 @@ Data file written for message 10HmaX-0005vi-00 ├───────text: id ├considering: $message_exim_id${if def:received_for { for $received_for}} + ├──────value: 10HmaX-0005vi-00 ├considering: ${if def:received_for { for $received_for}} ├──condition: def:received_for @@ -347,6 +357,7 @@ Data file written for message 10HmaX-0005vi-00 ├───────text: for ├───scanning: $received_for}} + ├──────value: ├───scanning: }} ├──expanding: for $received_for @@ -505,6 +516,8 @@ usery in "usery"? ╭considering: /non-exist/$domain ├───────text: /non-exist/ ├considering: $domain + ├──────value: test.ex + ╰──(tainted) ├──expanding: /non-exist/$domain ╰─────result: /non-exist/test.ex ╰──(tainted) @@ -555,6 +568,8 @@ CALLER in "CALLER"? ╭considering: /non-exist/$local_part ├───────text: /non-exist/ ├considering: $local_part + ├──────value: CALLER + ╰──(tainted) ├──expanding: /non-exist/$local_part ╰─────result: /non-exist/CALLER ╰──(tainted) @@ -597,6 +612,8 @@ userz in "userz"? ╭considering: /non-exist/$domain ├───────text: /non-exist/ ├considering: $domain + ├──────value: test.ex + ╰──(tainted) ├──expanding: /non-exist/$domain ╰─────result: /non-exist/test.ex ╰──(tainted) @@ -629,6 +646,8 @@ usery in "usery"? ╭considering: /non-exist/$domain ├───────text: /non-exist/ ├considering: $domain + ├──────value: test.ex + ╰──(tainted) ├──expanding: /non-exist/$domain ╰─────result: /non-exist/test.ex ╰──(tainted) @@ -654,6 +673,8 @@ CALLER in "CALLER"? ╭considering: /non-exist/$local_part ├───────text: /non-exist/ ├considering: $local_part + ├──────value: CALLER + ╰──(tainted) ├──expanding: /non-exist/$local_part ╰─────result: /non-exist/CALLER ╰──(tainted) @@ -705,6 +726,8 @@ no retry data available ╭considering: /non-exist/$local_part ├───────text: /non-exist/ ├considering: $local_part + ├──────value: usery + ╰──(tainted) ├──expanding: /non-exist/$local_part ╰─────result: /non-exist/usery ╰──(tainted) @@ -715,6 +738,7 @@ changed uid/gid: local delivery to TESTSUITE/test-mail/junk ) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std @@ -86,6 +87,7 @@ admin user ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} + ╎├──────value: CALLER ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name) ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std ╎ }}(Exim $version_number) @@ -132,6 +134,7 @@ admin user ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: ) }}}}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) @@ -171,6 +174,7 @@ admin user ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: the.local.host.name ├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>) @@ -195,6 +199,7 @@ admin user ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: local ├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>) @@ -214,6 +219,7 @@ admin user ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} ├──expanding: ($tls_in_ver) @@ -238,6 +244,7 @@ admin user ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -264,6 +271,7 @@ admin user ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: x.yz ├considering: ) ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { @@ -282,6 +290,7 @@ admin user ├considering: $sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: CALLER@test.ex ├considering: >) }}id $message_exim_id${if def:received_for { for $received_for}} @@ -300,6 +309,7 @@ admin user ├───────text: id ├considering: $message_exim_id${if def:received_for { for $received_for}} + ├──────value: 10HmaX-0005vi-00 ├considering: ${if def:received_for { for $received_for}} ├──condition: def:received_for @@ -309,6 +319,7 @@ admin user ├───────text: for ├───scanning: $received_for}} + ├──────value: ├───scanning: }} ├──expanding: for $received_for @@ -341,6 +352,8 @@ trusted user admin user dropping to exim gid; retaining priv uid ╭considering: $domain + ├──────value: domain1.ex + ╰──(tainted) ├──expanding: $domain ╰─────result: domain1.ex ╰──(tainted) @@ -408,16 +421,21 @@ admin user LOG: smtp_connection MAIN SMTP connection from CALLER ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ├──────value: the.local.host.name ├considering: ESMTP Exim $version_number $tod_full ├───────text: ESMTP Exim ├considering: $version_number $tod_full + ├──────value: x.yz ├considering: $tod_full ├───────text: ├considering: $tod_full + ├──────value: Tue, 2 Mar 1999 09:44:33 +0000 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full ╰─────result: the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 ╭considering: ${if match_domain {$sender_helo_name}{+dlist}} ╭considering: $sender_helo_name}{+dlist}} + ├──────value: ehlo.domain + ╰──(tainted) ├considering: }{+dlist}} ├──expanding: $sender_helo_name ╰─────result: ehlo.domain @@ -428,6 +446,8 @@ LOG: smtp_connection MAIN ├──expanding: +dlist ╰─────result: +dlist ╭considering: $domain + ├──────value: ehlo.domain + ╰──(tainted) ├──expanding: $domain ╰─────result: ehlo.domain ╰──(tainted) @@ -438,27 +458,38 @@ LOG: smtp_connection MAIN ╭considering: domain=$domain/sender_domain=$sender_address_domain ├───────text: domain= ├considering: $domain/sender_domain=$sender_address_domain + ├──────value: ├considering: /sender_domain=$sender_address_domain ├───────text: /sender_domain= ├considering: $sender_address_domain + ├──────value: sender.domain + ╰──(tainted) ├──expanding: domain=$domain/sender_domain=$sender_address_domain ╰─────result: domain=/sender_domain=sender.domain ╰──(tainted) ╭considering: domain=$domain/sender_domain=$sender_address_domain ├───────text: domain= ├considering: $domain/sender_domain=$sender_address_domain + ├──────value: recipient.domain + ╰──(tainted) ├considering: /sender_domain=$sender_address_domain ├───────text: /sender_domain= ├considering: $sender_address_domain + ├──────value: sender.domain + ╰──(tainted) ├──expanding: domain=$domain/sender_domain=$sender_address_domain ╰─────result: domain=recipient.domain/sender_domain=sender.domain ╰──(tainted) ╭considering: domain=$domain/sender_domain=$sender_address_domain ├───────text: domain= ├considering: $domain/sender_domain=$sender_address_domain + ├──────value: recipient.domain + ╰──(tainted) ├considering: /sender_domain=$sender_address_domain ├───────text: /sender_domain= ├considering: $sender_address_domain + ├──────value: sender.domain + ╰──(tainted) ├──expanding: domain=$domain/sender_domain=$sender_address_domain ╰─────result: domain=recipient.domain/sender_domain=sender.domain ╰──(tainted) diff --git a/test/stderr/0620 b/test/stderr/0620 index 577a8771d..b0a0114fd 100644 --- a/test/stderr/0620 +++ b/test/stderr/0620 @@ -7,17 +7,22 @@ admin user LOG: smtp_connection MAIN SMTP connection from CALLER ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ├──────value: primaryhostname.ex ├considering: ESMTP Exim $version_number $tod_full ├───────text: ESMTP Exim ├considering: $version_number $tod_full + ├──────value: x.yz ├considering: $tod_full ├───────text: ├considering: $tod_full + ├──────value: Tue, 2 Mar 1999 09:44:33 +0000 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full ╰─────result: primaryhostname.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 ╭considering: domain $domain ├───────text: domain ├considering: $domain + ├──────value: trythiskey.ex + ╰──(tainted) ├──expanding: domain $domain ╰─────result: domain trythiskey.ex ╰──(tainted) @@ -27,6 +32,7 @@ created log directory TESTSUITE/spool/log ╭considering: value $domain_data ├───────text: value ├considering: $domain_data + ├──────value: has this data ├──expanding: value $domain_data ╰─────result: value has this data LOG: MAIN @@ -36,6 +42,8 @@ LOG: MAIN ├considering: 0 '$0' \$1 '$1' ├───────text: 0 ' ├considering: $0' \$1 '$1' + ├──────value: trythiskey.ex + ╰──(tainted) ├considering: ' \$1 '$1' ├───────text: ' ├considering: \$1 '$1' @@ -62,17 +70,22 @@ admin user LOG: smtp_connection MAIN SMTP connection from CALLER ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ├──────value: primaryhostname.ex ├considering: ESMTP Exim $version_number $tod_full ├───────text: ESMTP Exim ├considering: $version_number $tod_full + ├──────value: x.yz ├considering: $tod_full ├───────text: ├considering: $tod_full + ├──────value: Tue, 2 Mar 1999 09:44:33 +0000 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full ╰─────result: primaryhostname.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 ╭considering: domain $domain ├───────text: domain ├considering: $domain + ├──────value: trythiskey.ex + ╰──(tainted) ├──expanding: domain $domain ╰─────result: domain trythiskey.ex ╰──(tainted) @@ -81,6 +94,7 @@ LOG: MAIN ╭considering: value $domain_data ├───────text: value ├considering: $domain_data + ├──────value: trythiskey.ex ├──expanding: value $domain_data ╰─────result: value trythiskey.ex LOG: MAIN @@ -90,6 +104,8 @@ LOG: MAIN ├considering: 0 '$0' \$1 '$1' ├───────text: 0 ' ├considering: $0' \$1 '$1' + ├──────value: trythiskey.ex + ╰──(tainted) ├considering: ' \$1 '$1' ├───────text: ' ├considering: \$1 '$1' diff --git a/test/stderr/0630 b/test/stderr/0630 index 23b653850..28904eb94 100644 --- a/test/stderr/0630 +++ b/test/stderr/0630 @@ -1,6 +1,3 @@ -01:01:01 p1235 Considering: dest3@test.ex -01:01:01 p1235 unique = dest3@test.ex -01:01:01 p1235 no domain retry record 01:01:01 p1235 no address retry record 01:01:01 p1235 dest3@test.ex: queued for routing 01:01:01 p1235 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -11,6 +8,8 @@ 01:01:01 p1235 ╭considering: /$local_part 01:01:01 p1235 ├───────text: / 01:01:01 p1235 ├considering: $local_part +01:01:01 p1235 ├──────value: dest3 +01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├──expanding: /$local_part 01:01:01 p1235 ╰─────result: /dest3 01:01:01 p1235 ╰──(tainted) diff --git a/test/stderr/0632 b/test/stderr/0632 index a65d074f4..031df4c5b 100644 --- a/test/stderr/0632 +++ b/test/stderr/0632 @@ -11,6 +11,7 @@ daemon_smtp_port overridden by -oX: <: 1225 creating notifier socket ╭considering: $spool_directory/exim_daemon_notify + ├──────value: TESTSUITE/spool ├considering: /exim_daemon_notify ├───────text: /exim_daemon_notify ├──expanding: $spool_directory/exim_daemon_notify @@ -27,12 +28,15 @@ Connection request from 127.0.0.1 port sssss search_tidyup called p1235 Process p1235 is handling incoming connection from [127.0.0.1] p1235 ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full +p1235 ├──────value: myhost.test.ex p1235 ├considering: ESMTP Exim $version_number $tod_full p1235 ├───────text: ESMTP Exim p1235 ├considering: $version_number $tod_full +p1235 ├──────value: x.yz p1235 ├considering: $tod_full p1235 ├───────text: p1235 ├considering: $tod_full +p1235 ├──────value: Tue, 2 Mar 1999 09:44:33 +0000 p1235 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full p1235 ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 p1235 Process p1235 is ready for new message @@ -40,6 +44,7 @@ p1235 compiled caseless RE '^nomatch_list' not found in local cache p1235 compiled RE '^nomatch_list' saved in local cache p1235 sending RE '^nomatch_list' to daemon p1235 ╭considering: $spool_directory/exim_daemon_notify +p1235 ├──────value: TESTSUITE/spool p1235 ├considering: /exim_daemon_notify p1235 ├───────text: /exim_daemon_notify p1235 ├──expanding: $spool_directory/exim_daemon_notify @@ -60,6 +65,7 @@ p1235 compiling RE 'static_RE' p1235 compiled RE 'static_RE' saved in local cache p1235 sending RE 'static_RE' to daemon p1235 ╭considering: $spool_directory/exim_daemon_notify +p1235 ├──────value: TESTSUITE/spool p1235 ├considering: /exim_daemon_notify p1235 ├───────text: /exim_daemon_notify p1235 ├──expanding: $spool_directory/exim_daemon_notify @@ -86,6 +92,7 @@ p1235 compiling RE 'tricky_static_RE$' p1235 compiled RE 'tricky_static_RE$' saved in local cache p1235 sending RE 'tricky_static_RE$' to daemon p1235 ╭considering: $spool_directory/exim_daemon_notify +p1235 ├──────value: TESTSUITE/spool p1235 ├considering: /exim_daemon_notify p1235 ├───────text: /exim_daemon_notify p1235 ├──expanding: $spool_directory/exim_daemon_notify @@ -150,6 +157,8 @@ p1235 }}(Exim $version_number) p1235 ${if def:sender_address {(envelope-from <$sender_address>) p1235 }}id $message_exim_id${if def:received_for { p1235 for $received_for}} +p1235 ├──────value: [127.0.0.1] (helo=test.ex) +p1235 ╰──(tainted) p1235 ├considering: p1235 }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) p1235 }}}}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 @@ -197,6 +206,7 @@ p1235 ╎ }}(Exim $version_number) p1235 ╎ ${if def:sender_address {(envelope-from <$sender_address>) p1235 ╎ }}id $message_exim_id${if def:received_for { p1235 ╎ for $received_for}} +p1235 ╎├──────value: p1235 ╎├───scanning: } }}${if def:sender_helo_name {(helo=$sender_helo_name) p1235 ╎ }}}}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 p1235 ╎ }}(Exim $version_number) @@ -244,6 +254,7 @@ p1235 }}(Exim $version_number) p1235 ${if def:sender_address {(envelope-from <$sender_address>) p1235 }}id $message_exim_id${if def:received_for { p1235 for $received_for}} +p1235 ├──────value: p1235 ├───scanning: ) p1235 }}}}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 p1235 }}(Exim $version_number) @@ -286,6 +297,7 @@ p1235 }}(Exim $version_number) p1235 ${if def:sender_address {(envelope-from <$sender_address>) p1235 }}id $message_exim_id${if def:received_for { p1235 for $received_for}} +p1235 ├──────value: myhost.test.ex p1235 ├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 p1235 }}(Exim $version_number) p1235 ${if def:sender_address {(envelope-from <$sender_address>) @@ -310,6 +322,7 @@ p1235 }}(Exim $version_number) p1235 ${if def:sender_address {(envelope-from <$sender_address>) p1235 }}id $message_exim_id${if def:received_for { p1235 for $received_for}} +p1235 ├──────value: smtp p1235 ├considering: }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std p1235 }}(Exim $version_number) p1235 ${if def:sender_address {(envelope-from <$sender_address>) @@ -330,6 +343,7 @@ p1235 }}(Exim $version_number) p1235 ${if def:sender_address {(envelope-from <$sender_address>) p1235 }}id $message_exim_id${if def:received_for { p1235 for $received_for}} +p1235 ${if def:sender_address {(envelope-from <$sender_address>) p1235 }}id $message_exim_id${if def:received_for { p1235 for $received_for}} p1235 ├──expanding: ($tls_in_ver) @@ -355,6 +369,7 @@ p1235 }}(Exim $version_number) p1235 ${if def:sender_address {(envelope-from <$sender_address>) p1235 }}id $message_exim_id${if def:received_for { p1235 for $received_for}} +p1235 ├──────value: p1235 ├───scanning: p1235 }}(Exim $version_number) p1235 ${if def:sender_address {(envelope-from <$sender_address>) @@ -382,6 +397,7 @@ p1235 ├considering: $version_number) p1235 ${if def:sender_address {(envelope-from <$sender_address>) p1235 }}id $message_exim_id${if def:received_for { p1235 for $received_for}} +p1235 ├──────value: x.yz p1235 ├considering: ) p1235 ${if def:sender_address {(envelope-from <$sender_address>) p1235 }}id $message_exim_id${if def:received_for { @@ -400,6 +416,8 @@ p1235 ├───────text: (envelope-from < p1235 ├considering: $sender_address>) p1235 }}id $message_exim_id${if def:received_for { p1235 for $received_for}} +p1235 ├──────value: CALLER@test.ex +p1235 ╰──(tainted) p1235 ├considering: >) p1235 }}id $message_exim_id${if def:received_for { p1235 for $received_for}} @@ -420,6 +438,7 @@ p1235 for $received_for}} p1235 ├───────text: id p1235 ├considering: $message_exim_id${if def:received_for { p1235 for $received_for}} +p1235 ├──────value: 10HmaX-0005vi-00 p1235 ├considering: ${if def:received_for { p1235 for $received_for}} p1235 ├──condition: def:received_for @@ -429,6 +448,8 @@ p1235 for $received_for}} p1235 ├───────text: p1235 for p1235 ├considering: $received_for}} +p1235 ├──────value: dest_1@test.ex +p1235 ╰──(tainted) p1235 ├considering: }} p1235 ├──expanding: p1235 for $received_for @@ -487,12 +508,15 @@ p1234 Connection request from 127.0.0.1 port sssss p1234 search_tidyup called p1236 Process p1236 is handling incoming connection from [127.0.0.1] p1236 ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full +p1236 ├──────value: myhost.test.ex p1236 ├considering: ESMTP Exim $version_number $tod_full p1236 ├───────text: ESMTP Exim p1236 ├considering: $version_number $tod_full +p1236 ├──────value: x.yz p1236 ├considering: $tod_full p1236 ├───────text: p1236 ├considering: $tod_full +p1236 ├──────value: Tue, 2 Mar 1999 09:44:33 +0000 p1236 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full p1236 ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 p1236 Process p1236 is ready for new message @@ -587,6 +611,8 @@ p1236 }}(Exim $version_number) p1236 ${if def:sender_address {(envelope-from <$sender_address>) p1236 }}id $message_exim_id${if def:received_for { p1236 for $received_for}} +p1236 ├──────value: [127.0.0.1] (helo=test.ex) +p1236 ╰──(tainted) p1236 ├considering: p1236 }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) p1236 }}}}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 @@ -634,6 +660,7 @@ p1236 ╎ }}(Exim $version_number) p1236 ╎ ${if def:sender_address {(envelope-from <$sender_address>) p1236 ╎ }}id $message_exim_id${if def:received_for { p1236 ╎ for $received_for}} +p1236 ╎├──────value: p1236 ╎├───scanning: } }}${if def:sender_helo_name {(helo=$sender_helo_name) p1236 ╎ }}}}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 p1236 ╎ }}(Exim $version_number) @@ -681,6 +708,7 @@ p1236 }}(Exim $version_number) p1236 ${if def:sender_address {(envelope-from <$sender_address>) p1236 }}id $message_exim_id${if def:received_for { p1236 for $received_for}} +p1236 ├──────value: p1236 ├───scanning: ) p1236 }}}}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 p1236 }}(Exim $version_number) @@ -723,6 +751,7 @@ p1236 }}(Exim $version_number) p1236 ${if def:sender_address {(envelope-from <$sender_address>) p1236 }}id $message_exim_id${if def:received_for { p1236 for $received_for}} +p1236 ├──────value: myhost.test.ex p1236 ├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 p1236 }}(Exim $version_number) p1236 ${if def:sender_address {(envelope-from <$sender_address>) @@ -747,6 +776,7 @@ p1236 }}(Exim $version_number) p1236 ${if def:sender_address {(envelope-from <$sender_address>) p1236 }}id $message_exim_id${if def:received_for { p1236 for $received_for}} +p1236 ├──────value: smtp p1236 ├considering: }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std p1236 }}(Exim $version_number) p1236 ${if def:sender_address {(envelope-from <$sender_address>) @@ -767,6 +797,7 @@ p1236 }}(Exim $version_number) p1236 ${if def:sender_address {(envelope-from <$sender_address>) p1236 }}id $message_exim_id${if def:received_for { p1236 for $received_for}} +p1236 ${if def:sender_address {(envelope-from <$sender_address>) p1236 }}id $message_exim_id${if def:received_for { p1236 for $received_for}} p1236 ├──expanding: ($tls_in_ver) @@ -792,6 +823,7 @@ p1236 }}(Exim $version_number) p1236 ${if def:sender_address {(envelope-from <$sender_address>) p1236 }}id $message_exim_id${if def:received_for { p1236 for $received_for}} +p1236 ├──────value: p1236 ├───scanning: p1236 }}(Exim $version_number) p1236 ${if def:sender_address {(envelope-from <$sender_address>) @@ -819,6 +851,7 @@ p1236 ├considering: $version_number) p1236 ${if def:sender_address {(envelope-from <$sender_address>) p1236 }}id $message_exim_id${if def:received_for { p1236 for $received_for}} +p1236 ├──────value: x.yz p1236 ├considering: ) p1236 ${if def:sender_address {(envelope-from <$sender_address>) p1236 }}id $message_exim_id${if def:received_for { @@ -837,6 +870,8 @@ p1236 ├───────text: (envelope-from < p1236 ├considering: $sender_address>) p1236 }}id $message_exim_id${if def:received_for { p1236 for $received_for}} +p1236 ├──────value: CALLER@test.ex +p1236 ╰──(tainted) p1236 ├considering: >) p1236 }}id $message_exim_id${if def:received_for { p1236 for $received_for}} @@ -857,6 +892,7 @@ p1236 for $received_for}} p1236 ├───────text: id p1236 ├considering: $message_exim_id${if def:received_for { p1236 for $received_for}} +p1236 ├──────value: 10HmaY-0005vi-00 p1236 ├considering: ${if def:received_for { p1236 for $received_for}} p1236 ├──condition: def:received_for @@ -866,6 +902,8 @@ p1236 for $received_for}} p1236 ├───────text: p1236 for p1236 ├considering: $received_for}} +p1236 ├──────value: dest_2@test.ex +p1236 ╰──(tainted) p1236 ├considering: }} p1236 ├──expanding: p1236 for $received_for diff --git a/test/stderr/5410 b/test/stderr/5410 index 42c280a2e..c5db2f1e8 100644 --- a/test/stderr/5410 +++ b/test/stderr/5410 @@ -8,12 +8,15 @@ admin user LOG: smtp_connection MAIN SMTP connection from CALLER ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ├──────value: myhost.test.ex ├considering: ESMTP Exim $version_number $tod_full ├───────text: ESMTP Exim ├considering: $version_number $tod_full + ├──────value: x.yz ├considering: $tod_full ├───────text: ├considering: $tod_full + ├──────value: Tue, 2 Mar 1999 09:44:33 +0000 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 in dsn_advertise_hosts? no (option unset) @@ -64,6 +67,8 @@ domain.com in "! +local_domains"? end sublist local_domains domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part + ├──────value: userx + ╰──(tainted) ├──expanding: $local_part ╰─────result: userx ╰──(tainted) @@ -84,6 +89,8 @@ domain.com in "! +local_domains"? end sublist local_domains domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part + ├──────value: userx + ╰──(tainted) ├──expanding: $local_part ╰─────result: userx ╰──(tainted) @@ -94,6 +101,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... 127.0.0.1 in list element: connected ╭considering: $primary_hostname + ├──────value: myhost.test.ex ├──expanding: $primary_hostname ╰─────result: myhost.test.ex SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 @@ -108,6 +116,7 @@ cmd buf flush ddd bytes 250 HELP ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├──────value: 127.0.0.1 ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $host ╰─────result: 127.0.0.1 @@ -119,6 +128,7 @@ cmd buf flush ddd bytes ├──expanding: .outlook.com\$ ╰─────result: .outlook.com$ ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├──────value: ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $item ├─────result: @@ -140,6 +150,8 @@ cmd buf flush ddd bytes ╰─────result: ╭considering: ${if eq {$address_data}{usery}{*}{:}} ╭considering: $address_data}{usery}{*}{:}} + ├──────value: userx + ╰──(tainted) ├considering: }{usery}{*}{:}} ├──expanding: $address_data ╰─────result: userx @@ -169,6 +181,8 @@ cmd buf flush ddd bytes 127.0.0.1 in hosts_avoid_tls? no (end of list) ╭considering: ${if eq {$address_data}{userz}{*}{:}} ╭considering: $address_data}{userz}{*}{:}} + ├──────value: userx + ╰──(tainted) ├considering: }{userz}{*}{:}} ├──expanding: $address_data ╰─────result: userx @@ -267,6 +281,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std @@ -314,6 +329,7 @@ end of inline ACL: ACCEPT ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} + ╎├──────value: CALLER ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name) ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std ╎ }}(Exim $version_number) @@ -360,6 +376,8 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: myhost.test.ex + ╰──(tainted) ├considering: ) }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) @@ -405,6 +423,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: myhost.test.ex ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -429,6 +448,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: local-esmtp ├considering: }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -449,6 +469,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} ├──expanding: ($tls_in_ver) @@ -474,6 +495,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -501,6 +523,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: x.yz ├considering: ) ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { @@ -519,6 +542,7 @@ end of inline ACL: ACCEPT ├considering: $sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: CALLER@myhost.test.ex ├considering: >) }}id $message_exim_id${if def:received_for { for $received_for}} @@ -538,6 +562,7 @@ end of inline ACL: ACCEPT ├───────text: id ├considering: $message_exim_id${if def:received_for { for $received_for}} + ├──────value: 10HmaX-0005vi-00 ├considering: ${if def:received_for { for $received_for}} ├──condition: def:received_for @@ -547,6 +572,8 @@ end of inline ACL: ACCEPT ├───────text: for ├considering: $received_for}} + ├──────value: userx@domain.com + ╰──(tainted) ├considering: }} ├──expanding: for $received_for @@ -600,12 +627,15 @@ admin user LOG: smtp_connection MAIN SMTP connection from CALLER ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ├──────value: myhost.test.ex ├considering: ESMTP Exim $version_number $tod_full ├───────text: ESMTP Exim ├considering: $version_number $tod_full + ├──────value: x.yz ├considering: $tod_full ├───────text: ├considering: $tod_full + ├──────value: Tue, 2 Mar 1999 09:44:33 +0000 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 in dsn_advertise_hosts? no (option unset) @@ -656,6 +686,8 @@ domain.com in "! +local_domains"? end sublist local_domains domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part + ├──────value: usery + ╰──(tainted) ├──expanding: $local_part ╰─────result: usery ╰──(tainted) @@ -676,6 +708,8 @@ domain.com in "! +local_domains"? end sublist local_domains domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part + ├──────value: usery + ╰──(tainted) ├──expanding: $local_part ╰─────result: usery ╰──(tainted) @@ -686,6 +720,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... 127.0.0.1 in list element: connected ╭considering: $primary_hostname + ├──────value: myhost.test.ex ├──expanding: $primary_hostname ╰─────result: myhost.test.ex SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 @@ -700,6 +735,7 @@ cmd buf flush ddd bytes 250 HELP ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├──────value: 127.0.0.1 ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $host ╰─────result: 127.0.0.1 @@ -711,6 +747,7 @@ cmd buf flush ddd bytes ├──expanding: .outlook.com\$ ╰─────result: .outlook.com$ ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├──────value: ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $item ├─────result: @@ -732,6 +769,8 @@ cmd buf flush ddd bytes ╰─────result: ╭considering: ${if eq {$address_data}{usery}{*}{:}} ╭considering: $address_data}{usery}{*}{:}} + ├──────value: usery + ╰──(tainted) ├considering: }{usery}{*}{:}} ├──expanding: $address_data ╰─────result: usery @@ -812,6 +851,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std @@ -859,6 +899,7 @@ end of inline ACL: ACCEPT ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} + ╎├──────value: CALLER ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name) ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std ╎ }}(Exim $version_number) @@ -905,6 +946,8 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: myhost.test.ex + ╰──(tainted) ├considering: ) }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) @@ -950,6 +993,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: myhost.test.ex ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -974,6 +1018,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: local-esmtp ├considering: }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -994,6 +1039,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} ├──expanding: ($tls_in_ver) @@ -1019,6 +1065,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -1046,6 +1093,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: x.yz ├considering: ) ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { @@ -1064,6 +1112,7 @@ end of inline ACL: ACCEPT ├considering: $sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: CALLER@myhost.test.ex ├considering: >) }}id $message_exim_id${if def:received_for { for $received_for}} @@ -1083,6 +1132,7 @@ end of inline ACL: ACCEPT ├───────text: id ├considering: $message_exim_id${if def:received_for { for $received_for}} + ├──────value: 10HmaZ-0005vi-00 ├considering: ${if def:received_for { for $received_for}} ├──condition: def:received_for @@ -1092,6 +1142,8 @@ end of inline ACL: ACCEPT ├───────text: for ├considering: $received_for}} + ├──────value: usery@domain.com + ╰──(tainted) ├considering: }} ├──expanding: for $received_for @@ -1145,12 +1197,15 @@ admin user LOG: smtp_connection MAIN SMTP connection from CALLER ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ├──────value: myhost.test.ex ├considering: ESMTP Exim $version_number $tod_full ├───────text: ESMTP Exim ├considering: $version_number $tod_full + ├──────value: x.yz ├considering: $tod_full ├───────text: ├considering: $tod_full + ├──────value: Tue, 2 Mar 1999 09:44:33 +0000 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 in dsn_advertise_hosts? no (option unset) @@ -1201,6 +1256,8 @@ domain.com in "! +local_domains"? end sublist local_domains domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part + ├──────value: usery + ╰──(tainted) ├──expanding: $local_part ╰─────result: usery ╰──(tainted) @@ -1221,6 +1278,8 @@ domain.com in "! +local_domains"? end sublist local_domains domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part + ├──────value: usery + ╰──(tainted) ├──expanding: $local_part ╰─────result: usery ╰──(tainted) @@ -1231,6 +1290,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... 127.0.0.1 in list element: connected ╭considering: $primary_hostname + ├──────value: myhost.test.ex ├──expanding: $primary_hostname ╰─────result: myhost.test.ex SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 @@ -1245,6 +1305,7 @@ cmd buf flush ddd bytes 250 HELP ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├──────value: 127.0.0.1 ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $host ╰─────result: 127.0.0.1 @@ -1256,6 +1317,7 @@ cmd buf flush ddd bytes ├──expanding: .outlook.com\$ ╰─────result: .outlook.com$ ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├──────value: ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $item ├─────result: @@ -1277,6 +1339,8 @@ cmd buf flush ddd bytes ╰─────result: ╭considering: ${if eq {$address_data}{usery}{*}{:}} ╭considering: $address_data}{usery}{*}{:}} + ├──────value: usery + ╰──(tainted) ├considering: }{usery}{*}{:}} ├──expanding: $address_data ╰─────result: usery @@ -1357,6 +1421,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std @@ -1404,6 +1469,7 @@ end of inline ACL: ACCEPT ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} + ╎├──────value: CALLER ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name) ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std ╎ }}(Exim $version_number) @@ -1450,6 +1516,8 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: myhost.test.ex + ╰──(tainted) ├considering: ) }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) @@ -1495,6 +1563,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: myhost.test.ex ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -1519,6 +1588,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: local-esmtp ├considering: }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -1539,6 +1609,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} ├──expanding: ($tls_in_ver) @@ -1564,6 +1635,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -1591,6 +1663,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: x.yz ├considering: ) ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { @@ -1609,6 +1682,7 @@ end of inline ACL: ACCEPT ├considering: $sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: CALLER@myhost.test.ex ├considering: >) }}id $message_exim_id${if def:received_for { for $received_for}} @@ -1628,6 +1702,7 @@ end of inline ACL: ACCEPT ├───────text: id ├considering: $message_exim_id${if def:received_for { for $received_for}} + ├──────value: 10HmbB-0005vi-00 ├considering: ${if def:received_for { for $received_for}} ├──condition: def:received_for @@ -1637,6 +1712,8 @@ end of inline ACL: ACCEPT ├───────text: for ├considering: $received_for}} + ├──────value: usery@domain.com + ╰──(tainted) ├considering: }} ├──expanding: for $received_for diff --git a/test/stderr/5420 b/test/stderr/5420 index 3b7c2ca78..01633802a 100644 --- a/test/stderr/5420 +++ b/test/stderr/5420 @@ -8,12 +8,15 @@ admin user LOG: smtp_connection MAIN SMTP connection from CALLER ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ├──────value: myhost.test.ex ├considering: ESMTP Exim $version_number $tod_full ├───────text: ESMTP Exim ├considering: $version_number $tod_full + ├──────value: x.yz ├considering: $tod_full ├───────text: ├considering: $tod_full + ├──────value: Tue, 2 Mar 1999 09:44:33 +0000 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 in dsn_advertise_hosts? no (option unset) @@ -22,7 +25,6 @@ LOG: smtp_connection MAIN in pipelining_advertise_hosts? yes (matched "*") in chunking_advertise_hosts? in chunking_advertise_hosts? no (end of list) - in tls_advertise_hosts? list element: * in tls_advertise_hosts? yes (matched "*") ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}} @@ -65,6 +67,8 @@ domain.com in "! +local_domains"? end sublist local_domains domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part + ├──────value: userx + ╰──(tainted) ├──expanding: $local_part ╰─────result: userx ╰──(tainted) @@ -85,6 +89,8 @@ domain.com in "! +local_domains"? end sublist local_domains domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part + ├──────value: userx + ╰──(tainted) ├──expanding: $local_part ╰─────result: userx ╰──(tainted) @@ -95,6 +101,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... 127.0.0.1 in list element: connected ╭considering: $primary_hostname + ├──────value: myhost.test.ex ├──expanding: $primary_hostname ╰─────result: myhost.test.ex SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 @@ -109,6 +116,7 @@ cmd buf flush ddd bytes 250 HELP ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├──────value: 127.0.0.1 ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $host ╰─────result: 127.0.0.1 @@ -119,10 +127,8 @@ cmd buf flush ddd bytes ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: .outlook.com\$ ╰─────result: .outlook.com$ - compiled RE '.outlook.com$' not found in local cache - compiling RE '.outlook.com$' - compiled RE '.outlook.com$' saved in local cache ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├──────value: ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $item ├─────result: @@ -144,6 +150,8 @@ cmd buf flush ddd bytes ╰─────result: ╭considering: ${if eq {$address_data}{usery}{*}{:}} ╭considering: $address_data}{usery}{*}{:}} + ├──────value: userx + ╰──(tainted) ├considering: }{usery}{*}{:}} ├──expanding: $address_data ╰─────result: userx @@ -173,6 +181,8 @@ cmd buf flush ddd bytes 127.0.0.1 in hosts_avoid_tls? no (end of list) ╭considering: ${if eq {$address_data}{userz}{*}{:}} ╭considering: $address_data}{userz}{*}{:}} + ├──────value: userx + ╰──(tainted) ├considering: }{userz}{*}{:}} ├──expanding: $address_data ╰─────result: userx @@ -271,6 +281,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std @@ -318,6 +329,7 @@ end of inline ACL: ACCEPT ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} + ╎├──────value: CALLER ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name) ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std ╎ }}(Exim $version_number) @@ -364,6 +376,8 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: myhost.test.ex + ╰──(tainted) ├considering: ) }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) @@ -409,6 +423,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: myhost.test.ex ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -433,6 +448,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: local-esmtp ├considering: }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -453,6 +469,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} ├──expanding: ($tls_in_ver) @@ -478,6 +495,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -505,6 +523,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: x.yz ├considering: ) ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { @@ -523,6 +542,7 @@ end of inline ACL: ACCEPT ├considering: $sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: CALLER@myhost.test.ex ├considering: >) }}id $message_exim_id${if def:received_for { for $received_for}} @@ -542,6 +562,7 @@ end of inline ACL: ACCEPT ├───────text: id ├considering: $message_exim_id${if def:received_for { for $received_for}} + ├──────value: 10HmaX-0005vi-00 ├considering: ${if def:received_for { for $received_for}} ├──condition: def:received_for @@ -551,6 +572,8 @@ end of inline ACL: ACCEPT ├───────text: for ├considering: $received_for}} + ├──────value: userx@domain.com + ╰──(tainted) ├considering: }} ├──expanding: for $received_for @@ -604,12 +627,15 @@ admin user LOG: smtp_connection MAIN SMTP connection from CALLER ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ├──────value: myhost.test.ex ├considering: ESMTP Exim $version_number $tod_full ├───────text: ESMTP Exim ├considering: $version_number $tod_full + ├──────value: x.yz ├considering: $tod_full ├───────text: ├considering: $tod_full + ├──────value: Tue, 2 Mar 1999 09:44:33 +0000 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 in dsn_advertise_hosts? no (option unset) @@ -618,7 +644,6 @@ LOG: smtp_connection MAIN in pipelining_advertise_hosts? yes (matched "*") in chunking_advertise_hosts? in chunking_advertise_hosts? no (end of list) - in tls_advertise_hosts? list element: * in tls_advertise_hosts? yes (matched "*") ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}} @@ -661,6 +686,8 @@ domain.com in "! +local_domains"? end sublist local_domains domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part + ├──────value: usery + ╰──(tainted) ├──expanding: $local_part ╰─────result: usery ╰──(tainted) @@ -681,6 +708,8 @@ domain.com in "! +local_domains"? end sublist local_domains domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part + ├──────value: usery + ╰──(tainted) ├──expanding: $local_part ╰─────result: usery ╰──(tainted) @@ -691,6 +720,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... 127.0.0.1 in list element: connected ╭considering: $primary_hostname + ├──────value: myhost.test.ex ├──expanding: $primary_hostname ╰─────result: myhost.test.ex SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 @@ -705,6 +735,7 @@ cmd buf flush ddd bytes 250 HELP ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├──────value: 127.0.0.1 ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $host ╰─────result: 127.0.0.1 @@ -715,10 +746,8 @@ cmd buf flush ddd bytes ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: .outlook.com\$ ╰─────result: .outlook.com$ - compiled RE '.outlook.com$' not found in local cache - compiling RE '.outlook.com$' - compiled RE '.outlook.com$' saved in local cache ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├──────value: ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $item ├─────result: @@ -740,6 +769,8 @@ cmd buf flush ddd bytes ╰─────result: ╭considering: ${if eq {$address_data}{usery}{*}{:}} ╭considering: $address_data}{usery}{*}{:}} + ├──────value: usery + ╰──(tainted) ├considering: }{usery}{*}{:}} ├──expanding: $address_data ╰─────result: usery @@ -820,6 +851,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std @@ -867,6 +899,7 @@ end of inline ACL: ACCEPT ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} + ╎├──────value: CALLER ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name) ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std ╎ }}(Exim $version_number) @@ -913,6 +946,8 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: myhost.test.ex + ╰──(tainted) ├considering: ) }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) @@ -958,6 +993,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: myhost.test.ex ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -982,6 +1018,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: local-esmtp ├considering: }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -1002,6 +1039,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} ├──expanding: ($tls_in_ver) @@ -1027,6 +1065,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -1054,6 +1093,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: x.yz ├considering: ) ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { @@ -1072,6 +1112,7 @@ end of inline ACL: ACCEPT ├considering: $sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: CALLER@myhost.test.ex ├considering: >) }}id $message_exim_id${if def:received_for { for $received_for}} @@ -1091,6 +1132,7 @@ end of inline ACL: ACCEPT ├───────text: id ├considering: $message_exim_id${if def:received_for { for $received_for}} + ├──────value: 10HmaZ-0005vi-00 ├considering: ${if def:received_for { for $received_for}} ├──condition: def:received_for @@ -1100,6 +1142,8 @@ end of inline ACL: ACCEPT ├───────text: for ├considering: $received_for}} + ├──────value: usery@domain.com + ╰──(tainted) ├considering: }} ├──expanding: for $received_for @@ -1153,12 +1197,15 @@ admin user LOG: smtp_connection MAIN SMTP connection from CALLER ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ├──────value: myhost.test.ex ├considering: ESMTP Exim $version_number $tod_full ├───────text: ESMTP Exim ├considering: $version_number $tod_full + ├──────value: x.yz ├considering: $tod_full ├───────text: ├considering: $tod_full + ├──────value: Tue, 2 Mar 1999 09:44:33 +0000 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 in dsn_advertise_hosts? no (option unset) @@ -1167,7 +1214,6 @@ LOG: smtp_connection MAIN in pipelining_advertise_hosts? yes (matched "*") in chunking_advertise_hosts? in chunking_advertise_hosts? no (end of list) - in tls_advertise_hosts? list element: * in tls_advertise_hosts? yes (matched "*") ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}} @@ -1210,6 +1256,8 @@ domain.com in "! +local_domains"? end sublist local_domains domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part + ├──────value: usery + ╰──(tainted) ├──expanding: $local_part ╰─────result: usery ╰──(tainted) @@ -1230,6 +1278,8 @@ domain.com in "! +local_domains"? end sublist local_domains domain.com in "! +local_domains"? yes (end of list) ╭considering: $local_part + ├──────value: usery + ╰──(tainted) ├──expanding: $local_part ╰─────result: usery ╰──(tainted) @@ -1240,6 +1290,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... 127.0.0.1 in list element: connected ╭considering: $primary_hostname + ├──────value: myhost.test.ex ├──expanding: $primary_hostname ╰─────result: myhost.test.ex SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 @@ -1254,6 +1305,7 @@ cmd buf flush ddd bytes 250 HELP ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├──────value: 127.0.0.1 ├considering: }{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $host ╰─────result: 127.0.0.1 @@ -1264,10 +1316,8 @@ cmd buf flush ddd bytes ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: .outlook.com\$ ╰─────result: .outlook.com$ - compiled RE '.outlook.com$' not found in local cache - compiling RE '.outlook.com$' - compiled RE '.outlook.com$' saved in local cache ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├──────value: ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $item ├─────result: @@ -1289,6 +1339,8 @@ cmd buf flush ddd bytes ╰─────result: ╭considering: ${if eq {$address_data}{usery}{*}{:}} ╭considering: $address_data}{usery}{*}{:}} + ├──────value: usery + ╰──(tainted) ├considering: }{usery}{*}{:}} ├──expanding: $address_data ╰─────result: usery @@ -1369,6 +1421,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std @@ -1416,6 +1469,7 @@ end of inline ACL: ACCEPT ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} + ╎├──────value: CALLER ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name) ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std ╎ }}(Exim $version_number) @@ -1462,6 +1516,8 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: myhost.test.ex + ╰──(tainted) ├considering: ) }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) @@ -1507,6 +1563,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: myhost.test.ex ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -1531,6 +1588,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: local-esmtp ├considering: }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -1551,6 +1609,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} ├──expanding: ($tls_in_ver) @@ -1576,6 +1635,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: ├───scanning: }}(Exim $version_number) ${if def:sender_address {(envelope-from <$sender_address>) @@ -1603,6 +1663,7 @@ end of inline ACL: ACCEPT ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: x.yz ├considering: ) ${if def:sender_address {(envelope-from <$sender_address>) }}id $message_exim_id${if def:received_for { @@ -1621,6 +1682,7 @@ end of inline ACL: ACCEPT ├considering: $sender_address>) }}id $message_exim_id${if def:received_for { for $received_for}} + ├──────value: CALLER@myhost.test.ex ├considering: >) }}id $message_exim_id${if def:received_for { for $received_for}} @@ -1640,6 +1702,7 @@ end of inline ACL: ACCEPT ├───────text: id ├considering: $message_exim_id${if def:received_for { for $received_for}} + ├──────value: 10HmbB-0005vi-00 ├considering: ${if def:received_for { for $received_for}} ├──condition: def:received_for @@ -1649,6 +1712,8 @@ end of inline ACL: ACCEPT ├───────text: for ├considering: $received_for}} + ├──────value: usery@domain.com + ╰──(tainted) ├considering: }} ├──expanding: for $received_for -- 2.30.2