From d945e180cbe2b26392fb21f7ae4dd2ccc603a81b Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Fri, 8 Mar 2024 01:59:34 +0000 Subject: [PATCH] Debug: expansions: refactor ascii-art/UTF8; mark up space & nl --- src/src/expand.c | 210 ++-- src/src/macros.h | 9 +- src/src/os.c | 3 +- src/src/string.c | 74 +- test/runtest | 28 +- test/scripts/0000-Basic/0002 | 2 + test/stderr/0002 | 342 +++--- test/stderr/0092 | 46 +- test/stderr/0402 | 652 ++++++----- test/stderr/0544 | 652 ++++++----- test/stderr/0620 | 114 +- test/stderr/0628 | 8 +- test/stderr/0630 | 3 +- test/stderr/0632 | 1296 +++++++++++----------- test/stderr/2610 | 172 +-- test/stderr/3000 | 50 +- test/stderr/5410 | 2026 +++++++++++++++++----------------- test/stderr/5420 | 2026 +++++++++++++++++----------------- test/stdout/0002 | 2 + 19 files changed, 3878 insertions(+), 3837 deletions(-) diff --git a/src/src/expand.c b/src/src/expand.c index 6be5cca0e..a916eee64 100644 --- a/src/src/expand.c +++ b/src/src/expand.c @@ -4496,30 +4496,17 @@ return yield; /************************************************/ static void debug_expansion_interim(const uschar * what, const uschar * value, int nchar, - BOOL skipping) + esi_flags flags) { -DEBUG(D_noutf8) - debug_printf_indent("|"); -else - debug_printf_indent(UTF8_VERT_RIGHT); +debug_printf_indent("%V", "K"); for (int fill = 11 - Ustrlen(what); fill > 0; fill--) - DEBUG(D_noutf8) - debug_printf("-"); - else - debug_printf(UTF8_HORIZ); + debug_printf("%V", "-"); -debug_printf("%s: %.*s\n", what, nchar, value); +debug_printf("%s: %.*W\n", what, nchar, value); if (is_tainted(value)) - { - DEBUG(D_noutf8) - debug_printf_indent("%s \\__", skipping ? "| " : " "); - else - debug_printf_indent("%s", - skipping - ? UTF8_VERT " " : " " UTF8_UP_RIGHT UTF8_HORIZ UTF8_HORIZ); - debug_printf("(tainted)\n"); - } + debug_printf_indent("%V %V(tainted)\n", + flags & ESI_SKIPPING ? "|" : " ", "\\__"); } @@ -4618,17 +4605,10 @@ while (*s) DEBUG(D_expand) { - DEBUG(D_noutf8) - debug_printf_indent("%c%s: %s\n", - first ? '/' : '|', - flags & ESI_SKIPPING ? "---scanning" : "considering", s); - else - debug_printf_indent("%s%s: %s\n", - first ? UTF8_DOWN_RIGHT : UTF8_VERT_RIGHT, - flags & ESI_SKIPPING - ? UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ "scanning" - : "considering", - s); + debug_printf_indent("%V%V%s: %W\n", + first ? "/" : "K", + flags & ESI_SKIPPING ? "---" : "", + flags & ESI_SKIPPING ? "scanning" : "considering", s); first = FALSE; } @@ -4651,21 +4631,20 @@ while (*s) for (s = t; *s ; s++) if (*s == '\\' && s[1] == 'N') break; DEBUG(D_expand) - debug_expansion_interim(US"protected", t, (int)(s - t), !!(flags & ESI_SKIPPING)); - yield = string_catn(yield, t, s - t); + debug_expansion_interim(US"protected", t, (int)(s - t), flags); + if (!(flags & ESI_SKIPPING)) + yield = string_catn(yield, t, s - t); if (*s) s += 2; } else { uschar ch[1]; DEBUG(D_expand) - DEBUG(D_noutf8) - debug_printf_indent("|backslashed: '\\%c'\n", s[1]); - else - debug_printf_indent(UTF8_VERT_RIGHT "backslashed: '\\%c'\n", s[1]); + debug_printf_indent("%Vbackslashed: '\\%c'\n", "K", s[1]); ch[0] = string_interpret_escape(&s); + if (!(flags & ESI_SKIPPING)) + yield = string_catn(yield, ch, 1); s++; - yield = string_catn(yield, ch, 1); } continue; } @@ -4682,9 +4661,10 @@ while (*s) for (const uschar * t = s+1; *t && *t != '$' && *t != '}' && *t != '\\'; t++) i++; - DEBUG(D_expand) debug_expansion_interim(US"text", s, i, !!(flags & ESI_SKIPPING)); + DEBUG(D_expand) debug_expansion_interim(US"text", s, i, flags); - yield = string_catn(yield, s, i); + if (!(flags & ESI_SKIPPING)) + yield = string_catn(yield, s, i); s += i; continue; } @@ -4710,15 +4690,16 @@ while (*s) /* If this is the first thing to be expanded, release the pre-allocated buffer. */ - if (!yield) - g = store_get(sizeof(gstring), GET_UNTAINTED); - else if (yield->ptr == 0) - { - if (resetok) reset_point = store_reset(reset_point); - yield = NULL; - reset_point = store_mark(); - g = store_get(sizeof(gstring), GET_UNTAINTED); /* alloc _before_ calling find_variable() */ - } + if (!(flags & ESI_SKIPPING)) + if (!yield) + g = store_get(sizeof(gstring), GET_UNTAINTED); + else if (yield->ptr == 0) + { + if (resetok) reset_point = store_reset(reset_point); + yield = NULL; + reset_point = store_mark(); + g = store_get(sizeof(gstring), GET_UNTAINTED); /* alloc _before_ calling find_variable() */ + } /* Header */ @@ -4767,16 +4748,17 @@ 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; - yield->size = newsize; - yield->ptr = len; - yield->s = US value; /* known to be in new store i.e. a copy, so deconst safe */ - } - else - yield = string_catn(yield, value, len); + DEBUG(D_expand) debug_expansion_interim(US"value", value, len, flags); + if (!(flags & ESI_SKIPPING)) + if (!yield && newsize != 0) + { + yield = g; + yield->size = newsize; + yield->ptr = len; + yield->s = US value; /* known to be in new store i.e. a copy, so deconst safe */ + } + else + yield = string_catn(yield, value, len); continue; } @@ -4787,8 +4769,9 @@ while (*s) 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]); + DEBUG(D_expand) debug_expansion_interim(US"value", expand_nstring[n], expand_nlength[n], flags); + if (!(flags & ESI_SKIPPING)) + yield = string_catn(yield, expand_nstring[n], expand_nlength[n]); } continue; } @@ -4815,8 +4798,9 @@ while (*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]); + DEBUG(D_expand) debug_expansion_interim(US"value", expand_nstring[n], expand_nlength[n], flags); + if (!(flags & ESI_SKIPPING)) + yield = string_catn(yield, expand_nstring[n], expand_nlength[n]); } continue; } @@ -4941,9 +4925,9 @@ while (*s) DEBUG(D_expand) { - debug_expansion_interim(US"condition", s, (int)(next_s - s), !!(flags & ESI_SKIPPING)); + debug_expansion_interim(US"condition", s, (int)(next_s - s), flags); debug_expansion_interim(US"result", - cond ? US"true" : US"false", cond ? 4 : 5, !!(flags & ESI_SKIPPING)); + cond ? US"true" : US"false", cond ? 4 : 5, flags); } s = next_s; @@ -7162,7 +7146,7 @@ while (*s) if (yield && (expansion_start > 0 || *s)) debug_expansion_interim(US"item-res", yield->s + expansion_start, yield->ptr - expansion_start, - !!(flags & ESI_SKIPPING)); + flags); continue; NOT_ITEM: ; @@ -8347,27 +8331,13 @@ NOT_ITEM: ; int i = gstring_length(yield) - expansion_start; BOOL tainted = is_tainted(s); - DEBUG(D_noutf8) - { - debug_printf_indent("|-----op-res: %.*s\n", i, s); - if (tainted) - { - debug_printf_indent("%s \\__", flags & ESI_SKIPPING ? "| " : " "); - debug_print_taint(res); - } - } - else + debug_printf_indent("%Vop-res: %.*s\n", "K-----", i, s); + if (tainted) { - debug_printf_indent(UTF8_VERT_RIGHT - UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ - "op-res: %.*s\n", i, s); - if (tainted) - { - debug_printf_indent("%s", - flags & ESI_SKIPPING - ? UTF8_VERT " " : " " UTF8_UP_RIGHT UTF8_HORIZ UTF8_HORIZ); - debug_print_taint(res); - } + debug_printf_indent("%V %V", + flags & ESI_SKIPPING ? "|" : " ", + "\\__"); + debug_print_taint(res); } } continue; @@ -8459,39 +8429,25 @@ left != NULL, return a pointer to the terminator. */ DEBUG(D_expand) { BOOL tainted = is_tainted(res); - DEBUG(D_noutf8) - { - debug_printf_indent("|--expanding: %.*s\n", (int)(s - string), string); - debug_printf_indent("%sresult: %s\n", - flags & ESI_SKIPPING ? "|-----" : "\\_____", res); - if (tainted) - { - debug_printf_indent("%s \\__", flags & ESI_SKIPPING ? "| " : " "); - debug_print_taint(res); - } - if (flags & ESI_SKIPPING) - debug_printf_indent("\\___skipping: result is not used\n"); - } + debug_printf_indent("%Vexpanded: %.*W\n", + "K---", + (int)(s - string), string); + debug_printf_indent("%Vresult: ", + flags & ESI_SKIPPING ? "K-----" : "\\_____"); + if (*res || !(flags & ESI_SKIPPING)) + debug_printf("%W\n", res); else + debug_printf(" %Vskipped%V\n", "<", ">"); + if (tainted) { - debug_printf_indent(UTF8_VERT_RIGHT UTF8_HORIZ UTF8_HORIZ - "expanding: %.*s\n", - (int)(s - string), string); - debug_printf_indent("%s" UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ - "result: %s\n", - flags & ESI_SKIPPING ? UTF8_VERT_RIGHT : UTF8_UP_RIGHT, - res); - if (tainted) - { - debug_printf_indent("%s", - flags & ESI_SKIPPING - ? UTF8_VERT " " : " " UTF8_UP_RIGHT UTF8_HORIZ UTF8_HORIZ); - debug_print_taint(res); - } - if (flags & ESI_SKIPPING) - debug_printf_indent(UTF8_UP_RIGHT UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ - "skipping: result is not used\n"); + debug_printf_indent("%V %V", + flags & ESI_SKIPPING ? "|" : " ", + "\\__" + ); + debug_print_taint(res); } + if (flags & ESI_SKIPPING) + debug_printf_indent("%Vskipping: result is not used\n", "\\___"); } if (textonly_p) *textonly_p = textonly; expand_level--; @@ -8517,25 +8473,11 @@ EXPAND_FAILED: if (left) *left = s; DEBUG(D_expand) { - DEBUG(D_noutf8) - { - debug_printf_indent("|failed to expand: %s\n", string); - debug_printf_indent("%serror message: %s\n", - f.expand_string_forcedfail ? "|---" : "\\___", expand_string_message); - if (f.expand_string_forcedfail) - debug_printf_indent("\\failure was forced\n"); - } - else - { - debug_printf_indent(UTF8_VERT_RIGHT "failed to expand: %s\n", - string); - debug_printf_indent("%s" UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ - "error message: %s\n", - f.expand_string_forcedfail ? UTF8_VERT_RIGHT : UTF8_UP_RIGHT, - expand_string_message); - if (f.expand_string_forcedfail) - debug_printf_indent(UTF8_UP_RIGHT "failure was forced\n"); - } + debug_printf_indent("%Vfailed to expand: %s\n", "K", string); + debug_printf_indent("%Verror message: %s\n", + f.expand_string_forcedfail ? "K---" : "\\___", expand_string_message); + if (f.expand_string_forcedfail) + debug_printf_indent("%Vfailure was forced\n", "\\"); } if (resetok_p && !resetok) *resetok_p = FALSE; expand_level--; diff --git a/src/src/macros.h b/src/src/macros.h index 902cdd165..3341f5f41 100644 --- a/src/src/macros.h +++ b/src/src/macros.h @@ -107,8 +107,9 @@ don't make the file descriptors two-way. */ /* Debugging control */ #define LOG_NAME_SIZE 256 -#define DEBUG(x) if (debug_selector & (x)) -#define HDEBUG(x) if (host_checking || debug_selector & (x)) +#define IS_DEBUG(x) (debug_selector & (x)) +#define DEBUG(x) if (IS_DEBUG(x)) +#define HDEBUG(x) if (host_checking || IS_DEBUG(x)) /* The default From: text for DSNs */ @@ -1057,6 +1058,10 @@ enum { FILTER_UNSET, FILTER_FORWARD, FILTER_EXIM, FILTER_SIEVE }; #define UTF8_VERT_RIGHT "\xE2\x94\x9C" #define UTF8_UP_RIGHT "\xE2\x95\xB0" #define UTF8_VERT_2DASH "\xE2\x95\x8E" +#define UTF8_LEFT_TRIANGLE "\xE2\x97\x80" +#define UTF8_RIGHT_TRIANGLE "\xE2\x96\xB6" +#define UTF8_LIGHT_SHADE "\xE2\x96\x91" +#define UTF8_L_ARROW_HOOK "\xE2\x86\xA9" /* Options on tls_close */ diff --git a/src/src/os.c b/src/src/os.c index c6d1e06c2..3b49e4b9e 100644 --- a/src/src/os.c +++ b/src/src/os.c @@ -12,7 +12,8 @@ # include # include #else -# define DEBUG(x) if (debug_selector & (x)) +# define IS_DEBUG(x) (debug_selector & (x)) +# define DEBUG(x) if (IS_DEBUG(x)) #endif #ifndef CS diff --git a/src/src/string.c b/src/src/string.c index 3bf2f1df7..af187c199 100644 --- a/src/src/string.c +++ b/src/src/string.c @@ -1348,7 +1348,7 @@ The return value can be NULL to signify overflow. Field width: decimal digits, or * Precision: dot, followed by decimal digits or * Length modifiers: h L l ll z -Conversion specifiers: n d o u x X p f e E g G % c s S T Y D M +Conversion specifiers: n d o u x X p f e E g G % c s S T W V Y D M Returns the possibly-new (if copy for growth or taint-handling was needed) string, not nul-terminated. @@ -1597,11 +1597,77 @@ while (*fp) case 'Y': /* gstring pointer */ { gstring * zg = va_arg(ap, gstring *); - if (zg) { s = CS zg->s; slen = zg->ptr; } + if (zg) { s = CS zg->s; slen = gstring_length(zg); } else { s = null; slen = Ustrlen(s); } goto INSERT_GSTRING; } +#ifndef COMPILE_UTILITY + case 'V': /* Maybe convert ascii-art to UTF-8 chars */ + { + gstring * zg = NULL; + s = va_arg(ap, char *); + if (IS_DEBUG(D_noutf8)) + for ( ; *s; s++) + zg = string_catn(zg, CUS (*s == 'K' ? "|" : s), 1); + else + for ( ; *s; s++) switch (*s) + { + case '\\': zg = string_catn(zg, US UTF8_UP_RIGHT, 3); break; + case '/': zg = string_catn(zg, US UTF8_DOWN_RIGHT, 3); break; + case '-': + case '_': zg = string_catn(zg, US UTF8_HORIZ, 3); break; + case '|': zg = string_catn(zg, US UTF8_VERT, 3); break; + case 'K': zg = string_catn(zg, US UTF8_VERT_RIGHT, 3); break; + case '<': zg = string_catn(zg, US UTF8_LEFT_TRIANGLE, 3); break; + case '>': zg = string_catn(zg, US UTF8_RIGHT_TRIANGLE, 3); break; + default: zg = string_catn(zg, CUS s, 1); break; + } + if (!zg) + break; + s = CS zg->s; + slen = gstring_length(zg); + goto INSERT_GSTRING; + } + + case 'W': /* Maybe mark up spaces & newlines */ + s = va_arg(ap, char *); + if (Ustrpbrk(s, " \n") && !IS_DEBUG(D_noutf8)) + { + gstring * zg = NULL; + int p = precision; + for ( ; *s; s++) + { + /* Take a given precision as applying to the input; expand + it for the transformed result */ + + if (p >= 0 && --p < 0) break; + switch (*s) + { + case ' ': + zg = string_catn(zg, CUS UTF8_LIGHT_SHADE, 3); + if (precision >= 0) precision += 2; + break; + case '\n': + zg = string_catn(zg, CUS UTF8_L_ARROW_HOOK "\n", 4); + if (precision >= 0) precision += 3; + break; + default: + zg = string_catn(zg, CUS s, 1); + break; + } + } + if (zg) { s = CS zg->s; slen = gstring_length(zg); } + else { s = null; slen = Ustrlen(s); } + } + else + { + if (!s) s = null; + slen = Ustrlen(s); + } + goto INSERT_GSTRING; + +#endif case 's': case 'S': /* Forces *lower* case */ case 'T': /* Forces *upper* case */ @@ -1610,7 +1676,7 @@ while (*fp) if (!s) s = null; slen = Ustrlen(s); - INSERT_GSTRING: /* Coome to from %Y above */ + INSERT_GSTRING: /* Come to from %Y above */ if (!(flags & SVFMT_TAINT_NOCHK) && is_incompatible(g->s, s)) if (flags & SVFMT_REBUFFER) @@ -1909,3 +1975,5 @@ return 0; #endif /* End of string.c */ +/* vi: aw ai sw=2 +*/ diff --git a/test/runtest b/test/runtest index 07c499fa4..98914d171 100755 --- a/test/runtest +++ b/test/runtest @@ -515,8 +515,18 @@ RESET_AFTER_EXTRA_LINE_READ: # time used was fixed when I first started running automatic Exim tests. # Date/time in header lines and SMTP responses - s/[A-Z][a-z]{2},\s\d\d?\s[A-Z][a-z]{2}\s\d{4}\s\d\d\:\d\d:\d\d\s[-+]\d{4} - /Tue, 2 Mar 1999 09:44:33 +0000/gx; + s/[A-Z][a-z]{2}, + (\s|\xE2\x96\x91) + \d\d? + (\s|\xE2\x96\x91) + [A-Z][a-z]{2} + (\s|\xE2\x96\x91) + \d{4} + (\s|\xE2\x96\x91) + \d\d\:\d\d:\d\d + (\s|\xE2\x96\x91) + [-+]\d{4} + /Tue,${1}2${2}Mar${3}1999${4}09:44:33${5}+0000/gx; # and in a French locale s/\S{4},\s\d\d?\s[^,]+\s\d{4}\s\d\d\:\d\d:\d\d\s[-+]\d{4} /dim., 10 f\xE9vr 2019 20:05:49 +0000/gx; @@ -535,8 +545,14 @@ RESET_AFTER_EXTRA_LINE_READ: s/((D|[RQD]T)=)\d\.\d{3}s/$1q.qqqs/g; # Date/time in message separators - s/(?:[A-Z][a-z]{2}\s){2}\d\d\s\d\d:\d\d:\d\d\s\d\d\d\d - /Tue Mar 02 09:44:33 1999/gx; + s/(?:[A-Z][a-z]{2} + (\s|\xE2\x96\x91) + ){2}\d\d + (\s|\xE2\x96\x91) + \d\d:\d\d:\d\d + (\s|\xE2\x96\x91) + \d\d\d\d + /Tue${1}Mar${1}02${2}09:44:33${3}1999/gx; # Date of message arrival in spool file as shown by -Mvh s/^\d{9,10}\s0$/ddddddddd 0/; @@ -1206,7 +1222,7 @@ RESET_AFTER_EXTRA_LINE_READ: next if /^TLS: not preloading (CA bundle|cipher list) for server$/; next if /^TLS: not preloading server certs$/; - # some plaatforms are missing the standard CA bundle file + # some platforms are missing the standard CA bundle file next if /^tls_set_watch\(\) fail on '\/usr\/lib\/ssl\/cert.pem': No such file or directory$/; # drop lookups @@ -1378,7 +1394,7 @@ RESET_AFTER_EXTRA_LINE_READ: } # Different builds will have different lookup types included - s/^\s*search_type \K\d+ \((\w+)\) quoting -1 \(none\)$/NN ($1) quoting -1 (none)/; + s/search_type \K\d+ \((\w+)\) quoting -1 \(none\)$/NN ($1) quoting -1 (none)/; # and different numbers of lookup types result in different type-code letters, # so convert them all to "0" s%(?>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... environment after trimming: @@ -156,7 +171,7 @@ try option unknown_login |-------text: primary_hostname: |considering: $primary_hostname |------value: myhost.test.ex - |--expanding: primary_hostname: $primary_hostname + |---expanded: primary_hostname: $primary_hostname \_____result: primary_hostname: myhost.test.ex /considering: match: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail} |-------text: match: @@ -164,12 +179,12 @@ try option unknown_login /considering: abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail} |-------text: abcd |considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail} - |--expanding: abcd + |---expanded: abcd \_____result: abcd /considering: \N^([ab]+)(\w+)$\N}{$2$1}fail} |--protected: ^([ab]+)(\w+)$ |considering: }{$2$1}fail} - |--expanding: \N^([ab]+)(\w+)$\N + |---expanded: \N^([ab]+)(\w+)$\N \_____result: ^([ab]+)(\w+)$ compiled RE '^([ab]+)(\w+)$' not found in local cache compiling RE '^([ab]+)(\w+)$' @@ -181,10 +196,10 @@ try option unknown_login |considering: $1}fail} |------value: ab |considering: }fail} - |--expanding: $2$1 + |---expanded: $2$1 \_____result: cdab |---item-res: cdab - |--expanding: match: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail} + |---expanded: match: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail} \_____result: match: cdab /considering: match: ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail} |-------text: match: @@ -192,12 +207,12 @@ try option unknown_login /considering: wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail} |-------text: wxyz |considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail} - |--expanding: wxyz + |---expanded: wxyz \_____result: wxyz /considering: \N^([ab]+)(\w+)$\N}{$2$1}fail} |--protected: ^([ab]+)(\w+)$ |considering: }{$2$1}fail} - |--expanding: \N^([ab]+)(\w+)$\N + |---expanded: \N^([ab]+)(\w+)$\N \_____result: ^([ab]+)(\w+)$ compiled RE '^([ab]+)(\w+)$' found in local cache |--condition: match{wxyz}{\N^([ab]+)(\w+)$\N} @@ -205,8 +220,8 @@ try option unknown_login /---scanning: $2$1}fail} |---scanning: $1}fail} |---scanning: }fail} - |--expanding: $2$1 - |-----result: + |---expanded: $2$1 + |-----result: \___skipping: result is not used |failed to expand: match: ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail} |---error message: "if" failed and "fail" requested @@ -215,38 +230,38 @@ try option unknown_login /considering: 1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}} |-------text: 1 |considering: }{1}{yes}{${lookup{xx}lsearch{/non/exist}}}} - |--expanding: 1 + |---expanded: 1 \_____result: 1 /considering: 1}{yes}{${lookup{xx}lsearch{/non/exist}}}} |-------text: 1 |considering: }{yes}{${lookup{xx}lsearch{/non/exist}}}} - |--expanding: 1 + |---expanded: 1 \_____result: 1 |--condition: eq {1}{1} |-----result: true /considering: yes}{${lookup{xx}lsearch{/non/exist}}}} |-------text: yes |considering: }{${lookup{xx}lsearch{/non/exist}}}} - |--expanding: yes + |---expanded: yes \_____result: yes /---scanning: ${lookup{xx}lsearch{/non/exist}}}} /---scanning: xx}lsearch{/non/exist}}}} |-------text: xx |---scanning: }lsearch{/non/exist}}}} - |--expanding: xx - |-----result: xx + |---expanded: xx + |-----result: \___skipping: result is not used /---scanning: /non/exist}}}} |-------text: /non/exist |---scanning: }}}} - |--expanding: /non/exist - |-----result: /non/exist + |---expanded: /non/exist + |-----result: \___skipping: result is not used |---scanning: }} - |--expanding: ${lookup{xx}lsearch{/non/exist}} - |-----result: + |---expanded: ${lookup{xx}lsearch{/non/exist}} + |-----result: \___skipping: result is not used - |--expanding: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}} + |---expanded: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}} \_____result: yes /considering: match_address: ${if match_address{a.b.c}{a.b.c}{yes}{no}} |-------text: match_address: @@ -254,12 +269,12 @@ try option unknown_login /considering: a.b.c}{a.b.c}{yes}{no}} |-------text: a.b.c |considering: }{a.b.c}{yes}{no}} - |--expanding: a.b.c + |---expanded: a.b.c \_____result: a.b.c /considering: a.b.c}{yes}{no}} |-------text: a.b.c |considering: }{yes}{no}} - |--expanding: a.b.c + |---expanded: a.b.c \_____result: a.b.c LOG: MAIN PANIC no @ found in the subject of an address list match: subject="a.b.c" pattern="a.b.c" @@ -268,17 +283,32 @@ LOG: MAIN PANIC /---scanning: yes}{no}} |-------text: yes |---scanning: }{no}} - |--expanding: yes - |-----result: yes + |---expanded: yes + |-----result: \___skipping: result is not used /considering: no}} |-------text: no |considering: }} - |--expanding: no + |---expanded: no \_____result: no |---item-res: no - |--expanding: match_address: ${if match_address{a.b.c}{a.b.c}{yes}{no}} + |---expanded: match_address: ${if match_address{a.b.c}{a.b.c}{yes}{no}} \_____result: match_address: no + /considering: protected: ${expand:\N \N} + |-------text: protected: + |considering: ${expand:\N \N} + /considering: \N \N} + |--protected: + |considering: } + |---expanded: \N \N + \_____result: + /considering: + |-------text: + |---expanded: + \_____result: + |-----op-res: + |---expanded: protected: ${expand:\N \N} + \_____result: protected: >>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... environment after trimming: @@ -289,73 +319,73 @@ dropping to exim gid; retaining priv uid try option gecos_pattern try option gecos_name try option unknown_login - ╭considering: -oMa sender_host_address = $sender_host_address - ├───────text: -oMa sender_host_address = + ╭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 + ├───expanded: -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░=░$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 = + ├───expanded: ░░░░░░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 + ├───expanded: -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: -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 + ├───expanded: -oMai░authenticated_id░=░$authenticated_id + ╰─────result: -oMai░authenticated_id░=░philip ╰──(tainted) - ╭considering: -oMas authenticated_sender = $authenticated_sender - ├───────text: -oMas authenticated_sender = + ╭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 + ├───expanded: -oMas░authenticated_sender░=░$authenticated_sender + ╰─────result: -oMas░authenticated_sender░=░xx@yy.zz ╰──(tainted) - ╭considering: -oMi interface_address = $interface_address - ├───────text: -oMi interface_address = + ╭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 + ├───expanded: -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░=░$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 = + ├───expanded: ░░░░░░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 + ├───expanded: -oMr░░received_protocol░=░$received_protocol + ╰─────result: -oMr░░received_protocol░=░special ╰──(tainted) - ╭considering: -oMt sender_ident = $sender_ident - ├───────text: -oMt sender_ident = + ╭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 + ├───expanded: -oMt░░sender_ident░=░$sender_ident + ╰─────result: -oMt░░sender_ident░=░me ╰──(tainted) >>>>>>>>>>>>>>>> Exim pid=p1236 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> 1999-03-02 09:44:33 no host name found for IP address V4NET.11.12.13 @@ -368,97 +398,97 @@ dropping to exim gid; retaining priv uid try option gecos_pattern try option gecos_name try option unknown_login - ╭considering: -oMa sender_host_address = $sender_host_address - ├───────text: -oMa sender_host_address = + ╭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 + ├───expanded: -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░=░$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 = + ├───expanded: ░░░░░░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 + ├───expanded: -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: -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 + ├───expanded: -oMai░authenticated_id░=░$authenticated_id + ╰─────result: -oMai░authenticated_id░=░philip ╰──(tainted) - ╭considering: -oMas authenticated_sender = $authenticated_sender - ├───────text: -oMas authenticated_sender = + ╭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 + ├───expanded: -oMas░authenticated_sender░=░$authenticated_sender + ╰─────result: -oMas░authenticated_sender░=░xx@yy.zz ╰──(tainted) - ╭considering: -oMi interface_address = $interface_address - ├───────text: -oMi interface_address = + ╭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 + ├───expanded: -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░=░$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 = + ├───expanded: ░░░░░░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 + ├───expanded: -oMr░░received_protocol░=░$received_protocol + ╰─────result: -oMr░░received_protocol░=░special ╰──(tainted) - ╭considering: ----> No lookup yet: ${if eq{black}{white}{$sender_host_name}{No}} - ├───────text: ----> No lookup yet: - ├considering: ${if eq{black}{white}{$sender_host_name}{No}} + ╭considering: ---->░No░lookup░yet:░${if░eq{black}{white}{$sender_host_name}{No}} + ├───────text: ---->░No░lookup░yet:░ + ├considering: ${if░eq{black}{white}{$sender_host_name}{No}} ╭considering: black}{white}{$sender_host_name}{No}} ├───────text: black ├considering: }{white}{$sender_host_name}{No}} - ├──expanding: black + ├───expanded: black ╰─────result: black ╭considering: white}{$sender_host_name}{No}} ├───────text: white ├considering: }{$sender_host_name}{No}} - ├──expanding: white + ├───expanded: white ╰─────result: white ├──condition: eq{black}{white} ├─────result: false ╭───scanning: $sender_host_name}{No}} ├──────value: ├───scanning: }{No}} - ├──expanding: $sender_host_name - ├─────result: + ├───expanded: $sender_host_name + ├─────result: ◀skipped▶ ╰───skipping: result is not used ╭considering: No}} ├───────text: No ├considering: }} - ├──expanding: No + ├───expanded: No ╰─────result: No ├───item-res: No - ├──expanding: ----> No lookup yet: ${if eq{black}{white}{$sender_host_name}{No}} - ╰─────result: ----> No lookup yet: No - ╭considering: -oMs sender_host_name = $sender_host_name - ├───────text: -oMs sender_host_name = + ├───expanded: ---->░No░lookup░yet:░${if░eq{black}{white}{$sender_host_name}{No}} + ╰─────result: ---->░No░lookup░yet:░No + ╭considering: -oMs░░sender_host_name░=░$sender_host_name + ├───────text: -oMs░░sender_host_name░=░ ├considering: $sender_host_name looking up host name for V4NET.0.0.1 IP address lookup yielded "ten-1.test.ex" @@ -469,16 +499,16 @@ 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 + ├───expanded: -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: -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 + ├───expanded: -oMt░░sender_ident░=░$sender_ident + ╰─────result: -oMt░░sender_ident░=░me ╰──(tainted) >>>>>>>>>>>>>>>> Exim pid=p1237 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... diff --git a/test/stderr/0092 b/test/stderr/0092 index 96616f098..b41de549f 100644 --- a/test/stderr/0092 +++ b/test/stderr/0092 @@ -68,34 +68,34 @@ LOG: smtp_connection MAIN try option message_size_limit host in host_lookup? no (option unset) set_process_info: pppp handling incoming connection from [V4NET.0.0.1] - ╭considering: ${if eq {V4NET.0.0.1} {$sender_host_address} {2} {30}}s - ╭considering: V4NET.0.0.1} {$sender_host_address} {2} {30}}s + ╭considering: ${if░eq░{V4NET.0.0.1}░{$sender_host_address}░{2}░{30}}s + ╭considering: V4NET.0.0.1}░{$sender_host_address}░{2}░{30}}s ├───────text: V4NET.0.0.1 - ├considering: } {$sender_host_address} {2} {30}}s - ├──expanding: V4NET.0.0.1 + ├considering: }░{$sender_host_address}░{2}░{30}}s + ├───expanded: V4NET.0.0.1 ╰─────result: V4NET.0.0.1 - ╭considering: $sender_host_address} {2} {30}}s + ╭considering: $sender_host_address}░{2}░{30}}s ├──────value: V4NET.0.0.1 - ├considering: } {2} {30}}s - ├──expanding: $sender_host_address + ├considering: }░{2}░{30}}s + ├───expanded: $sender_host_address ╰─────result: V4NET.0.0.1 - ├──condition: eq {V4NET.0.0.1} {$sender_host_address} + ├──condition: eq░{V4NET.0.0.1}░{$sender_host_address} ├─────result: true - ╭considering: 2} {30}}s + ╭considering: 2}░{30}}s ├───────text: 2 - ├considering: } {30}}s - ├──expanding: 2 + ├considering: }░{30}}s + ├───expanded: 2 ╰─────result: 2 ╭───scanning: 30}}s ├───────text: 30 ├───scanning: }}s - ├──expanding: 30 - ├─────result: 30 + ├───expanded: 30 + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: 2 ├considering: s ├───────text: s - ├──expanding: ${if eq {V4NET.0.0.1} {$sender_host_address} {2} {30}}s + ├───expanded: ${if░eq░{V4NET.0.0.1}░{$sender_host_address}░{2}░{30}}s ╰─────result: 2s host in host_reject_connection? no (option unset) host in sender_unqualified_hosts? no (option unset) @@ -105,18 +105,18 @@ host in helo_try_verify_hosts? no (option unset) host in helo_accept_junk_hosts? no (option unset) try option acl_smtp_connect try option smtp_banner - ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ╭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 + ├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 + ├───────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 + ├──────value: Tue,░2░Mar░1999░09:44:33░+0000 + ├───expanded: $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 smtp_setup_msg entered SMTP<< helo test diff --git a/test/stderr/0402 b/test/stderr/0402 index 07863fac7..0d00c73e5 100644 --- a/test/stderr/0402 +++ b/test/stderr/0402 @@ -51,339 +51,335 @@ search_tidyup called Data file name: TESTSUITE/spool//input//10HmaX-000000005vi-0000-D Data file written for message 10HmaX-000000005vi-0000 ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 try option received_header_text - ╭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}} + ╭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: 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}} ├──────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 - }}(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}} + ├───────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 + ├───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}} + ├───expanded: from░$sender_rcvhost↩ + ├─────result: ◀skipped▶ ╰───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}} + ╭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: 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}} ╎├──────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) - ╎ ${if def:sender_address {(envelope-from <$sender_address>) - ╎ }}id $message_exim_id${if def:received_for { - ╎ for $received_for}} - ╎├──expanding: $sender_ident + ╎├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}} + ╎├───expanded: $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}} + ├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}} + ├───expanded: 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: false - ╭───scanning: (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: (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= - ├───scanning: $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: $sender_helo_name)↩ + }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: - ├───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) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├───────text: ) - - ├───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) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: (helo=$sender_helo_name) + ├───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)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: )↩ - ├─────result: (helo=) + ├───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)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: (helo=$sender_helo_name)↩ + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: - ├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) + ├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}} + ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩ }} - ╰─────result: from CALLER - ├───item-res: from CALLER - ├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}} + ╰─────result: from░CALLER░ + ├───item-res: from░CALLER░ + ├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}} ├──────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>) - }}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}} + ├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: 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}} ├──────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>) - }}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 - ├───item-res: with 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>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_in_ver) - ├─────result: () + ├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}} + ├───expanded: with░$received_protocol░ + ╰─────result: with░local░ + ├───item-res: with░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>)↩ + }}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}} + ├───expanded: ░($tls_in_ver) + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: - ├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}} + ├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: ░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}} ├──────value: - ├───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 + ├───scanning: ↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: ↩ - ├─────result: tls + ├───scanning: }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: ░tls░$tls_in_cipher_std↩ + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: - ├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: (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}} ├──────value: x.yz - ├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}} + ├───────text: )↩ - ├considering: ${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}} ├──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: (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}} ├──────value: CALLER@test.ex - ├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}} + ├───────text: >)↩ - ├considering: }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: (envelope-from <$sender_address>) + ├considering: }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: (envelope-from░<$sender_address>)↩ - ╰─────result: (envelope-from ) + ╰─────result: (envelope-from░)↩ - ├───item-res: (envelope-from ) + ├───item-res: (envelope-from░)↩ - ├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: id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: id░ + ├considering: $message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: 10HmaX-000000005vi-0000 - ├considering: ${if def:received_for { - for $received_for}} + ├considering: ${if░def:received_for░{↩ + for░$received_for}} ├──condition: def:received_for ├─────result: false - ╭───scanning: - for $received_for}} - ├───────text: - for + ╭───scanning: ↩ + for░$received_for}} + ├───────text: ↩ + for░ ├───scanning: $received_for}} ├──────value: ├───scanning: }} - ├──expanding: - for $received_for - ├─────result: - for + ├───expanded: ↩ + for░$received_for + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: - ├──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 by mail.test.ex with local (Exim x.yz) - (envelope-from ) - id 10HmaX-000000005vi-0000 + ├───expanded: 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░by░mail.test.ex░with░local░(Exim░x.yz)↩ + (envelope-from░)↩ + id░10HmaX-000000005vi-0000 >>Generated Received: header line P Received: from CALLER by mail.test.ex with local (Exim x.yz) (envelope-from ) @@ -391,8 +387,8 @@ P Received: from CALLER by mail.test.ex with local (Exim x.yz) Tue, 2 Mar 1999 09:44:33 +0000 try option acl_not_smtp ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-000000005vi-0000 DSN: **** SPOOL_OUT - address: errorsto: orcpt: dsn_flags: 0x0 DSN: **** SPOOL_OUT - address: errorsto: orcpt: dsn_flags: 0x0 @@ -529,7 +525,7 @@ try option router_home_directory ├considering: $domain ├──────value: test.ex ╰──(tainted) - ├──expanding: /non-exist/$domain + ├───expanded: /non-exist/$domain ╰─────result: /non-exist/test.ex ╰──(tainted) try option set @@ -588,7 +584,7 @@ try option router_home_directory ├considering: $local_part ├──────value: CALLER ╰──(tainted) - ├──expanding: /non-exist/$local_part + ├───expanded: /non-exist/$local_part ╰─────result: /non-exist/CALLER ╰──(tainted) try option set @@ -639,7 +635,7 @@ try option router_home_directory ├considering: $domain ├──────value: test.ex ╰──(tainted) - ├──expanding: /non-exist/$domain + ├───expanded: /non-exist/$domain ╰─────result: /non-exist/test.ex ╰──(tainted) try option set @@ -678,7 +674,7 @@ try option router_home_directory ├considering: $domain ├──────value: test.ex ╰──(tainted) - ├──expanding: /non-exist/$domain + ├───expanded: /non-exist/$domain ╰─────result: /non-exist/test.ex ╰──(tainted) try option set @@ -710,7 +706,7 @@ try option router_home_directory ├considering: $local_part ├──────value: CALLER ╰──(tainted) - ├──expanding: /non-exist/$local_part + ├───expanded: /non-exist/$local_part ╰─────result: /non-exist/CALLER ╰──(tainted) try option set @@ -770,7 +766,7 @@ try option home_directory ├considering: $local_part ├──────value: usery ╰──(tainted) - ├──expanding: /non-exist/$local_part + ├───expanded: /non-exist/$local_part ╰─────result: /non-exist/usery ╰──(tainted) try option current_directory @@ -787,7 +783,7 @@ set_process_info: pppp delivering 10HmaX-000000005vi-0000 to TESTSUITE/test-mail appendfile transport entered ╭considering: $address_file ├──────value: TESTSUITE/test-mail/junk - ├──expanding: $address_file + ├───expanded: $address_file ╰─────result: TESTSUITE/test-mail/junk appendfile: mode=600 notify_comsat=0 quota=0 warning=0 file=TESTSUITE/test-mail/junk format=unix @@ -801,44 +797,44 @@ lock file created mailbox TESTSUITE/test-mail/junk is locked writing to file TESTSUITE/test-mail/junk try option message_prefix - ╭considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox} + ╭considering: From░${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩ - ├───────text: From - ├considering: ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox} + ├───────text: From░ + ├considering: ${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩ ├──condition: def:return_path ├─────result: true - ╭considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox} + ╭considering: $return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩ ├──────value: CALLER@test.ex ╰──(tainted) - ├considering: }{MAILER-DAEMON}} ${tod_bsdinbox} + ├considering: }{MAILER-DAEMON}}░${tod_bsdinbox}↩ - ├──expanding: $return_path + ├───expanded: $return_path ╰─────result: CALLER@test.ex ╰──(tainted) - ╭───scanning: MAILER-DAEMON}} ${tod_bsdinbox} + ╭───scanning: MAILER-DAEMON}}░${tod_bsdinbox}↩ ├───────text: MAILER-DAEMON - ├───scanning: }} ${tod_bsdinbox} + ├───scanning: }}░${tod_bsdinbox}↩ - ├──expanding: MAILER-DAEMON - ├─────result: MAILER-DAEMON + ├───expanded: MAILER-DAEMON + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: CALLER@test.ex ╰──(tainted) - ├considering: ${tod_bsdinbox} + ├considering: ░${tod_bsdinbox}↩ - ├───────text: - ├considering: ${tod_bsdinbox} + ├───────text: ░ + ├considering: ${tod_bsdinbox}↩ - ├considering: + ├considering: ↩ - ├───────text: + ├───────text: ↩ - ├──expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox} + ├───expanded: From░${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩ - ╰─────result: From CALLER@test.ex Tue Mar 02 09:44:33 1999 + ╰─────result: From░CALLER@test.ex░Tue░Mar░02░09:44:33░1999↩ ╰──(tainted) writing data block fd=dddd size=sss timeout=0 @@ -879,7 +875,7 @@ set_process_info: pppp delivering 10HmaX-000000005vi-0000 to TESTSUITE/test-mail appendfile transport entered ╭considering: $address_file ├──────value: TESTSUITE/test-mail/junk - ├──expanding: $address_file + ├───expanded: $address_file ╰─────result: TESTSUITE/test-mail/junk appendfile: mode=600 notify_comsat=0 quota=0 warning=0 file=TESTSUITE/test-mail/junk format=unix @@ -893,44 +889,44 @@ lock file created mailbox TESTSUITE/test-mail/junk is locked writing to file TESTSUITE/test-mail/junk try option message_prefix - ╭considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox} + ╭considering: From░${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩ - ├───────text: From - ├considering: ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox} + ├───────text: From░ + ├considering: ${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩ ├──condition: def:return_path ├─────result: true - ╭considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox} + ╭considering: $return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩ ├──────value: CALLER@test.ex ╰──(tainted) - ├considering: }{MAILER-DAEMON}} ${tod_bsdinbox} + ├considering: }{MAILER-DAEMON}}░${tod_bsdinbox}↩ - ├──expanding: $return_path + ├───expanded: $return_path ╰─────result: CALLER@test.ex ╰──(tainted) - ╭───scanning: MAILER-DAEMON}} ${tod_bsdinbox} + ╭───scanning: MAILER-DAEMON}}░${tod_bsdinbox}↩ ├───────text: MAILER-DAEMON - ├───scanning: }} ${tod_bsdinbox} + ├───scanning: }}░${tod_bsdinbox}↩ - ├──expanding: MAILER-DAEMON - ├─────result: MAILER-DAEMON + ├───expanded: MAILER-DAEMON + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: CALLER@test.ex ╰──(tainted) - ├considering: ${tod_bsdinbox} + ├considering: ░${tod_bsdinbox}↩ - ├───────text: - ├considering: ${tod_bsdinbox} + ├───────text: ░ + ├considering: ${tod_bsdinbox}↩ - ├considering: + ├considering: ↩ - ├───────text: + ├───────text: ↩ - ├──expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox} + ├───expanded: From░${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩ - ╰─────result: From CALLER@test.ex Tue Mar 02 09:44:33 1999 + ╰─────result: From░CALLER@test.ex░Tue░Mar░02░09:44:33░1999↩ ╰──(tainted) writing data block fd=dddd size=sss timeout=0 @@ -997,7 +993,7 @@ try option home_directory ├considering: $local_part ├──────value: usery ╰──(tainted) - ├──expanding: /non-exist/$local_part + ├───expanded: /non-exist/$local_part ╰─────result: /non-exist/usery ╰──(tainted) try option current_directory @@ -1040,7 +1036,7 @@ try option home_directory ├considering: $local_part ├──────value: userz ╰──(tainted) - ├──expanding: /$local_part + ├───expanded: /$local_part ╰─────result: /userz ╰──(tainted) try option current_directory diff --git a/test/stderr/0544 b/test/stderr/0544 index 4763a38a4..3e5fbe13e 100644 --- a/test/stderr/0544 +++ b/test/stderr/0544 @@ -13,343 +13,339 @@ try option acl_not_smtp_start try option message_id_header_domain try option message_id_header_text ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 try option received_header_text - ╭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}} + ╭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: 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}} ├──────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 - }}(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}} + ├───────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 + ├───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}} + ├───expanded: from░$sender_rcvhost↩ + ├─────result: ◀skipped▶ ╰───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}} + ╭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: 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}} ╎├──────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) - ╎ ${if def:sender_address {(envelope-from <$sender_address>) - ╎ }}id $message_exim_id${if def:received_for { - ╎ for $received_for}} - ╎├──expanding: $sender_ident + ╎├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}} + ╎├───expanded: $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}} + ├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}} + ├───expanded: 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: false - ╭───scanning: (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: (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= - ├───scanning: $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: $sender_helo_name)↩ + }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: - ├───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) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├───────text: ) - - ├───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) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: (helo=$sender_helo_name) + ├───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)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: )↩ - ├─────result: (helo=) + ├───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)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: (helo=$sender_helo_name)↩ + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: - ├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) + ├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}} + ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩ }} - ╰─────result: from CALLER - ├───item-res: from CALLER - ├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}} + ╰─────result: from░CALLER░ + ├───item-res: from░CALLER░ + ├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}} ├──────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>) - }}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}} + ├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: 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}} ├──────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>) - }}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 - ├───item-res: with 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>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_in_ver) - ├─────result: () + ├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}} + ├───expanded: with░$received_protocol░ + ╰─────result: with░local░ + ├───item-res: with░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>)↩ + }}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}} + ├───expanded: ░($tls_in_ver) + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: - ├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}} + ├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: ░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}} ├──────value: - ├───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 + ├───scanning: ↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: ↩ - ├─────result: tls + ├───scanning: }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: ░tls░$tls_in_cipher_std↩ + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: - ├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: (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}} ├──────value: x.yz - ├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}} + ├───────text: )↩ - ├considering: ${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}} ├──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: (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}} ├──────value: CALLER@test.ex - ├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}} + ├───────text: >)↩ - ├considering: }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: (envelope-from <$sender_address>) + ├considering: }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: (envelope-from░<$sender_address>)↩ - ╰─────result: (envelope-from ) + ╰─────result: (envelope-from░)↩ - ├───item-res: (envelope-from ) + ├───item-res: (envelope-from░)↩ - ├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: id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: id░ + ├considering: $message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: 10HmaX-000000005vi-0000 - ├considering: ${if def:received_for { - for $received_for}} + ├considering: ${if░def:received_for░{↩ + for░$received_for}} ├──condition: def:received_for ├─────result: false - ╭───scanning: - for $received_for}} - ├───────text: - for + ╭───scanning: ↩ + for░$received_for}} + ├───────text: ↩ + for░ ├───scanning: $received_for}} ├──────value: ├───scanning: }} - ├──expanding: - for $received_for - ├─────result: - for + ├───expanded: ↩ + for░$received_for + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: - ├──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 by the.local.host.name with local (Exim x.yz) - (envelope-from ) - id 10HmaX-000000005vi-0000 + ├───expanded: 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░by░the.local.host.name░with░local░(Exim░x.yz)↩ + (envelope-from░)↩ + id░10HmaX-000000005vi-0000 try option acl_not_smtp ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 LOG: MAIN <= CALLER@test.ex U=CALLER P=local S=sss created log directory TESTSUITE/spool/log @@ -378,7 +374,7 @@ try option return_path ╭considering: $domain ├──────value: domain1.ex ╰──(tainted) - ├──expanding: $domain + ├───expanded: $domain ╰─────result: domain1.ex ╰──(tainted) LOG: MAIN @@ -386,54 +382,54 @@ LOG: MAIN LOG: MAIN == userx@domain2.ex R=smarthost T=smtp defer (-1): first-pass only routing due to -odqs, queue_smtp_domains or control=queue try option delay_warning_condition - ╭considering: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}} - ╭considering: $h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}} - ├considering: $h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}} - ├considering: $h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}} - ├considering: }{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}} - ├──expanding: $h_list-id:$h_list-post:$h_list-subscribe: + ╭considering: ${if░or░{{░!eq{$h_list-id:$h_list-post:$h_list-subscribe:}{}░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}} + ╭considering: $h_list-id:$h_list-post:$h_list-subscribe:}{}░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}} + ├considering: $h_list-post:$h_list-subscribe:}{}░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}} + ├considering: $h_list-subscribe:}{}░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}} + ├considering: }{}░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}} + ├───expanded: $h_list-id:$h_list-post:$h_list-subscribe: ╰─────result: - ╭considering: } }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}} - ├──expanding: + ╭considering: }░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}} + ├───expanded: ╰─────result: - ╭considering: $h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}} - ├considering: }{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}} - ├──expanding: $h_precedence: + ╭considering: $h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}} + ├considering: }{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}} + ├───expanded: $h_precedence: ╰─────result: - ╭considering: (?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}} + ╭considering: (?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}} ├───────text: (?i)bulk|list|junk - ├considering: } }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}} - ├──expanding: (?i)bulk|list|junk + ├considering: }░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}} + ├───expanded: (?i)bulk|list|junk ╰─────result: (?i)bulk|list|junk compiled RE '(?i)bulk|list|junk' not found in local cache compiling RE '(?i)bulk|list|junk' compiled RE '(?i)bulk|list|junk' saved in local cache - ╭considering: $h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}} - ├considering: }{(?i)auto-generated|auto-replied} }} {no}{yes}} - ├──expanding: $h_auto-submitted: + ╭considering: $h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}} + ├considering: }{(?i)auto-generated|auto-replied}░}}░{no}{yes}} + ├───expanded: $h_auto-submitted: ╰─────result: - ╭considering: (?i)auto-generated|auto-replied} }} {no}{yes}} + ╭considering: (?i)auto-generated|auto-replied}░}}░{no}{yes}} ├───────text: (?i)auto-generated|auto-replied - ├considering: } }} {no}{yes}} - ├──expanding: (?i)auto-generated|auto-replied + ├considering: }░}}░{no}{yes}} + ├───expanded: (?i)auto-generated|auto-replied ╰─────result: (?i)auto-generated|auto-replied compiled RE '(?i)auto-generated|auto-replied' not found in local cache compiling RE '(?i)auto-generated|auto-replied' compiled RE '(?i)auto-generated|auto-replied' saved in local cache - ├──condition: or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} + ├──condition: or░{{░!eq{$h_list-id:$h_list-post:$h_list-subscribe:}{}░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}} ├─────result: false ╭───scanning: no}{yes}} ├───────text: no ├───scanning: }{yes}} - ├──expanding: no - ├─────result: no + ├───expanded: no + ├─────result: ◀skipped▶ ╰───skipping: result is not used ╭considering: yes}} ├───────text: yes ├considering: }} - ├──expanding: yes + ├───expanded: yes ╰─────result: yes - ├──expanding: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}} + ├───expanded: ${if░or░{{░!eq{$h_list-id:$h_list-post:$h_list-subscribe:}{}░}{░match{$h_precedence:}{(?i)bulk|list|junk}░}{░match{$h_auto-submitted:}{(?i)auto-generated|auto-replied}░}}░{no}{yes}} ╰─────result: yes >>>>>>>>>>>>>>>> Exim pid=p1235 (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> @@ -452,41 +448,41 @@ LOG: smtp_connection MAIN try option message_size_limit try option acl_smtp_connect try option smtp_banner - ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ╭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 + ├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 + ├───────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 + ├──────value: Tue,░2░Mar░1999░09:44:33░+0000 + ├───expanded: $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 try option acl_smtp_helo - ╭considering: ${if match_domain {$sender_helo_name}{+dlist}} + ╭considering: ${if░match_domain░{$sender_helo_name}{+dlist}} ╭considering: $sender_helo_name}{+dlist}} ├──────value: ehlo.domain ╰──(tainted) ├considering: }{+dlist}} - ├──expanding: $sender_helo_name + ├───expanded: $sender_helo_name ╰─────result: ehlo.domain ╰──(tainted) ╭considering: +dlist}} ├───────text: +dlist ├considering: }} - ├──expanding: +dlist + ├───expanded: +dlist ╰─────result: +dlist ╭considering: $domain ├──────value: ehlo.domain ╰──(tainted) - ├──expanding: $domain + ├───expanded: $domain ╰─────result: ehlo.domain ╰──(tainted) - ├──condition: match_domain {$sender_helo_name}{+dlist} + ├──condition: match_domain░{$sender_helo_name}{+dlist} ├─────result: true - ├──expanding: ${if match_domain {$sender_helo_name}{+dlist}} + ├───expanded: ${if░match_domain░{$sender_helo_name}{+dlist}} ╰─────result: true try option acl_smtp_etrn try option acl_smtp_vrfy @@ -501,7 +497,7 @@ try option acl_smtp_mail ├considering: $sender_address_domain ├──────value: sender.domain ╰──(tainted) - ├──expanding: domain=$domain/sender_domain=$sender_address_domain + ├───expanded: domain=$domain/sender_domain=$sender_address_domain ╰─────result: domain=/sender_domain=sender.domain ╰──(tainted) try option acl_smtp_rcpt @@ -515,7 +511,7 @@ try option acl_smtp_rcpt ├considering: $sender_address_domain ├──────value: sender.domain ╰──(tainted) - ├──expanding: domain=$domain/sender_domain=$sender_address_domain + ├───expanded: domain=$domain/sender_domain=$sender_address_domain ╰─────result: domain=recipient.domain/sender_domain=sender.domain ╰──(tainted) ╭considering: domain=$domain/sender_domain=$sender_address_domain @@ -528,7 +524,7 @@ try option acl_smtp_rcpt ├considering: $sender_address_domain ├──────value: sender.domain ╰──(tainted) - ├──expanding: domain=$domain/sender_domain=$sender_address_domain + ├───expanded: domain=$domain/sender_domain=$sender_address_domain ╰─────result: domain=recipient.domain/sender_domain=sender.domain ╰──(tainted) try option acl_smtp_quit diff --git a/test/stderr/0620 b/test/stderr/0620 index d2e76db19..8b59ca9a6 100644 --- a/test/stderr/0620 +++ b/test/stderr/0620 @@ -13,58 +13,58 @@ LOG: smtp_connection MAIN try option message_size_limit try option acl_smtp_connect try option smtp_banner - ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ╭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 + ├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 + ├───────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 + ├──────value: Tue,░2░Mar░1999░09:44:33░+0000 + ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full + ╰─────result: primaryhostname.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000 try option acl_smtp_helo try option acl_smtp_mail try option acl_smtp_rcpt - ╭considering: domain $domain - ├───────text: domain + ╭considering: domain░$domain + ├───────text: domain░ ├considering: $domain ├──────value: trythiskey.ex ╰──(tainted) - ├──expanding: domain $domain - ╰─────result: domain trythiskey.ex + ├───expanded: domain░$domain + ╰─────result: domain░trythiskey.ex ╰──(tainted) LOG: MAIN domain trythiskey.ex created log directory TESTSUITE/spool/log - ╭considering: value $domain_data - ├───────text: value + ╭considering: value░░$domain_data + ├───────text: value░░ ├considering: $domain_data - ├──────value: has this data - ├──expanding: value $domain_data - ╰─────result: value has this data + ├──────value: has░this░data + ├───expanded: value░░$domain_data + ╰─────result: value░░has░this░data LOG: MAIN value has this data - ╭considering: \$0 '$0' \$1 '$1' + ╭considering: \$0░'$0'░░\$1░'$1' ├backslashed: '\$' - ├considering: 0 '$0' \$1 '$1' - ├───────text: 0 ' - ├considering: $0' \$1 '$1' + ├considering: 0░'$0'░░\$1░'$1' + ├───────text: 0░' + ├considering: $0'░░\$1░'$1' ├──────value: trythiskey.ex ╰──(tainted) - ├considering: ' \$1 '$1' - ├───────text: ' - ├considering: \$1 '$1' + ├considering: '░░\$1░'$1' + ├───────text: '░░ + ├considering: \$1░'$1' ├backslashed: '\$' - ├considering: 1 '$1' - ├───────text: 1 ' + ├considering: 1░'$1' + ├───────text: 1░' ├considering: $1' ├considering: ' ├───────text: ' - ├──expanding: \$0 '$0' \$1 '$1' - ╰─────result: $0 'trythiskey.ex' $1 '' + ├───expanded: \$0░'$0'░░\$1░'$1' + ╰─────result: $0░'trythiskey.ex'░░$1░'' ╰──(tainted) LOG: MAIN $0 'trythiskey.ex' $1 '' @@ -87,57 +87,57 @@ LOG: smtp_connection MAIN try option message_size_limit try option acl_smtp_connect try option smtp_banner - ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ╭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 + ├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 + ├───────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 + ├──────value: Tue,░2░Mar░1999░09:44:33░+0000 + ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full + ╰─────result: primaryhostname.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000 try option acl_smtp_helo try option acl_smtp_mail try option acl_smtp_rcpt - ╭considering: domain $domain - ├───────text: domain + ╭considering: domain░$domain + ├───────text: domain░ ├considering: $domain ├──────value: trythiskey.ex ╰──(tainted) - ├──expanding: domain $domain - ╰─────result: domain trythiskey.ex + ├───expanded: domain░$domain + ╰─────result: domain░trythiskey.ex ╰──(tainted) LOG: MAIN domain trythiskey.ex - ╭considering: value $domain_data - ├───────text: value + ╭considering: value░░$domain_data + ├───────text: value░░ ├considering: $domain_data ├──────value: trythiskey.ex - ├──expanding: value $domain_data - ╰─────result: value trythiskey.ex + ├───expanded: value░░$domain_data + ╰─────result: value░░trythiskey.ex LOG: MAIN value trythiskey.ex - ╭considering: \$0 '$0' \$1 '$1' + ╭considering: \$0░'$0'░░\$1░'$1' ├backslashed: '\$' - ├considering: 0 '$0' \$1 '$1' - ├───────text: 0 ' - ├considering: $0' \$1 '$1' + ├considering: 0░'$0'░░\$1░'$1' + ├───────text: 0░' + ├considering: $0'░░\$1░'$1' ├──────value: trythiskey.ex ╰──(tainted) - ├considering: ' \$1 '$1' - ├───────text: ' - ├considering: \$1 '$1' + ├considering: '░░\$1░'$1' + ├───────text: '░░ + ├considering: \$1░'$1' ├backslashed: '\$' - ├considering: 1 '$1' - ├───────text: 1 ' + ├considering: 1░'$1' + ├───────text: 1░' ├considering: $1' ├considering: ' ├───────text: ' - ├──expanding: \$0 '$0' \$1 '$1' - ╰─────result: $0 'trythiskey.ex' $1 '' + ├───expanded: \$0░'$0'░░\$1░'$1' + ╰─────result: $0░'trythiskey.ex'░░$1░'' ╰──(tainted) LOG: MAIN $0 'trythiskey.ex' $1 '' diff --git a/test/stderr/0628 b/test/stderr/0628 index 9c2db0ec3..5424c5664 100644 --- a/test/stderr/0628 +++ b/test/stderr/0628 @@ -3,8 +3,8 @@ 01:01:01 p1237 accept: condition test succeeded in ACL "chk_data" 01:01:01 p1237 end of ACL "chk_data": ACCEPT 01:01:01 p1237 ╭considering: ${tod_full} -01:01:01 p1237 ├──expanding: ${tod_full} -01:01:01 p1237 ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 +01:01:01 p1237 ├───expanded: ${tod_full} +01:01:01 p1237 ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 01:01:01 p1237 Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-000000005vi-0000 01:01:01 p1237 DSN: **** SPOOL_OUT - address: errorsto: orcpt: dsn_flags: 0x0 01:01:01 p1237 Renaming spool header file: TESTSUITE/spool//input//10HmaX-000000005vi-0000-H @@ -120,8 +120,8 @@ 01:01:01 p1240 accept: condition test succeeded in ACL "chk_data" 01:01:01 p1240 end of ACL "chk_data": ACCEPT 01:01:01 p1240 ╭considering: ${tod_full} -01:01:01 p1240 ├──expanding: ${tod_full} -01:01:01 p1240 ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 +01:01:01 p1240 ├───expanded: ${tod_full} +01:01:01 p1240 ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 01:01:01 p1240 Writing spool header file: TESTSUITE/spool//input//hdr.10HmaY-000000005vi-0000 01:01:01 p1240 DSN: **** SPOOL_OUT - address: errorsto: orcpt: dsn_flags: 0x0 01:01:01 p1240 Renaming spool header file: TESTSUITE/spool//input//10HmaY-000000005vi-0000-H diff --git a/test/stderr/0630 b/test/stderr/0630 index 3ecc9dcbd..aef9cabb0 100644 --- a/test/stderr/0630 +++ b/test/stderr/0630 @@ -1,4 +1,3 @@ -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,7 +10,7 @@ 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 ├───expanded: /$local_part 01:01:01 p1235 ╰─────result: /dest3 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 dest3 in "/dest3"? diff --git a/test/stderr/0632 b/test/stderr/0632 index 25b675dab..c19620b80 100644 --- a/test/stderr/0632 +++ b/test/stderr/0632 @@ -18,7 +18,7 @@ try option notifier_socket ├──────value: TESTSUITE/spool ├considering: /exim_daemon_notify ├───────text: /exim_daemon_notify - ├──expanding: $spool_directory/exim_daemon_notify + ├───expanded: $spool_directory/exim_daemon_notify ╰─────result: TESTSUITE/spool/exim_daemon_notify TESTSUITE/spool/exim_daemon_notify listening on all interfaces (IPv6) port PORT_D @@ -36,18 +36,18 @@ p1235 Process p1235 is handling incoming connection from [127.0.0.1] p1235 try option message_size_limit p1235 try option acl_smtp_connect p1235 try option smtp_banner -p1235 ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full +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 ├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 ├───────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 ├──────value: Tue,░2░Mar░1999░09:44:33░+0000 +p1235 ├───expanded: $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 p1235 try option acl_smtp_helo p1235 try option acl_smtp_mail @@ -60,18 +60,18 @@ 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 +p1235 ├───expanded: $spool_directory/exim_daemon_notify p1235 ╰─────result: TESTSUITE/spool/exim_daemon_notify -p1235 ╭considering: ${if match {a_random_string} {static_RE}} -p1235 ╭considering: a_random_string} {static_RE}} +p1235 ╭considering: ${if░match░{a_random_string}░{static_RE}} +p1235 ╭considering: a_random_string}░{static_RE}} p1235 ├───────text: a_random_string -p1235 ├considering: } {static_RE}} -p1235 ├──expanding: a_random_string +p1235 ├considering: }░{static_RE}} +p1235 ├───expanded: a_random_string p1235 ╰─────result: a_random_string p1235 ╭considering: static_RE}} p1235 ├───────text: static_RE p1235 ├considering: }} -p1235 ├──expanding: static_RE +p1235 ├───expanded: static_RE p1235 ╰─────result: static_RE p1235 compiled RE 'static_RE' not found in local cache p1235 compiling RE 'static_RE' @@ -82,24 +82,24 @@ 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 +p1235 ├───expanded: $spool_directory/exim_daemon_notify p1235 ╰─────result: TESTSUITE/spool/exim_daemon_notify -p1235 ├──condition: match {a_random_string} {static_RE} +p1235 ├──condition: match░{a_random_string}░{static_RE} p1235 ├─────result: false -p1235 ├──expanding: ${if match {a_random_string} {static_RE}} +p1235 ├───expanded: ${if░match░{a_random_string}░{static_RE}} p1235 ╰─────result: -p1235 ╭considering: ${if match {a_random_string} {tricky_static_RE\$}} -p1235 ╭considering: a_random_string} {tricky_static_RE\$}} +p1235 ╭considering: ${if░match░{a_random_string}░{tricky_static_RE\$}} +p1235 ╭considering: a_random_string}░{tricky_static_RE\$}} p1235 ├───────text: a_random_string -p1235 ├considering: } {tricky_static_RE\$}} -p1235 ├──expanding: a_random_string +p1235 ├considering: }░{tricky_static_RE\$}} +p1235 ├───expanded: a_random_string p1235 ╰─────result: a_random_string p1235 ╭considering: tricky_static_RE\$}} p1235 ├───────text: tricky_static_RE p1235 ├considering: \$}} p1235 ├backslashed: '\$' p1235 ├considering: }} -p1235 ├──expanding: tricky_static_RE\$ +p1235 ├───expanded: tricky_static_RE\$ p1235 ╰─────result: tricky_static_RE$ p1235 compiled RE 'tricky_static_RE$' not found in local cache p1235 compiling RE 'tricky_static_RE$' @@ -110,391 +110,389 @@ 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 +p1235 ├───expanded: $spool_directory/exim_daemon_notify p1235 ╰─────result: TESTSUITE/spool/exim_daemon_notify -p1235 ├──condition: match {a_random_string} {tricky_static_RE\$} +p1235 ├──condition: match░{a_random_string}░{tricky_static_RE\$} p1235 ├─────result: false -p1235 ├──expanding: ${if match {a_random_string} {tricky_static_RE\$}} +p1235 ├───expanded: ${if░match░{a_random_string}░{tricky_static_RE\$}} p1235 ╰─────result: -p1235 ╭considering: ${if match {a_random_string} {pid=${pid} uncacheable_RE}} -p1235 ╭considering: a_random_string} {pid=${pid} uncacheable_RE}} +p1235 ╭considering: ${if░match░{a_random_string}░{pid=${pid}░uncacheable_RE}} +p1235 ╭considering: a_random_string}░{pid=${pid}░uncacheable_RE}} p1235 ├───────text: a_random_string -p1235 ├considering: } {pid=${pid} uncacheable_RE}} -p1235 ├──expanding: a_random_string +p1235 ├considering: }░{pid=${pid}░uncacheable_RE}} +p1235 ├───expanded: a_random_string p1235 ╰─────result: a_random_string -p1235 ╭considering: pid=${pid} uncacheable_RE}} +p1235 ╭considering: pid=${pid}░uncacheable_RE}} p1235 ├───────text: pid= -p1235 ├considering: ${pid} uncacheable_RE}} -p1235 ├considering: uncacheable_RE}} -p1235 ├───────text: uncacheable_RE +p1235 ├considering: ${pid}░uncacheable_RE}} +p1235 ├considering: ░uncacheable_RE}} +p1235 ├───────text: ░uncacheable_RE p1235 ├considering: }} -p1235 ├──expanding: pid=${pid} uncacheable_RE -p1235 ╰─────result: pid=p1235 uncacheable_RE +p1235 ├───expanded: pid=${pid}░uncacheable_RE +p1235 ╰─────result: pid=p1235░uncacheable_RE p1235 compiling RE 'pid=p1235 uncacheable_RE' -p1235 ├──condition: match {a_random_string} {pid=${pid} uncacheable_RE} +p1235 ├──condition: match░{a_random_string}░{pid=${pid}░uncacheable_RE} p1235 ├─────result: false -p1235 ├──expanding: ${if match {a_random_string} {pid=${pid} uncacheable_RE}} +p1235 ├───expanded: ${if░match░{a_random_string}░{pid=${pid}░uncacheable_RE}} p1235 ╰─────result: p1235 try option acl_smtp_predata p1235 search_tidyup called p1235 search_tidyup called p1235 ╭considering: ${tod_full} -p1235 ├──expanding: ${tod_full} -p1235 ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 +p1235 ├───expanded: ${tod_full} +p1235 ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 p1235 try option received_header_text -p1235 ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost -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 -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 ├───────text: Received: -p1235 ├considering: ${if def:sender_rcvhost {from $sender_rcvhost -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 -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 ╭considering: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩ +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↩ +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 ├───────text: Received:░ +p1235 ├considering: ${if░def:sender_rcvhost░{from░$sender_rcvhost↩ +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↩ +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 ├──condition: def:sender_rcvhost p1235 ├─────result: true -p1235 ╭considering: from $sender_rcvhost -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 -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 ├───────text: from -p1235 ├considering: $sender_rcvhost -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 -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 ╭considering: from░$sender_rcvhost↩ +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↩ +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 ├───────text: from░ +p1235 ├considering: $sender_rcvhost↩ +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↩ +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 -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 ├───────text: +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↩ +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 ├───────text: ↩ p1235 -p1235 ├considering: }{${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 -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 ├──expanding: from $sender_rcvhost +p1235 ├considering: }{${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↩ +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 ├───expanded: from░$sender_rcvhost↩ p1235 -p1235 ╰─────result: from [127.0.0.1] (helo=test.ex) +p1235 ╰─────result: from░[127.0.0.1]░(helo=test.ex)↩ p1235 p1235 ╰──(tainted) -p1235 ╭───scanning: ${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 -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 ╭───scanning: ${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↩ +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 ├──condition: def:sender_ident p1235 ├─────result: false -p1235 ╭───scanning: 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 -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 ├───────text: from -p1235 ├───scanning: ${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 -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 ╎╭───scanning: $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 -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 ╭───scanning: 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↩ +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 ├───────text: from░ +p1235 ├───scanning: ${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↩ +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 ╎╭───scanning: $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↩ +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) -p1235 ╎ ${if def:sender_address {(envelope-from <$sender_address>) -p1235 ╎ }}id $message_exim_id${if def:received_for { -p1235 ╎ for $received_for}} -p1235 ╎├──expanding: $sender_ident -p1235 ╎├─────result: +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)↩ +p1235 ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1235 ╎ }}id░$message_exim_id${if░def:received_for░{↩ +p1235 ╎ for░$received_for}} +p1235 ╎├───expanded: $sender_ident +p1235 ╎├─────result: ◀skipped▶ p1235 ╎╰───skipping: result is not used -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) -p1235 ${if def:sender_address {(envelope-from <$sender_address>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} -p1235 ├───────text: -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) -p1235 ${if def:sender_address {(envelope-from <$sender_address>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} -p1235 ├──expanding: from ${quote_local_part:$sender_ident} -p1235 ├─────result: from +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)↩ +p1235 ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1235 }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} +p1235 ├───────text: ░ +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)↩ +p1235 ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1235 }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} +p1235 ├───expanded: from░${quote_local_part:$sender_ident}░ +p1235 ├─────result: ◀skipped▶ p1235 ╰───skipping: result is not used p1235 ├───item-res: -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) -p1235 ${if def:sender_address {(envelope-from <$sender_address>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} +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)↩ +p1235 ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1235 }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} p1235 ├──condition: def:sender_helo_name p1235 ├─────result: false -p1235 ╭───scanning: (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) -p1235 ${if def:sender_address {(envelope-from <$sender_address>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} +p1235 ╭───scanning: (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)↩ +p1235 ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1235 }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} p1235 ├───────text: (helo= -p1235 ├───scanning: $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) -p1235 ${if def:sender_address {(envelope-from <$sender_address>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} +p1235 ├───scanning: $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)↩ +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) -p1235 ${if def:sender_address {(envelope-from <$sender_address>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} -p1235 ├───────text: ) +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)↩ +p1235 ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1235 }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} +p1235 ├───────text: )↩ p1235 -p1235 ├───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 -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 ├──expanding: (helo=$sender_helo_name) -p1235 -p1235 ├─────result: (helo=) +p1235 ├───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↩ +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 ├───expanded: (helo=$sender_helo_name)↩ p1235 +p1235 ├─────result: ◀skipped▶ p1235 ╰───skipping: result is not used p1235 ├───item-res: -p1235 ├───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 -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 ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) +p1235 ├───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↩ +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 ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩ p1235 }} -p1235 ├─────result: +p1235 ├─────result: ◀skipped▶ p1235 ╰───skipping: result is not used -p1235 ├───item-res: from [127.0.0.1] (helo=test.ex) +p1235 ├───item-res: from░[127.0.0.1]░(helo=test.ex)↩ p1235 p1235 ╰──(tainted) -p1235 ├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 -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 ├───────text: by -p1235 ├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 -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 ├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↩ +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 ├───────text: by░ +p1235 ├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↩ +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>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} -p1235 ├───────text: -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>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} +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>)↩ +p1235 }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} +p1235 ├───────text: ░ +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>)↩ +p1235 }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} p1235 ├──condition: def:received_protocol p1235 ├─────result: true -p1235 ╭considering: 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>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} -p1235 ├───────text: with -p1235 ├considering: $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>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} +p1235 ╭considering: 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>)↩ +p1235 }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} +p1235 ├───────text: with░ +p1235 ├considering: $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>)↩ +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>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} -p1235 ├───────text: -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>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} -p1235 ├──expanding: with $received_protocol -p1235 ╰─────result: with smtp -p1235 ├───item-res: with 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>)↩ +p1235 }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} +p1235 ├───────text: ░ +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>)↩ +p1235 }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} +p1235 ├───expanded: with░$received_protocol░ +p1235 ╰─────result: with░smtp░ +p1235 ├───item-res: with░smtp░ p1235 ╰──(tainted) -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>) -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) -p1235 ├─────result: () +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>)↩ +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 ├───expanded: ░($tls_in_ver) +p1235 ├─────result: ◀skipped▶ p1235 ╰───skipping: result is not used p1235 ├───item-res: p1235 ╰──(tainted) -p1235 ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std -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 ├considering: ${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ +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 ├──condition: def:tls_in_cipher_std p1235 ├─────result: false -p1235 ╭───scanning: tls $tls_in_cipher_std -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 ├───────text: tls -p1235 ├───scanning: $tls_in_cipher_std -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 ╭───scanning: ░tls░$tls_in_cipher_std↩ +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 ├───────text: ░tls░ +p1235 ├───scanning: $tls_in_cipher_std↩ +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>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} -p1235 ├───────text: -p1235 -p1235 ├───scanning: }}(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 ├──expanding: tls $tls_in_cipher_std +p1235 ├───scanning: ↩ +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 ├───────text: ↩ p1235 -p1235 ├─────result: tls +p1235 ├───scanning: }}(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 ├───expanded: ░tls░$tls_in_cipher_std↩ p1235 +p1235 ├─────result: ◀skipped▶ p1235 ╰───skipping: result is not used p1235 ├───item-res: p1235 ╰──(tainted) -p1235 ├considering: (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 ├───────text: (Exim -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 ├considering: (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 ├───────text: (Exim░ +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 { -p1235 for $received_for}} -p1235 ├───────text: ) +p1235 ├considering: )↩ +p1235 ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1235 }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} +p1235 ├───────text: )↩ p1235 -p1235 ├considering: ${if def:sender_address {(envelope-from <$sender_address>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} +p1235 ├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1235 }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} p1235 ├──condition: def:sender_address p1235 ├─────result: true -p1235 ╭considering: (envelope-from <$sender_address>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} -p1235 ├───────text: (envelope-from < -p1235 ├considering: $sender_address>) -p1235 }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} +p1235 ╭considering: (envelope-from░<$sender_address>)↩ +p1235 }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} +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}} -p1235 ├───────text: >) +p1235 ├considering: >)↩ +p1235 }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} +p1235 ├───────text: >)↩ p1235 -p1235 ├considering: }}id $message_exim_id${if def:received_for { -p1235 for $received_for}} -p1235 ├──expanding: (envelope-from <$sender_address>) +p1235 ├considering: }}id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} +p1235 ├───expanded: (envelope-from░<$sender_address>)↩ p1235 -p1235 ╰─────result: (envelope-from ) +p1235 ╰─────result: (envelope-from░)↩ p1235 p1235 ╰──(tainted) -p1235 ├───item-res: (envelope-from ) +p1235 ├───item-res: (envelope-from░)↩ p1235 p1235 ╰──(tainted) -p1235 ├considering: id $message_exim_id${if def:received_for { -p1235 for $received_for}} -p1235 ├───────text: id -p1235 ├considering: $message_exim_id${if def:received_for { -p1235 for $received_for}} +p1235 ├considering: id░$message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} +p1235 ├───────text: id░ +p1235 ├considering: $message_exim_id${if░def:received_for░{↩ +p1235 for░$received_for}} p1235 ├──────value: 10HmaX-000000005vi-0000 -p1235 ├considering: ${if def:received_for { -p1235 for $received_for}} +p1235 ├considering: ${if░def:received_for░{↩ +p1235 for░$received_for}} p1235 ├──condition: def:received_for p1235 ├─────result: true -p1235 ╭considering: -p1235 for $received_for}} -p1235 ├───────text: -p1235 for +p1235 ╭considering: ↩ +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 -p1235 ╰─────result: -p1235 for dest_1@test.ex +p1235 ├───expanded: ↩ +p1235 for░$received_for +p1235 ╰─────result: ↩ +p1235 for░dest_1@test.ex p1235 ╰──(tainted) -p1235 ├───item-res: -p1235 for dest_1@test.ex +p1235 ├───item-res: ↩ +p1235 for░dest_1@test.ex p1235 ╰──(tainted) -p1235 ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost -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 -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 ╰─────result: Received: from [127.0.0.1] (helo=test.ex) -p1235 by myhost.test.ex with smtp (Exim x.yz) -p1235 (envelope-from ) -p1235 id 10HmaX-000000005vi-0000 -p1235 for dest_1@test.ex +p1235 ├───expanded: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩ +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↩ +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 ╰─────result: Received:░from░[127.0.0.1]░(helo=test.ex)↩ +p1235 by░myhost.test.ex░with░smtp░(Exim░x.yz)↩ +p1235 (envelope-from░)↩ +p1235 id░10HmaX-000000005vi-0000↩ +p1235 for░dest_1@test.ex p1235 ╰──(tainted) p1235 try option acl_smtp_dkim p1235 try option acl_smtp_mime p1235 try option acl_smtp_data p1235 ╭considering: ${tod_full} -p1235 ├──expanding: ${tod_full} -p1235 ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 +p1235 ├───expanded: ${tod_full} +p1235 ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 LOG: MAIN <= CALLER@test.ex H=(test.ex) [127.0.0.1] Ci=p1235 P=smtp S=sss search_tidyup called @@ -533,436 +531,434 @@ p1236 Process p1236 is handling incoming connection from [127.0.0.1] p1236 try option message_size_limit p1236 try option acl_smtp_connect p1236 try option smtp_banner -p1236 ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full +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 ├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 ├───────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 ├──────value: Tue,░2░Mar░1999░09:44:33░+0000 +p1236 ├───expanded: $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 p1236 try option acl_smtp_helo p1236 try option acl_smtp_mail p1236 try option acl_smtp_rcpt p1236 compiled caseless RE '^nomatch_list' found in local cache -p1236 ╭considering: ${if match {a_random_string} {static_RE}} -p1236 ╭considering: a_random_string} {static_RE}} +p1236 ╭considering: ${if░match░{a_random_string}░{static_RE}} +p1236 ╭considering: a_random_string}░{static_RE}} p1236 ├───────text: a_random_string -p1236 ├considering: } {static_RE}} -p1236 ├──expanding: a_random_string +p1236 ├considering: }░{static_RE}} +p1236 ├───expanded: a_random_string p1236 ╰─────result: a_random_string p1236 ╭considering: static_RE}} p1236 ├───────text: static_RE p1236 ├considering: }} -p1236 ├──expanding: static_RE +p1236 ├───expanded: static_RE p1236 ╰─────result: static_RE p1236 compiled RE 'static_RE' found in local cache -p1236 ├──condition: match {a_random_string} {static_RE} +p1236 ├──condition: match░{a_random_string}░{static_RE} p1236 ├─────result: false -p1236 ├──expanding: ${if match {a_random_string} {static_RE}} +p1236 ├───expanded: ${if░match░{a_random_string}░{static_RE}} p1236 ╰─────result: -p1236 ╭considering: ${if match {a_random_string} {tricky_static_RE\$}} -p1236 ╭considering: a_random_string} {tricky_static_RE\$}} +p1236 ╭considering: ${if░match░{a_random_string}░{tricky_static_RE\$}} +p1236 ╭considering: a_random_string}░{tricky_static_RE\$}} p1236 ├───────text: a_random_string -p1236 ├considering: } {tricky_static_RE\$}} -p1236 ├──expanding: a_random_string +p1236 ├considering: }░{tricky_static_RE\$}} +p1236 ├───expanded: a_random_string p1236 ╰─────result: a_random_string p1236 ╭considering: tricky_static_RE\$}} p1236 ├───────text: tricky_static_RE p1236 ├considering: \$}} p1236 ├backslashed: '\$' p1236 ├considering: }} -p1236 ├──expanding: tricky_static_RE\$ +p1236 ├───expanded: tricky_static_RE\$ p1236 ╰─────result: tricky_static_RE$ p1236 compiled RE 'tricky_static_RE$' found in local cache -p1236 ├──condition: match {a_random_string} {tricky_static_RE\$} +p1236 ├──condition: match░{a_random_string}░{tricky_static_RE\$} p1236 ├─────result: false -p1236 ├──expanding: ${if match {a_random_string} {tricky_static_RE\$}} +p1236 ├───expanded: ${if░match░{a_random_string}░{tricky_static_RE\$}} p1236 ╰─────result: -p1236 ╭considering: ${if match {a_random_string} {pid=${pid} uncacheable_RE}} -p1236 ╭considering: a_random_string} {pid=${pid} uncacheable_RE}} +p1236 ╭considering: ${if░match░{a_random_string}░{pid=${pid}░uncacheable_RE}} +p1236 ╭considering: a_random_string}░{pid=${pid}░uncacheable_RE}} p1236 ├───────text: a_random_string -p1236 ├considering: } {pid=${pid} uncacheable_RE}} -p1236 ├──expanding: a_random_string +p1236 ├considering: }░{pid=${pid}░uncacheable_RE}} +p1236 ├───expanded: a_random_string p1236 ╰─────result: a_random_string -p1236 ╭considering: pid=${pid} uncacheable_RE}} +p1236 ╭considering: pid=${pid}░uncacheable_RE}} p1236 ├───────text: pid= -p1236 ├considering: ${pid} uncacheable_RE}} -p1236 ├considering: uncacheable_RE}} -p1236 ├───────text: uncacheable_RE +p1236 ├considering: ${pid}░uncacheable_RE}} +p1236 ├considering: ░uncacheable_RE}} +p1236 ├───────text: ░uncacheable_RE p1236 ├considering: }} -p1236 ├──expanding: pid=${pid} uncacheable_RE -p1236 ╰─────result: pid=p1236 uncacheable_RE +p1236 ├───expanded: pid=${pid}░uncacheable_RE +p1236 ╰─────result: pid=p1236░uncacheable_RE p1236 compiling RE 'pid=p1236 uncacheable_RE' -p1236 ├──condition: match {a_random_string} {pid=${pid} uncacheable_RE} +p1236 ├──condition: match░{a_random_string}░{pid=${pid}░uncacheable_RE} p1236 ├─────result: false -p1236 ├──expanding: ${if match {a_random_string} {pid=${pid} uncacheable_RE}} +p1236 ├───expanded: ${if░match░{a_random_string}░{pid=${pid}░uncacheable_RE}} p1236 ╰─────result: p1236 try option acl_smtp_predata p1236 search_tidyup called p1236 search_tidyup called p1236 ╭considering: ${tod_full} -p1236 ├──expanding: ${tod_full} -p1236 ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 +p1236 ├───expanded: ${tod_full} +p1236 ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 p1236 try option received_header_text -p1236 ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost -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 -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 ├───────text: Received: -p1236 ├considering: ${if def:sender_rcvhost {from $sender_rcvhost -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 -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 ╭considering: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩ +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↩ +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 ├───────text: Received:░ +p1236 ├considering: ${if░def:sender_rcvhost░{from░$sender_rcvhost↩ +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↩ +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 ├──condition: def:sender_rcvhost p1236 ├─────result: true -p1236 ╭considering: from $sender_rcvhost -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 -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 ├───────text: from -p1236 ├considering: $sender_rcvhost -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 -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 ╭considering: from░$sender_rcvhost↩ +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↩ +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 ├───────text: from░ +p1236 ├considering: $sender_rcvhost↩ +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↩ +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 -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 ├───────text: +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↩ +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 ├───────text: ↩ p1236 -p1236 ├considering: }{${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 -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 ├──expanding: from $sender_rcvhost +p1236 ├considering: }{${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↩ +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 ├───expanded: from░$sender_rcvhost↩ p1236 -p1236 ╰─────result: from [127.0.0.1] (helo=test.ex) +p1236 ╰─────result: from░[127.0.0.1]░(helo=test.ex)↩ p1236 p1236 ╰──(tainted) -p1236 ╭───scanning: ${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 -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 ╭───scanning: ${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↩ +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 ├──condition: def:sender_ident p1236 ├─────result: false -p1236 ╭───scanning: 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 -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 ├───────text: from -p1236 ├───scanning: ${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 -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 ╎╭───scanning: $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 -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 ╭───scanning: 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↩ +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 ├───────text: from░ +p1236 ├───scanning: ${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↩ +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 ╎╭───scanning: $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↩ +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) -p1236 ╎ ${if def:sender_address {(envelope-from <$sender_address>) -p1236 ╎ }}id $message_exim_id${if def:received_for { -p1236 ╎ for $received_for}} -p1236 ╎├──expanding: $sender_ident -p1236 ╎├─────result: +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)↩ +p1236 ╎ ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1236 ╎ }}id░$message_exim_id${if░def:received_for░{↩ +p1236 ╎ for░$received_for}} +p1236 ╎├───expanded: $sender_ident +p1236 ╎├─────result: ◀skipped▶ p1236 ╎╰───skipping: result is not used -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) -p1236 ${if def:sender_address {(envelope-from <$sender_address>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} -p1236 ├───────text: -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) -p1236 ${if def:sender_address {(envelope-from <$sender_address>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} -p1236 ├──expanding: from ${quote_local_part:$sender_ident} -p1236 ├─────result: from +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)↩ +p1236 ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1236 }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} +p1236 ├───────text: ░ +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)↩ +p1236 ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1236 }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} +p1236 ├───expanded: from░${quote_local_part:$sender_ident}░ +p1236 ├─────result: ◀skipped▶ p1236 ╰───skipping: result is not used p1236 ├───item-res: -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) -p1236 ${if def:sender_address {(envelope-from <$sender_address>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} +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)↩ +p1236 ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1236 }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} p1236 ├──condition: def:sender_helo_name p1236 ├─────result: false -p1236 ╭───scanning: (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) -p1236 ${if def:sender_address {(envelope-from <$sender_address>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} +p1236 ╭───scanning: (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)↩ +p1236 ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1236 }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} p1236 ├───────text: (helo= -p1236 ├───scanning: $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) -p1236 ${if def:sender_address {(envelope-from <$sender_address>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} +p1236 ├───scanning: $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)↩ +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) -p1236 ${if def:sender_address {(envelope-from <$sender_address>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} -p1236 ├───────text: ) +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)↩ +p1236 ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1236 }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} +p1236 ├───────text: )↩ p1236 -p1236 ├───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 -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 ├──expanding: (helo=$sender_helo_name) -p1236 -p1236 ├─────result: (helo=) +p1236 ├───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↩ +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 ├───expanded: (helo=$sender_helo_name)↩ p1236 +p1236 ├─────result: ◀skipped▶ p1236 ╰───skipping: result is not used p1236 ├───item-res: -p1236 ├───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 -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 ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) +p1236 ├───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↩ +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 ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩ p1236 }} -p1236 ├─────result: +p1236 ├─────result: ◀skipped▶ p1236 ╰───skipping: result is not used -p1236 ├───item-res: from [127.0.0.1] (helo=test.ex) +p1236 ├───item-res: from░[127.0.0.1]░(helo=test.ex)↩ p1236 p1236 ╰──(tainted) -p1236 ├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 -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 ├───────text: by -p1236 ├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 -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 ├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↩ +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 ├───────text: by░ +p1236 ├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↩ +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>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} -p1236 ├───────text: -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>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} +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>)↩ +p1236 }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} +p1236 ├───────text: ░ +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>)↩ +p1236 }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} p1236 ├──condition: def:received_protocol p1236 ├─────result: true -p1236 ╭considering: 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>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} -p1236 ├───────text: with -p1236 ├considering: $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>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} +p1236 ╭considering: 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>)↩ +p1236 }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} +p1236 ├───────text: with░ +p1236 ├considering: $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>)↩ +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>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} -p1236 ├───────text: -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>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} -p1236 ├──expanding: with $received_protocol -p1236 ╰─────result: with smtp -p1236 ├───item-res: with 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>)↩ +p1236 }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} +p1236 ├───────text: ░ +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>)↩ +p1236 }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} +p1236 ├───expanded: with░$received_protocol░ +p1236 ╰─────result: with░smtp░ +p1236 ├───item-res: with░smtp░ p1236 ╰──(tainted) -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>) -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) -p1236 ├─────result: () +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>)↩ +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 ├───expanded: ░($tls_in_ver) +p1236 ├─────result: ◀skipped▶ p1236 ╰───skipping: result is not used p1236 ├───item-res: p1236 ╰──(tainted) -p1236 ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std -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 ├considering: ${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ +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 ├──condition: def:tls_in_cipher_std p1236 ├─────result: false -p1236 ╭───scanning: tls $tls_in_cipher_std -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 ├───────text: tls -p1236 ├───scanning: $tls_in_cipher_std -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 ╭───scanning: ░tls░$tls_in_cipher_std↩ +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 ├───────text: ░tls░ +p1236 ├───scanning: $tls_in_cipher_std↩ +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>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} -p1236 ├───────text: -p1236 -p1236 ├───scanning: }}(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 ├──expanding: tls $tls_in_cipher_std +p1236 ├───scanning: ↩ +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 ├───────text: ↩ p1236 -p1236 ├─────result: tls +p1236 ├───scanning: }}(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 ├───expanded: ░tls░$tls_in_cipher_std↩ p1236 +p1236 ├─────result: ◀skipped▶ p1236 ╰───skipping: result is not used p1236 ├───item-res: p1236 ╰──(tainted) -p1236 ├considering: (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 ├───────text: (Exim -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 ├considering: (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 ├───────text: (Exim░ +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 { -p1236 for $received_for}} -p1236 ├───────text: ) +p1236 ├considering: )↩ +p1236 ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1236 }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} +p1236 ├───────text: )↩ p1236 -p1236 ├considering: ${if def:sender_address {(envelope-from <$sender_address>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} +p1236 ├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ +p1236 }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} p1236 ├──condition: def:sender_address p1236 ├─────result: true -p1236 ╭considering: (envelope-from <$sender_address>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} -p1236 ├───────text: (envelope-from < -p1236 ├considering: $sender_address>) -p1236 }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} +p1236 ╭considering: (envelope-from░<$sender_address>)↩ +p1236 }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} +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}} -p1236 ├───────text: >) +p1236 ├considering: >)↩ +p1236 }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} +p1236 ├───────text: >)↩ p1236 -p1236 ├considering: }}id $message_exim_id${if def:received_for { -p1236 for $received_for}} -p1236 ├──expanding: (envelope-from <$sender_address>) +p1236 ├considering: }}id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} +p1236 ├───expanded: (envelope-from░<$sender_address>)↩ p1236 -p1236 ╰─────result: (envelope-from ) +p1236 ╰─────result: (envelope-from░)↩ p1236 p1236 ╰──(tainted) -p1236 ├───item-res: (envelope-from ) +p1236 ├───item-res: (envelope-from░)↩ p1236 p1236 ╰──(tainted) -p1236 ├considering: id $message_exim_id${if def:received_for { -p1236 for $received_for}} -p1236 ├───────text: id -p1236 ├considering: $message_exim_id${if def:received_for { -p1236 for $received_for}} +p1236 ├considering: id░$message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} +p1236 ├───────text: id░ +p1236 ├considering: $message_exim_id${if░def:received_for░{↩ +p1236 for░$received_for}} p1236 ├──────value: 10HmaY-000000005vi-0000 -p1236 ├considering: ${if def:received_for { -p1236 for $received_for}} +p1236 ├considering: ${if░def:received_for░{↩ +p1236 for░$received_for}} p1236 ├──condition: def:received_for p1236 ├─────result: true -p1236 ╭considering: -p1236 for $received_for}} -p1236 ├───────text: -p1236 for +p1236 ╭considering: ↩ +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 -p1236 ╰─────result: -p1236 for dest_2@test.ex +p1236 ├───expanded: ↩ +p1236 for░$received_for +p1236 ╰─────result: ↩ +p1236 for░dest_2@test.ex p1236 ╰──(tainted) -p1236 ├───item-res: -p1236 for dest_2@test.ex +p1236 ├───item-res: ↩ +p1236 for░dest_2@test.ex p1236 ╰──(tainted) -p1236 ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost -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 -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 ╰─────result: Received: from [127.0.0.1] (helo=test.ex) -p1236 by myhost.test.ex with smtp (Exim x.yz) -p1236 (envelope-from ) -p1236 id 10HmaY-000000005vi-0000 -p1236 for dest_2@test.ex +p1236 ├───expanded: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩ +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↩ +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 ╰─────result: Received:░from░[127.0.0.1]░(helo=test.ex)↩ +p1236 by░myhost.test.ex░with░smtp░(Exim░x.yz)↩ +p1236 (envelope-from░)↩ +p1236 id░10HmaY-000000005vi-0000↩ +p1236 for░dest_2@test.ex p1236 ╰──(tainted) p1236 try option acl_smtp_dkim p1236 try option acl_smtp_mime p1236 try option acl_smtp_data p1236 ╭considering: ${tod_full} -p1236 ├──expanding: ${tod_full} -p1236 ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 +p1236 ├───expanded: ${tod_full} +p1236 ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 LOG: MAIN <= CALLER@test.ex H=(test.ex) [127.0.0.1] Ci=p1236 P=smtp S=sss search_tidyup called diff --git a/test/stderr/2610 b/test/stderr/2610 index dd45d50c3..b08ea843f 100644 --- a/test/stderr/2610 +++ b/test/stderr/2610 @@ -278,18 +278,18 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 host in helo_accept_junk_hosts? no (option unset) 01:01:01 p1235 try option acl_smtp_connect 01:01:01 p1235 try option smtp_banner -01:01:01 p1235 ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full +01:01:01 p1235 ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full 01:01:01 p1235 ├──────value: myhost.test.ex -01:01:01 p1235 ├considering: ESMTP Exim $version_number $tod_full -01:01:01 p1235 ├───────text: ESMTP Exim -01:01:01 p1235 ├considering: $version_number $tod_full +01:01:01 p1235 ├considering: ░ESMTP░Exim░$version_number░$tod_full +01:01:01 p1235 ├───────text: ░ESMTP░Exim░ +01:01:01 p1235 ├considering: $version_number░$tod_full 01:01:01 p1235 ├──────value: x.yz -01:01:01 p1235 ├considering: $tod_full -01:01:01 p1235 ├───────text: +01:01:01 p1235 ├considering: ░$tod_full +01:01:01 p1235 ├───────text: ░ 01:01:01 p1235 ├considering: $tod_full -01:01:01 p1235 ├──────value: Tue, 2 Mar 1999 09:44:33 +0000 -01:01:01 p1235 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full -01:01:01 p1235 ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 +01:01:01 p1235 ├──────value: Tue,░2░Mar░1999░09:44:33░+0000 +01:01:01 p1235 ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full +01:01:01 p1235 ╰─────result: myhost.test.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000 01:01:01 p1235 host in pipelining_connect_advertise_hosts? 01:01:01 p1235 list element: 01:01:01 p1235 SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 @@ -315,17 +315,17 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 try option acl_smtp_rcpt 01:01:01 p1235 using ACL "check_recipient" 01:01:01 p1235 processing "warn" (TESTSUITE/test-config 26) -01:01:01 p1235 ╭considering: ok: ${lookup mysql {select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ├───────text: ok: -01:01:01 p1235 ├considering: ${lookup mysql {select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ╭considering: select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ├───────text: select name from them where id = ' +01:01:01 p1235 ╭considering: ok:░░░░${lookup░mysql░░░░░░░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ├───────text: ok:░░░░ +01:01:01 p1235 ├considering: ${lookup░mysql░░░░░░░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ╭considering: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ├───────text: select░name░from░them░where░id░=░' 01:01:01 p1235 ├considering: ${quote_mysql:$local_part}'}} 01:01:01 p1235 ╭considering: $local_part}'}} 01:01:01 p1235 ├──────value: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├considering: }'}} -01:01:01 p1235 ├──expanding: $local_part +01:01:01 p1235 ├───expanded: $local_part 01:01:01 p1235 ╰─────result: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├─────op-res: c @@ -333,8 +333,8 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 ├considering: '}} 01:01:01 p1235 ├───────text: ' 01:01:01 p1235 ├considering: }} -01:01:01 p1235 ├──expanding: select name from them where id = '${quote_mysql:$local_part}' -01:01:01 p1235 ╰─────result: select name from them where id = 'c' +01:01:01 p1235 ├───expanded: select░name░from░them░where░id░=░'${quote_mysql:$local_part}' +01:01:01 p1235 ╰─────result: select░name░from░them░where░id░=░'c' 01:01:01 p1235 ╰──(tainted, quoted:mysql) 01:01:01 p1235 search_open: mysql "NULL" 01:01:01 p1235 search_find: file="NULL" @@ -350,23 +350,23 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 creating new cache entry 01:01:01 p1235 lookup failed 01:01:01 p1235 ├───item-res: -01:01:01 p1235 ├──expanding: ok: ${lookup mysql {select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ╰─────result: ok: +01:01:01 p1235 ├───expanded: ok:░░░░${lookup░mysql░░░░░░░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ╰─────result: ok:░░░░ 01:01:01 p1235 check set acl_m0 = ok: ${lookup mysql {select name from them where id = '${quote_mysql:$local_part}'}} 01:01:01 p1235 = ok: -01:01:01 p1235 ╭considering: FAIL1: ${lookup mysql,no_rd {select name from them where id = '$local_part'}} -01:01:01 p1235 ├───────text: FAIL1: -01:01:01 p1235 ├considering: ${lookup mysql,no_rd {select name from them where id = '$local_part'}} -01:01:01 p1235 ╭considering: select name from them where id = '$local_part'}} -01:01:01 p1235 ├───────text: select name from them where id = ' +01:01:01 p1235 ╭considering: FAIL1:░${lookup░mysql,no_rd░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'$local_part'}} +01:01:01 p1235 ├───────text: FAIL1:░ +01:01:01 p1235 ├considering: ${lookup░mysql,no_rd░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'$local_part'}} +01:01:01 p1235 ╭considering: select░name░from░them░where░id░=░'$local_part'}} +01:01:01 p1235 ├───────text: select░name░from░them░where░id░=░' 01:01:01 p1235 ├considering: $local_part'}} 01:01:01 p1235 ├──────value: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├considering: '}} 01:01:01 p1235 ├───────text: ' 01:01:01 p1235 ├considering: }} -01:01:01 p1235 ├──expanding: select name from them where id = '$local_part' -01:01:01 p1235 ╰─────result: select name from them where id = 'c' +01:01:01 p1235 ├───expanded: select░name░from░them░where░id░=░'$local_part' +01:01:01 p1235 ╰─────result: select░name░from░them░where░id░=░'c' 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 search_open: mysql "NULL" 01:01:01 p1235 cached open @@ -379,30 +379,30 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 (tainted) 01:01:01 p1235 LOG: MAIN PANIC 01:01:01 p1235 tainted search query is not properly quoted (ACL warn, TESTSUITE/test-config 26): select name from them where id = 'c' -01:01:01 p1235 search_type 13 (mysql) quoting -1 (none) +01:01:01 p1235 search_type NN (mysql) quoting -1 (none) 01:01:01 p1235 MySQL query: "select name from them where id = 'c'" opts 'no_rd' 01:01:01 p1235 MYSQL using cached connection for 127.0.0.1:PORT_N/test/root 01:01:01 p1235 MYSQL: no data found 01:01:01 p1235 replacing old cache entry 01:01:01 p1235 lookup failed 01:01:01 p1235 ├───item-res: -01:01:01 p1235 ├──expanding: FAIL1: ${lookup mysql,no_rd {select name from them where id = '$local_part'}} -01:01:01 p1235 ╰─────result: FAIL1: +01:01:01 p1235 ├───expanded: FAIL1:░${lookup░mysql,no_rd░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'$local_part'}} +01:01:01 p1235 ╰─────result: FAIL1:░ 01:01:01 p1235 check set acl_m0 = FAIL1: ${lookup mysql,no_rd {select name from them where id = '$local_part'}} 01:01:01 p1235 = FAIL1: 01:01:01 p1235 warn: condition test succeeded in ACL "check_recipient" 01:01:01 p1235 processing "warn" (TESTSUITE/test-config 31) -01:01:01 p1235 ╭considering: ok: ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass {select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ├───────text: ok: -01:01:01 p1235 ├considering: ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass {select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ╭considering: select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ├───────text: select name from them where id = ' +01:01:01 p1235 ╭considering: ok:░░░░${lookup░mysql,servers=127.0.0.1::PORT_N/test/root/pass░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ├───────text: ok:░░░░ +01:01:01 p1235 ├considering: ${lookup░mysql,servers=127.0.0.1::PORT_N/test/root/pass░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ╭considering: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ├───────text: select░name░from░them░where░id░=░' 01:01:01 p1235 ├considering: ${quote_mysql:$local_part}'}} 01:01:01 p1235 ╭considering: $local_part}'}} 01:01:01 p1235 ├──────value: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├considering: }'}} -01:01:01 p1235 ├──expanding: $local_part +01:01:01 p1235 ├───expanded: $local_part 01:01:01 p1235 ╰─────result: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├─────op-res: c @@ -410,8 +410,8 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 ├considering: '}} 01:01:01 p1235 ├───────text: ' 01:01:01 p1235 ├considering: }} -01:01:01 p1235 ├──expanding: select name from them where id = '${quote_mysql:$local_part}' -01:01:01 p1235 ╰─────result: select name from them where id = 'c' +01:01:01 p1235 ├───expanded: select░name░from░them░where░id░=░'${quote_mysql:$local_part}' +01:01:01 p1235 ╰─────result: select░name░from░them░where░id░=░'c' 01:01:01 p1235 ╰──(tainted, quoted:mysql) 01:01:01 p1235 search_open: mysql "NULL" 01:01:01 p1235 cached open @@ -428,21 +428,21 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 replacing old cache entry 01:01:01 p1235 lookup failed 01:01:01 p1235 ├───item-res: -01:01:01 p1235 ├──expanding: ok: ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass {select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ╰─────result: ok: +01:01:01 p1235 ├───expanded: ok:░░░░${lookup░mysql,servers=127.0.0.1::PORT_N/test/root/pass░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ╰─────result: ok:░░░░ 01:01:01 p1235 check set acl_m0 = ok: ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass {select name from them where id = '${quote_mysql:$local_part}'}} 01:01:01 p1235 = ok: -01:01:01 p1235 ╭considering: ok: ${lookup mysql,servers=127.0.0.1::PORT_N {select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ├───────text: ok: -01:01:01 p1235 ├considering: ${lookup mysql,servers=127.0.0.1::PORT_N {select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ╭considering: select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ├───────text: select name from them where id = ' +01:01:01 p1235 ╭considering: ok:░░░░${lookup░mysql,servers=127.0.0.1::PORT_N░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ├───────text: ok:░░░░ +01:01:01 p1235 ├considering: ${lookup░mysql,servers=127.0.0.1::PORT_N░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ╭considering: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ├───────text: select░name░from░them░where░id░=░' 01:01:01 p1235 ├considering: ${quote_mysql:$local_part}'}} 01:01:01 p1235 ╭considering: $local_part}'}} 01:01:01 p1235 ├──────value: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├considering: }'}} -01:01:01 p1235 ├──expanding: $local_part +01:01:01 p1235 ├───expanded: $local_part 01:01:01 p1235 ╰─────result: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├─────op-res: c @@ -450,8 +450,8 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 ├considering: '}} 01:01:01 p1235 ├───────text: ' 01:01:01 p1235 ├considering: }} -01:01:01 p1235 ├──expanding: select name from them where id = '${quote_mysql:$local_part}' -01:01:01 p1235 ╰─────result: select name from them where id = 'c' +01:01:01 p1235 ├───expanded: select░name░from░them░where░id░=░'${quote_mysql:$local_part}' +01:01:01 p1235 ╰─────result: select░name░from░them░where░id░=░'c' 01:01:01 p1235 ╰──(tainted, quoted:mysql) 01:01:01 p1235 search_open: mysql "NULL" 01:01:01 p1235 cached open @@ -468,21 +468,21 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 replacing old cache entry 01:01:01 p1235 lookup failed 01:01:01 p1235 ├───item-res: -01:01:01 p1235 ├──expanding: ok: ${lookup mysql,servers=127.0.0.1::PORT_N {select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ╰─────result: ok: +01:01:01 p1235 ├───expanded: ok:░░░░${lookup░mysql,servers=127.0.0.1::PORT_N░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ╰─────result: ok:░░░░ 01:01:01 p1235 check set acl_m0 = ok: ${lookup mysql,servers=127.0.0.1::PORT_N {select name from them where id = '${quote_mysql:$local_part}'}} 01:01:01 p1235 = ok: -01:01:01 p1235 ╭considering: FAIL2: ${lookup mysql {servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ├───────text: FAIL2: -01:01:01 p1235 ├considering: ${lookup mysql {servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ╭considering: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'}} -01:01:01 p1235 ├───────text: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = ' +01:01:01 p1235 ╭considering: FAIL2:░${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ├───────text: FAIL2:░ +01:01:01 p1235 ├considering: ${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ╭considering: servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}} +01:01:01 p1235 ├───────text: servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░' 01:01:01 p1235 ├considering: ${quote_mysql:$local_part}'}} 01:01:01 p1235 ╭considering: $local_part}'}} 01:01:01 p1235 ├──────value: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├considering: }'}} -01:01:01 p1235 ├──expanding: $local_part +01:01:01 p1235 ├───expanded: $local_part 01:01:01 p1235 ╰─────result: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├─────op-res: c @@ -490,8 +490,8 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 ├considering: '}} 01:01:01 p1235 ├───────text: ' 01:01:01 p1235 ├considering: }} -01:01:01 p1235 ├──expanding: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}' -01:01:01 p1235 ╰─────result: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = 'c' +01:01:01 p1235 ├───expanded: servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'${quote_mysql:$local_part}' +01:01:01 p1235 ╰─────result: servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'c' 01:01:01 p1235 ╰──(tainted, quoted:mysql) 01:01:01 p1235 search_open: mysql "NULL" 01:01:01 p1235 cached open @@ -513,19 +513,19 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 LOG: MAIN 01:01:01 p1235 H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: MySQL server "127.0.0.1:PORT_N/test" is tainted 01:01:01 p1235 processing "warn" (TESTSUITE/test-config 39) -01:01:01 p1235 ╭considering: FAIL3: ${lookup mysql {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}} -01:01:01 p1235 ├───────text: FAIL3: -01:01:01 p1235 ├considering: ${lookup mysql {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}} -01:01:01 p1235 ╭considering: servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}} -01:01:01 p1235 ├───────text: servers=127.0.0.1::PORT_N; select name from them where id = ' +01:01:01 p1235 ╭considering: FAIL3:░${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part'}} +01:01:01 p1235 ├───────text: FAIL3:░ +01:01:01 p1235 ├considering: ${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part'}} +01:01:01 p1235 ╭considering: servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part'}} +01:01:01 p1235 ├───────text: servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░' 01:01:01 p1235 ├considering: $local_part'}} 01:01:01 p1235 ├──────value: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├considering: '}} 01:01:01 p1235 ├───────text: ' 01:01:01 p1235 ├considering: }} -01:01:01 p1235 ├──expanding: servers=127.0.0.1::PORT_N; select name from them where id = '$local_part' -01:01:01 p1235 ╰─────result: servers=127.0.0.1::PORT_N; select name from them where id = 'c' +01:01:01 p1235 ├───expanded: servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part' +01:01:01 p1235 ╰─────result: servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'c' 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 search_open: mysql "NULL" 01:01:01 p1235 cached open @@ -538,7 +538,7 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 (tainted) 01:01:01 p1235 LOG: MAIN PANIC 01:01:01 p1235 tainted search query is not properly quoted (ACL warn, TESTSUITE/test-config 39): select name from them where id = 'c' -01:01:01 p1235 search_type 13 (mysql) quoting -1 (none) +01:01:01 p1235 search_type NN (mysql) quoting -1 (none) 01:01:01 p1235 MySQL query: "servers=127.0.0.1::PORT_N; select name from them where id = 'c'" opts 'NULL' 01:01:01 p1235 LOG: MAIN 01:01:01 p1235 Exim configuration error in line 89 of TESTSUITE/test-config: @@ -548,30 +548,30 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 creating new cache entry 01:01:01 p1235 lookup failed 01:01:01 p1235 ├───item-res: -01:01:01 p1235 ├──expanding: FAIL3: ${lookup mysql {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}} -01:01:01 p1235 ╰─────result: FAIL3: +01:01:01 p1235 ├───expanded: FAIL3:░${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part'}} +01:01:01 p1235 ╰─────result: FAIL3:░ 01:01:01 p1235 check set acl_m0 = FAIL3: ${lookup mysql {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}} 01:01:01 p1235 = FAIL3: 01:01:01 p1235 warn: condition test succeeded in ACL "check_recipient" 01:01:01 p1235 processing "warn" (TESTSUITE/test-config 42) 01:01:01 p1235 check set acl_m0 = ok: hostlist 01:01:01 p1235 check hosts = net-mysql;select * from them where id='${quote_mysql:$local_part}' -01:01:01 p1235 ╭considering: net-mysql;select * from them where id='${quote_mysql:$local_part}' -01:01:01 p1235 ├───────text: net-mysql;select * from them where id=' +01:01:01 p1235 ╭considering: net-mysql;select░*░from░them░where░id='${quote_mysql:$local_part}' +01:01:01 p1235 ├───────text: net-mysql;select░*░from░them░where░id=' 01:01:01 p1235 ├considering: ${quote_mysql:$local_part}' 01:01:01 p1235 ╭considering: $local_part}' 01:01:01 p1235 ├──────value: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├considering: }' -01:01:01 p1235 ├──expanding: $local_part +01:01:01 p1235 ├───expanded: $local_part 01:01:01 p1235 ╰─────result: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├─────op-res: c 01:01:01 p1235 ╰──(tainted, quoted:mysql) 01:01:01 p1235 ├considering: ' 01:01:01 p1235 ├───────text: ' -01:01:01 p1235 ├──expanding: net-mysql;select * from them where id='${quote_mysql:$local_part}' -01:01:01 p1235 ╰─────result: net-mysql;select * from them where id='c' +01:01:01 p1235 ├───expanded: net-mysql;select░*░from░them░where░id='${quote_mysql:$local_part}' +01:01:01 p1235 ╰─────result: net-mysql;select░*░from░them░where░id='c' 01:01:01 p1235 ╰──(tainted, quoted:mysql) 01:01:01 p1235 host in "net-mysql;select * from them where id='c'"? 01:01:01 p1235 list element: net-mysql;select * from them where id='c' @@ -594,22 +594,22 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 processing "warn" (TESTSUITE/test-config 45) 01:01:01 p1235 check set acl_m0 = FAIL4: hostlist 01:01:01 p1235 check hosts = <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}' -01:01:01 p1235 ╭considering: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}' -01:01:01 p1235 ├───────text: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id=' +01:01:01 p1235 ╭considering: <&░net-mysql;servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='${quote_mysql:$local_part}' +01:01:01 p1235 ├───────text: <&░net-mysql;servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id=' 01:01:01 p1235 ├considering: ${quote_mysql:$local_part}' 01:01:01 p1235 ╭considering: $local_part}' 01:01:01 p1235 ├──────value: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├considering: }' -01:01:01 p1235 ├──expanding: $local_part +01:01:01 p1235 ├───expanded: $local_part 01:01:01 p1235 ╰─────result: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├─────op-res: c 01:01:01 p1235 ╰──(tainted, quoted:mysql) 01:01:01 p1235 ├considering: ' 01:01:01 p1235 ├───────text: ' -01:01:01 p1235 ├──expanding: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}' -01:01:01 p1235 ╰─────result: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c' +01:01:01 p1235 ├───expanded: <&░net-mysql;servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='${quote_mysql:$local_part}' +01:01:01 p1235 ╰─────result: <&░net-mysql;servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='c' 01:01:01 p1235 ╰──(tainted, quoted:mysql) 01:01:01 p1235 host in "<& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"? 01:01:01 p1235 list element: net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c' @@ -634,22 +634,22 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 processing "warn" (TESTSUITE/test-config 50) 01:01:01 p1235 check set acl_m0 = FAIL5: hostlist 01:01:01 p1235 check hosts = <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}' -01:01:01 p1235 ╭considering: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}' -01:01:01 p1235 ├───────text: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id=' +01:01:01 p1235 ╭considering: <&░net-mysql,servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='${quote_mysql:$local_part}' +01:01:01 p1235 ├───────text: <&░net-mysql,servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id=' 01:01:01 p1235 ├considering: ${quote_mysql:$local_part}' 01:01:01 p1235 ╭considering: $local_part}' 01:01:01 p1235 ├──────value: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├considering: }' -01:01:01 p1235 ├──expanding: $local_part +01:01:01 p1235 ├───expanded: $local_part 01:01:01 p1235 ╰─────result: c 01:01:01 p1235 ╰──(tainted) 01:01:01 p1235 ├─────op-res: c 01:01:01 p1235 ╰──(tainted, quoted:mysql) 01:01:01 p1235 ├considering: ' 01:01:01 p1235 ├───────text: ' -01:01:01 p1235 ├──expanding: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}' -01:01:01 p1235 ╰─────result: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c' +01:01:01 p1235 ├───expanded: <&░net-mysql,servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='${quote_mysql:$local_part}' +01:01:01 p1235 ╰─────result: <&░net-mysql,servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='c' 01:01:01 p1235 ╰──(tainted, quoted:mysql) 01:01:01 p1235 host in "<& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"? 01:01:01 p1235 list element: net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c' @@ -684,14 +684,14 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root 01:01:01 p1235 host in "+relay_hosts"? 01:01:01 p1235 list element: +relay_hosts 01:01:01 p1235 start sublist relay_hosts -01:01:01 p1235 ╎╭considering: net-mysql;select * from them where id='$sender_host_address' -01:01:01 p1235 ╎├───────text: net-mysql;select * from them where id=' +01:01:01 p1235 ╎╭considering: net-mysql;select░*░from░them░where░id='$sender_host_address' +01:01:01 p1235 ╎├───────text: net-mysql;select░*░from░them░where░id=' 01:01:01 p1235 ╎├considering: $sender_host_address' 01:01:01 p1235 ╎├──────value: 10.0.0.0 01:01:01 p1235 ╎├considering: ' 01:01:01 p1235 ╎├───────text: ' -01:01:01 p1235 ╎├──expanding: net-mysql;select * from them where id='$sender_host_address' -01:01:01 p1235 ╎╰─────result: net-mysql;select * from them where id='10.0.0.0' +01:01:01 p1235 ╎├───expanded: net-mysql;select░*░from░them░where░id='$sender_host_address' +01:01:01 p1235 ╎╰─────result: net-mysql;select░*░from░them░where░id='10.0.0.0' 01:01:01 p1235 host in "net-mysql;select * from them where id='10.0.0.0'"? 01:01:01 p1235 ╎list element: net-mysql;select * from them where id='10.0.0.0' 01:01:01 p1235 ╎search_open: mysql "NULL" diff --git a/test/stderr/3000 b/test/stderr/3000 index 6f8b2689d..c95336931 100644 --- a/test/stderr/3000 +++ b/test/stderr/3000 @@ -13,57 +13,57 @@ try option unknown_login ╭considering: foo}{arg1}} ├───────text: foo ├considering: }{arg1}} - ├──expanding: foo + ├───expanded: foo ╰─────result: foo ╭considering: arg1}} ├───────text: arg1 ├considering: }} - ├──expanding: arg1 + ├───expanded: arg1 ╰─────result: arg1 Starting Perl interpreter - ├──expanding: ${perl{foo}{arg1}} - ╰─────result: Subroutine foo called with args: arg1 + ├───expanded: ${perl{foo}{arg1}} + ╰─────result: Subroutine░foo░called░with░args:░arg1 ╭considering: ${perl{foo_undef}} ╭considering: foo_undef}} ├───────text: foo_undef ├considering: }} - ├──expanding: foo_undef + ├───expanded: foo_undef ╰─────result: foo_undef ├failed to expand: ${perl{foo_undef}} ├───error message: Perl subroutine "foo_undef" returned undef to force failure ╰failure was forced - ╭considering: ${perl{debug_write}{debug from Perl\n}} - ╭considering: debug_write}{debug from Perl\n}} + ╭considering: ${perl{debug_write}{debug░from░Perl\n}} + ╭considering: debug_write}{debug░from░Perl\n}} ├───────text: debug_write - ├considering: }{debug from Perl\n}} - ├──expanding: debug_write + ├considering: }{debug░from░Perl\n}} + ├───expanded: debug_write ╰─────result: debug_write - ╭considering: debug from Perl\n}} - ├───────text: debug from Perl + ╭considering: debug░from░Perl\n}} + ├───────text: debug░from░Perl ├considering: \n}} ├backslashed: '\n' ├considering: }} - ├──expanding: debug from Perl\n - ╰─────result: debug from Perl + ├───expanded: debug░from░Perl\n + ╰─────result: debug░from░Perl↩ debug from Perl - ├──expanding: ${perl{debug_write}{debug from Perl\n}} - ╰─────result: Wrote debug - ╭considering: ${perl{log_write}{log from Perl}} - ╭considering: log_write}{log from Perl}} + ├───expanded: ${perl{debug_write}{debug░from░Perl\n}} + ╰─────result: Wrote░debug + ╭considering: ${perl{log_write}{log░from░Perl}} + ╭considering: log_write}{log░from░Perl}} ├───────text: log_write - ├considering: }{log from Perl}} - ├──expanding: log_write + ├considering: }{log░from░Perl}} + ├───expanded: log_write ╰─────result: log_write - ╭considering: log from Perl}} - ├───────text: log from Perl + ╭considering: log░from░Perl}} + ├───────text: log░from░Perl ├considering: }} - ├──expanding: log from Perl - ╰─────result: log from Perl + ├───expanded: log░from░Perl + ╰─────result: log░from░Perl LOG: MAIN log from Perl - ├──expanding: ${perl{log_write}{log from Perl}} - ╰─────result: Wrote log + ├───expanded: ${perl{log_write}{log░from░Perl}} + ╰─────result: Wrote░log >>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: smtp_connection MAIN SMTP connection from CALLER diff --git a/test/stderr/5410 b/test/stderr/5410 index 63a5bb096..876846e0d 100644 --- a/test/stderr/5410 +++ b/test/stderr/5410 @@ -14,18 +14,18 @@ LOG: smtp_connection MAIN try option message_size_limit try option acl_smtp_connect try option smtp_banner - ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ╭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 + ├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 + ├───────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 + ├──────value: Tue,░2░Mar░1999░09:44:33░+0000 + ├───expanded: $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 try option acl_smtp_helo list element: * in limits_advertise_hosts? yes (matched "*") @@ -42,31 +42,31 @@ try option acl_smtp_expn in tls_advertise_hosts? yes (matched "*") try option acl_smtp_mail try option acl_smtp_rcpt - ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}} + ╭considering: ${if░eq░{SERVER}{server}{queue}{cutthrough}} ╭considering: SERVER}{server}{queue}{cutthrough}} ├───────text: SERVER ├considering: }{server}{queue}{cutthrough}} - ├──expanding: SERVER + ├───expanded: SERVER ╰─────result: SERVER ╭considering: server}{queue}{cutthrough}} ├───────text: server ├considering: }{queue}{cutthrough}} - ├──expanding: server + ├───expanded: server ╰─────result: server - ├──condition: eq {SERVER}{server} + ├──condition: eq░{SERVER}{server} ├─────result: false ╭───scanning: queue}{cutthrough}} ├───────text: queue ├───scanning: }{cutthrough}} - ├──expanding: queue - ├─────result: queue + ├───expanded: queue + ├─────result: ◀skipped▶ ╰───skipping: result is not used ╭considering: cutthrough}} ├───────text: cutthrough ├considering: }} - ├──expanding: cutthrough + ├───expanded: cutthrough ╰─────result: cutthrough - ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}} + ├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}} ╰─────result: cutthrough using ACL "cutthrough" processing "accept" (TESTSUITE/test-config 22) @@ -87,7 +87,7 @@ processing address_data ╭considering: $local_part ├──────value: userx ╰──(tainted) - ├──expanding: $local_part + ├───expanded: $local_part ╰─────result: userx ╰──(tainted) domain.com in "*"? @@ -115,7 +115,7 @@ processing address_data ╭considering: $local_part ├──────value: userx ╰──(tainted) - ├──expanding: $local_part + ├───expanded: $local_part ╰─────result: userx ╰──(tainted) domain.com in "*"? @@ -132,7 +132,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option d try option helo_data ╭considering: $primary_hostname ├──────value: myhost.test.ex - ├──expanding: $primary_hostname + ├───expanded: $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) @@ -146,98 +146,98 @@ cmd buf flush ddd bytes 250-STARTTLS 250 HELP try option host_name_extract - ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} - ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭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 + ├considering: }{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: $host ╰─────result: 127.0.0.1 - ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭considering: .outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├───────text: .outlook.com - ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├considering: \$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├backslashed: '\$' - ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} - ├──expanding: .outlook.com\$ + ├considering: }}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: .outlook.com\$ ╰─────result: .outlook.com$ - ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├──────value: - ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} - ├──expanding: $item - ├─────result: + ├───scanning: }{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: $item + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}} + ╭───scanning: \N^250-([\w.]+)\s\N}}}░{$1}} ├──protected: ^250-([\w.]+)\s - ├───scanning: }}} {$1}} - ├──expanding: \N^250-([\w.]+)\s\N - ├─────result: ^250-([\w.]+)\s + ├───scanning: }}}░{$1}} + ├───expanded: \N^250-([\w.]+)\s\N + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} + ├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}} ├─────result: false ╭───scanning: $1}} ├───scanning: }} - ├──expanding: $1 - ├─────result: + ├───expanded: $1 + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├───expanded: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ╰─────result: - ╭considering: ${if eq {$address_data}{usery}{*}{:}} + ╭considering: ${if░eq░{$address_data}{usery}{*}{:}} ╭considering: $address_data}{usery}{*}{:}} ├──────value: userx ╰──(tainted) ├considering: }{usery}{*}{:}} - ├──expanding: $address_data + ├───expanded: $address_data ╰─────result: userx ╰──(tainted) ╭considering: usery}{*}{:}} ├───────text: usery ├considering: }{*}{:}} - ├──expanding: usery + ├───expanded: usery ╰─────result: usery - ├──condition: eq {$address_data}{usery} + ├──condition: eq░{$address_data}{usery} ├─────result: false ╭───scanning: *}{:}} ├───────text: * ├───scanning: }{:}} - ├──expanding: * - ├─────result: * + ├───expanded: * + ├─────result: ◀skipped▶ ╰───skipping: result is not used ╭considering: :}} ├───────text: : ├considering: }} - ├──expanding: : + ├───expanded: : ╰─────result: : - ├──expanding: ${if eq {$address_data}{usery}{*}{:}} + ├───expanded: ${if░eq░{$address_data}{usery}{*}{:}} ╰─────result: : 127.0.0.1 in hosts_avoid_tls? list element: 127.0.0.1 in hosts_avoid_tls? no (end of list) - ╭considering: ${if eq {$address_data}{userz}{*}{:}} + ╭considering: ${if░eq░{$address_data}{userz}{*}{:}} ╭considering: $address_data}{userz}{*}{:}} ├──────value: userx ╰──(tainted) ├considering: }{userz}{*}{:}} - ├──expanding: $address_data + ├───expanded: $address_data ╰─────result: userx ╰──(tainted) ╭considering: userz}{*}{:}} ├───────text: userz ├considering: }{*}{:}} - ├──expanding: userz + ├───expanded: userz ╰─────result: userz - ├──condition: eq {$address_data}{userz} + ├──condition: eq░{$address_data}{userz} ├─────result: false ╭───scanning: *}{:}} ├───────text: * ├───scanning: }{:}} - ├──expanding: * - ├─────result: * + ├───expanded: * + ├─────result: ◀skipped▶ ╰───skipping: result is not used ╭considering: :}} ├───────text: : ├considering: }} - ├──expanding: : + ├───expanded: : ╰─────result: : - ├──expanding: ${if eq {$address_data}{userz}{*}{:}} + ├───expanded: ${if░eq░{$address_data}{userz}{*}{:}} ╰─────result: : 127.0.0.1 in hosts_verify_avoid_tls? list element: @@ -284,355 +284,353 @@ end of inline ACL: ACCEPT try option message_id_header_domain try option message_id_header_text ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 try option received_header_text - ╭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}} + ╭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: 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}} ├──────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 - }}(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}} + ├───────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 + ├───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}} + ├───expanded: from░$sender_rcvhost↩ + ├─────result: ◀skipped▶ ╰───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}} + ╭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: 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}} ╎├──────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) - ╎ ${if def:sender_address {(envelope-from <$sender_address>) - ╎ }}id $message_exim_id${if def:received_for { - ╎ for $received_for}} - ╎├──expanding: $sender_ident + ╎├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}} + ╎├───expanded: $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}} + ├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}} + ├───expanded: 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}} + ╭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: $sender_helo_name)↩ + }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: myhost.test.ex ╰──(tainted) - ├considering: ) - }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${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}} + ├───────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) + ├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}} + ├───expanded: (helo=$sender_helo_name)↩ - ╰─────result: (helo=myhost.test.ex) + ╰─────result: (helo=myhost.test.ex)↩ ╰──(tainted) - ├───item-res: (helo=myhost.test.ex) + ├───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) + ├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}} + ├───expanded: ${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) + ╰─────result: from░CALLER░(helo=myhost.test.ex)↩ ╰──(tainted) - ├───item-res: from CALLER (helo=myhost.test.ex) + ├───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: 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}} ├──────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>) - }}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}} + ├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: 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}} ├──────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>) - }}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 + ├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}} + ├───expanded: with░$received_protocol░ + ╰─────result: with░local-esmtp░ + ├───item-res: with░local-esmtp░ ╰──(tainted) - ├considering: ${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_in_ver) - ├─────result: () + ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: ░($tls_in_ver) + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: ╰──(tainted) - ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} + ├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: ░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}} ├──────value: - ├───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 + ├───scanning: ↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: ↩ - ├─────result: tls + ├───scanning: }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: ░tls░$tls_in_cipher_std↩ + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: ╰──(tainted) - ├considering: (Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - 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: (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}} ├──────value: x.yz - ├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}} + ├───────text: )↩ - ├considering: ${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}} ├──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: (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}} ├──────value: CALLER@myhost.test.ex - ├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}} + ├───────text: >)↩ - ├considering: }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: (envelope-from <$sender_address>) + ├considering: }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: (envelope-from░<$sender_address>)↩ - ╰─────result: (envelope-from ) + ╰─────result: (envelope-from░)↩ - ├───item-res: (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: id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: id░ + ├considering: $message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: 10HmaX-000000005vi-0000 - ├considering: ${if def:received_for { - for $received_for}} + ├considering: ${if░def:received_for░{↩ + for░$received_for}} ├──condition: def:received_for ├─────result: true - ╭considering: - for $received_for}} - ├───────text: - for + ╭considering: ↩ + for░$received_for}} + ├───────text: ↩ + for░ ├considering: $received_for}} ├──────value: userx@domain.com ╰──(tainted) ├considering: }} - ├──expanding: - for $received_for - ╰─────result: - for userx@domain.com + ├───expanded: ↩ + for░$received_for + ╰─────result: ↩ + for░userx@domain.com ╰──(tainted) - ├───item-res: - for userx@domain.com + ├───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-000000005vi-0000 - for userx@domain.com + ├───expanded: 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-000000005vi-0000↩ + for░userx@domain.com ╰──(tainted) ----------- start cutthrough headers send ----------- ----------- done cutthrough headers send ------------ @@ -640,8 +638,8 @@ try option acl_smtp_dkim try option acl_smtp_mime try option acl_smtp_data ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 SMTP>> . SMTP<< 250 OK id=10HmaY-000000005vi-0000 LOG: MAIN @@ -675,18 +673,18 @@ LOG: smtp_connection MAIN try option message_size_limit try option acl_smtp_connect try option smtp_banner - ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ╭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 + ├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 + ├───────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 + ├──────value: Tue,░2░Mar░1999░09:44:33░+0000 + ├───expanded: $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 try option acl_smtp_helo list element: * in limits_advertise_hosts? yes (matched "*") @@ -703,31 +701,31 @@ try option acl_smtp_expn in tls_advertise_hosts? yes (matched "*") try option acl_smtp_mail try option acl_smtp_rcpt - ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}} + ╭considering: ${if░eq░{SERVER}{server}{queue}{cutthrough}} ╭considering: SERVER}{server}{queue}{cutthrough}} ├───────text: SERVER ├considering: }{server}{queue}{cutthrough}} - ├──expanding: SERVER + ├───expanded: SERVER ╰─────result: SERVER ╭considering: server}{queue}{cutthrough}} ├───────text: server ├considering: }{queue}{cutthrough}} - ├──expanding: server + ├───expanded: server ╰─────result: server - ├──condition: eq {SERVER}{server} + ├──condition: eq░{SERVER}{server} ├─────result: false ╭───scanning: queue}{cutthrough}} ├───────text: queue ├───scanning: }{cutthrough}} - ├──expanding: queue - ├─────result: queue + ├───expanded: queue + ├─────result: ◀skipped▶ ╰───skipping: result is not used ╭considering: cutthrough}} ├───────text: cutthrough ├considering: }} - ├──expanding: cutthrough + ├───expanded: cutthrough ╰─────result: cutthrough - ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}} + ├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}} ╰─────result: cutthrough using ACL "cutthrough" processing "accept" (TESTSUITE/test-config 22) @@ -748,7 +746,7 @@ processing address_data ╭considering: $local_part ├──────value: usery ╰──(tainted) - ├──expanding: $local_part + ├───expanded: $local_part ╰─────result: usery ╰──(tainted) domain.com in "*"? @@ -776,7 +774,7 @@ processing address_data ╭considering: $local_part ├──────value: usery ╰──(tainted) - ├──expanding: $local_part + ├───expanded: $local_part ╰─────result: usery ╰──(tainted) domain.com in "*"? @@ -793,7 +791,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option d try option helo_data ╭considering: $primary_hostname ├──────value: myhost.test.ex - ├──expanding: $primary_hostname + ├───expanded: $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) @@ -807,67 +805,67 @@ cmd buf flush ddd bytes 250-STARTTLS 250 HELP try option host_name_extract - ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} - ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭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 + ├considering: }{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: $host ╰─────result: 127.0.0.1 - ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭considering: .outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├───────text: .outlook.com - ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├considering: \$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├backslashed: '\$' - ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} - ├──expanding: .outlook.com\$ + ├considering: }}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: .outlook.com\$ ╰─────result: .outlook.com$ - ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├──────value: - ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} - ├──expanding: $item - ├─────result: + ├───scanning: }{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: $item + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}} + ╭───scanning: \N^250-([\w.]+)\s\N}}}░{$1}} ├──protected: ^250-([\w.]+)\s - ├───scanning: }}} {$1}} - ├──expanding: \N^250-([\w.]+)\s\N - ├─────result: ^250-([\w.]+)\s + ├───scanning: }}}░{$1}} + ├───expanded: \N^250-([\w.]+)\s\N + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} + ├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}} ├─────result: false ╭───scanning: $1}} ├───scanning: }} - ├──expanding: $1 - ├─────result: + ├───expanded: $1 + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├───expanded: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ╰─────result: - ╭considering: ${if eq {$address_data}{usery}{*}{:}} + ╭considering: ${if░eq░{$address_data}{usery}{*}{:}} ╭considering: $address_data}{usery}{*}{:}} ├──────value: usery ╰──(tainted) ├considering: }{usery}{*}{:}} - ├──expanding: $address_data + ├───expanded: $address_data ╰─────result: usery ╰──(tainted) ╭considering: usery}{*}{:}} ├───────text: usery ├considering: }{*}{:}} - ├──expanding: usery + ├───expanded: usery ╰─────result: usery - ├──condition: eq {$address_data}{usery} + ├──condition: eq░{$address_data}{usery} ├─────result: true ╭considering: *}{:}} ├───────text: * ├considering: }{:}} - ├──expanding: * + ├───expanded: * ╰─────result: * ╭───scanning: :}} ├───────text: : ├───scanning: }} - ├──expanding: : - ├─────result: : + ├───expanded: : + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──expanding: ${if eq {$address_data}{usery}{*}{:}} + ├───expanded: ${if░eq░{$address_data}{usery}{*}{:}} ╰─────result: * 127.0.0.1 in hosts_avoid_tls? list element: * @@ -895,355 +893,353 @@ end of inline ACL: ACCEPT try option message_id_header_domain try option message_id_header_text ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 try option received_header_text - ╭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}} + ╭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: 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}} ├──────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 - }}(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}} + ├───────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 + ├───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}} + ├───expanded: from░$sender_rcvhost↩ + ├─────result: ◀skipped▶ ╰───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}} + ╭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: 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}} ╎├──────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) - ╎ ${if def:sender_address {(envelope-from <$sender_address>) - ╎ }}id $message_exim_id${if def:received_for { - ╎ for $received_for}} - ╎├──expanding: $sender_ident + ╎├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}} + ╎├───expanded: $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}} + ├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}} + ├───expanded: 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}} + ╭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: $sender_helo_name)↩ + }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: myhost.test.ex ╰──(tainted) - ├considering: ) - }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${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}} + ├───────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) + ├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}} + ├───expanded: (helo=$sender_helo_name)↩ - ╰─────result: (helo=myhost.test.ex) + ╰─────result: (helo=myhost.test.ex)↩ ╰──(tainted) - ├───item-res: (helo=myhost.test.ex) + ├───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) + ├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}} + ├───expanded: ${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) + ╰─────result: from░CALLER░(helo=myhost.test.ex)↩ ╰──(tainted) - ├───item-res: from CALLER (helo=myhost.test.ex) + ├───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: 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}} ├──────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>) - }}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}} + ├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: 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}} ├──────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>) - }}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 + ├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}} + ├───expanded: with░$received_protocol░ + ╰─────result: with░local-esmtp░ + ├───item-res: with░local-esmtp░ ╰──(tainted) - ├considering: ${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_in_ver) - ├─────result: () + ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: ░($tls_in_ver) + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: ╰──(tainted) - ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} + ├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: ░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}} ├──────value: - ├───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 + ├───scanning: ↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: ↩ - ├─────result: tls + ├───scanning: }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: ░tls░$tls_in_cipher_std↩ + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: ╰──(tainted) - ├considering: (Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - 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: (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}} ├──────value: x.yz - ├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}} + ├───────text: )↩ - ├considering: ${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}} ├──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: (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}} ├──────value: CALLER@myhost.test.ex - ├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}} + ├───────text: >)↩ - ├considering: }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: (envelope-from <$sender_address>) + ├considering: }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: (envelope-from░<$sender_address>)↩ - ╰─────result: (envelope-from ) + ╰─────result: (envelope-from░)↩ - ├───item-res: (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: id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: id░ + ├considering: $message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: 10HmaZ-000000005vi-0000 - ├considering: ${if def:received_for { - for $received_for}} + ├considering: ${if░def:received_for░{↩ + for░$received_for}} ├──condition: def:received_for ├─────result: true - ╭considering: - for $received_for}} - ├───────text: - for + ╭considering: ↩ + for░$received_for}} + ├───────text: ↩ + for░ ├considering: $received_for}} ├──────value: usery@domain.com ╰──(tainted) ├considering: }} - ├──expanding: - for $received_for - ╰─────result: - for usery@domain.com + ├───expanded: ↩ + for░$received_for + ╰─────result: ↩ + for░usery@domain.com ╰──(tainted) - ├───item-res: - for usery@domain.com + ├───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-000000005vi-0000 - for usery@domain.com + ├───expanded: 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-000000005vi-0000↩ + for░usery@domain.com ╰──(tainted) ----------- start cutthrough headers send ----------- ----------- done cutthrough headers send ------------ @@ -1251,8 +1247,8 @@ try option acl_smtp_dkim try option acl_smtp_mime try option acl_smtp_data ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 SMTP>> . SMTP<< 250 OK id=10HmbA-000000005vi-0000 LOG: MAIN @@ -1286,18 +1282,18 @@ LOG: smtp_connection MAIN try option message_size_limit try option acl_smtp_connect try option smtp_banner - ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ╭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 + ├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 + ├───────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 + ├──────value: Tue,░2░Mar░1999░09:44:33░+0000 + ├───expanded: $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 try option acl_smtp_helo list element: * in limits_advertise_hosts? yes (matched "*") @@ -1314,31 +1310,31 @@ try option acl_smtp_expn in tls_advertise_hosts? yes (matched "*") try option acl_smtp_mail try option acl_smtp_rcpt - ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}} + ╭considering: ${if░eq░{SERVER}{server}{queue}{cutthrough}} ╭considering: SERVER}{server}{queue}{cutthrough}} ├───────text: SERVER ├considering: }{server}{queue}{cutthrough}} - ├──expanding: SERVER + ├───expanded: SERVER ╰─────result: SERVER ╭considering: server}{queue}{cutthrough}} ├───────text: server ├considering: }{queue}{cutthrough}} - ├──expanding: server + ├───expanded: server ╰─────result: server - ├──condition: eq {SERVER}{server} + ├──condition: eq░{SERVER}{server} ├─────result: false ╭───scanning: queue}{cutthrough}} ├───────text: queue ├───scanning: }{cutthrough}} - ├──expanding: queue - ├─────result: queue + ├───expanded: queue + ├─────result: ◀skipped▶ ╰───skipping: result is not used ╭considering: cutthrough}} ├───────text: cutthrough ├considering: }} - ├──expanding: cutthrough + ├───expanded: cutthrough ╰─────result: cutthrough - ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}} + ├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}} ╰─────result: cutthrough using ACL "cutthrough" processing "accept" (TESTSUITE/test-config 22) @@ -1359,7 +1355,7 @@ processing address_data ╭considering: $local_part ├──────value: usery ╰──(tainted) - ├──expanding: $local_part + ├───expanded: $local_part ╰─────result: usery ╰──(tainted) domain.com in "*"? @@ -1387,7 +1383,7 @@ processing address_data ╭considering: $local_part ├──────value: usery ╰──(tainted) - ├──expanding: $local_part + ├───expanded: $local_part ╰─────result: usery ╰──(tainted) domain.com in "*"? @@ -1404,7 +1400,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option d try option helo_data ╭considering: $primary_hostname ├──────value: myhost.test.ex - ├──expanding: $primary_hostname + ├───expanded: $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) @@ -1418,67 +1414,67 @@ cmd buf flush ddd bytes 250-STARTTLS 250 HELP try option host_name_extract - ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} - ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭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 + ├considering: }{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: $host ╰─────result: 127.0.0.1 - ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭considering: .outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├───────text: .outlook.com - ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├considering: \$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├backslashed: '\$' - ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} - ├──expanding: .outlook.com\$ + ├considering: }}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: .outlook.com\$ ╰─────result: .outlook.com$ - ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├──────value: - ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} - ├──expanding: $item - ├─────result: + ├───scanning: }{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: $item + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}} + ╭───scanning: \N^250-([\w.]+)\s\N}}}░{$1}} ├──protected: ^250-([\w.]+)\s - ├───scanning: }}} {$1}} - ├──expanding: \N^250-([\w.]+)\s\N - ├─────result: ^250-([\w.]+)\s + ├───scanning: }}}░{$1}} + ├───expanded: \N^250-([\w.]+)\s\N + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} + ├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}} ├─────result: false ╭───scanning: $1}} ├───scanning: }} - ├──expanding: $1 - ├─────result: + ├───expanded: $1 + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├───expanded: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ╰─────result: - ╭considering: ${if eq {$address_data}{usery}{*}{:}} + ╭considering: ${if░eq░{$address_data}{usery}{*}{:}} ╭considering: $address_data}{usery}{*}{:}} ├──────value: usery ╰──(tainted) ├considering: }{usery}{*}{:}} - ├──expanding: $address_data + ├───expanded: $address_data ╰─────result: usery ╰──(tainted) ╭considering: usery}{*}{:}} ├───────text: usery ├considering: }{*}{:}} - ├──expanding: usery + ├───expanded: usery ╰─────result: usery - ├──condition: eq {$address_data}{usery} + ├──condition: eq░{$address_data}{usery} ├─────result: true ╭considering: *}{:}} ├───────text: * ├considering: }{:}} - ├──expanding: * + ├───expanded: * ╰─────result: * ╭───scanning: :}} ├───────text: : ├───scanning: }} - ├──expanding: : - ├─────result: : + ├───expanded: : + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──expanding: ${if eq {$address_data}{usery}{*}{:}} + ├───expanded: ${if░eq░{$address_data}{usery}{*}{:}} ╰─────result: * 127.0.0.1 in hosts_avoid_tls? list element: * @@ -1506,355 +1502,353 @@ end of inline ACL: ACCEPT try option message_id_header_domain try option message_id_header_text ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 try option received_header_text - ╭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}} + ╭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: 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}} ├──────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 - }}(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 + ├───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: ↩ - ├─────result: from + ├───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}} + ├───expanded: from░$sender_rcvhost↩ + ├─────result: ◀skipped▶ ╰───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}} + ╭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: 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}} ╎├──────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) - ╎ ${if def:sender_address {(envelope-from <$sender_address>) - ╎ }}id $message_exim_id${if def:received_for { - ╎ for $received_for}} - ╎├──expanding: $sender_ident + ╎├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}} + ╎├───expanded: $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}} + ├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}} + ├───expanded: 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}} + ╭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: $sender_helo_name)↩ + }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: myhost.test.ex ╰──(tainted) - ├considering: ) - }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${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}} + ├───────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) + ├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}} + ├───expanded: (helo=$sender_helo_name)↩ - ╰─────result: (helo=myhost.test.ex) + ╰─────result: (helo=myhost.test.ex)↩ ╰──(tainted) - ├───item-res: (helo=myhost.test.ex) + ├───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) + ├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}} + ├───expanded: ${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) + ╰─────result: from░CALLER░(helo=myhost.test.ex)↩ ╰──(tainted) - ├───item-res: from CALLER (helo=myhost.test.ex) + ├───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: 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}} ├──────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>) - }}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}} + ├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: 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}} ├──────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>) - }}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 + ├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}} + ├───expanded: with░$received_protocol░ + ╰─────result: with░local-esmtp░ + ├───item-res: with░local-esmtp░ ╰──(tainted) - ├considering: ${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_in_ver) - ├─────result: () + ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: ░($tls_in_ver) + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: ╰──(tainted) - ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} + ├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: ░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}} ├──────value: - ├───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}} + ├───────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 + ├───scanning: }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: ░tls░$tls_in_cipher_std↩ + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: ╰──(tainted) - ├considering: (Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - 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: (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}} ├──────value: x.yz - ├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}} + ├───────text: )↩ - ├considering: ${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}} ├──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: (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}} ├──────value: CALLER@myhost.test.ex - ├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}} + ├───────text: >)↩ - ├considering: }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: (envelope-from <$sender_address>) + ├considering: }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: (envelope-from░<$sender_address>)↩ - ╰─────result: (envelope-from ) + ╰─────result: (envelope-from░)↩ - ├───item-res: (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: id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: id░ + ├considering: $message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: 10HmbB-000000005vi-0000 - ├considering: ${if def:received_for { - for $received_for}} + ├considering: ${if░def:received_for░{↩ + for░$received_for}} ├──condition: def:received_for ├─────result: true - ╭considering: - for $received_for}} - ├───────text: - for + ╭considering: ↩ + for░$received_for}} + ├───────text: ↩ + for░ ├considering: $received_for}} ├──────value: usery@domain.com ╰──(tainted) ├considering: }} - ├──expanding: - for $received_for - ╰─────result: - for usery@domain.com + ├───expanded: ↩ + for░$received_for + ╰─────result: ↩ + for░usery@domain.com ╰──(tainted) - ├───item-res: - for usery@domain.com + ├───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-000000005vi-0000 - for usery@domain.com + ├───expanded: 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-000000005vi-0000↩ + for░usery@domain.com ╰──(tainted) ----------- start cutthrough headers send ----------- ----------- done cutthrough headers send ------------ @@ -1862,8 +1856,8 @@ try option acl_smtp_dkim try option acl_smtp_mime try option acl_smtp_data ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 SMTP>> . SMTP<< 250 OK id=10HmbC-000000005vi-0000 LOG: MAIN diff --git a/test/stderr/5420 b/test/stderr/5420 index e6eb222d7..3ee112b8c 100644 --- a/test/stderr/5420 +++ b/test/stderr/5420 @@ -14,18 +14,18 @@ LOG: smtp_connection MAIN try option message_size_limit try option acl_smtp_connect try option smtp_banner - ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ╭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 + ├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 + ├───────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 + ├──────value: Tue,░2░Mar░1999░09:44:33░+0000 + ├───expanded: $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 try option acl_smtp_helo list element: * in limits_advertise_hosts? yes (matched "*") @@ -42,31 +42,31 @@ try option acl_smtp_expn in tls_advertise_hosts? yes (matched "*") try option acl_smtp_mail try option acl_smtp_rcpt - ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}} + ╭considering: ${if░eq░{SERVER}{server}{queue}{cutthrough}} ╭considering: SERVER}{server}{queue}{cutthrough}} ├───────text: SERVER ├considering: }{server}{queue}{cutthrough}} - ├──expanding: SERVER + ├───expanded: SERVER ╰─────result: SERVER ╭considering: server}{queue}{cutthrough}} ├───────text: server ├considering: }{queue}{cutthrough}} - ├──expanding: server + ├───expanded: server ╰─────result: server - ├──condition: eq {SERVER}{server} + ├──condition: eq░{SERVER}{server} ├─────result: false ╭───scanning: queue}{cutthrough}} ├───────text: queue ├───scanning: }{cutthrough}} - ├──expanding: queue - ├─────result: queue + ├───expanded: queue + ├─────result: ◀skipped▶ ╰───skipping: result is not used ╭considering: cutthrough}} ├───────text: cutthrough ├considering: }} - ├──expanding: cutthrough + ├───expanded: cutthrough ╰─────result: cutthrough - ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}} + ├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}} ╰─────result: cutthrough using ACL "cutthrough" processing "accept" (TESTSUITE/test-config 22) @@ -87,7 +87,7 @@ processing address_data ╭considering: $local_part ├──────value: userx ╰──(tainted) - ├──expanding: $local_part + ├───expanded: $local_part ╰─────result: userx ╰──(tainted) domain.com in "*"? @@ -115,7 +115,7 @@ processing address_data ╭considering: $local_part ├──────value: userx ╰──(tainted) - ├──expanding: $local_part + ├───expanded: $local_part ╰─────result: userx ╰──(tainted) domain.com in "*"? @@ -132,7 +132,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option d try option helo_data ╭considering: $primary_hostname ├──────value: myhost.test.ex - ├──expanding: $primary_hostname + ├───expanded: $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) @@ -146,98 +146,98 @@ cmd buf flush ddd bytes 250-STARTTLS 250 HELP try option host_name_extract - ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} - ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭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 + ├considering: }{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: $host ╰─────result: 127.0.0.1 - ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭considering: .outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├───────text: .outlook.com - ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├considering: \$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├backslashed: '\$' - ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} - ├──expanding: .outlook.com\$ + ├considering: }}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: .outlook.com\$ ╰─────result: .outlook.com$ - ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├──────value: - ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} - ├──expanding: $item - ├─────result: + ├───scanning: }{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: $item + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}} + ╭───scanning: \N^250-([\w.]+)\s\N}}}░{$1}} ├──protected: ^250-([\w.]+)\s - ├───scanning: }}} {$1}} - ├──expanding: \N^250-([\w.]+)\s\N - ├─────result: ^250-([\w.]+)\s + ├───scanning: }}}░{$1}} + ├───expanded: \N^250-([\w.]+)\s\N + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} + ├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}} ├─────result: false ╭───scanning: $1}} ├───scanning: }} - ├──expanding: $1 - ├─────result: + ├───expanded: $1 + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├───expanded: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ╰─────result: - ╭considering: ${if eq {$address_data}{usery}{*}{:}} + ╭considering: ${if░eq░{$address_data}{usery}{*}{:}} ╭considering: $address_data}{usery}{*}{:}} ├──────value: userx ╰──(tainted) ├considering: }{usery}{*}{:}} - ├──expanding: $address_data + ├───expanded: $address_data ╰─────result: userx ╰──(tainted) ╭considering: usery}{*}{:}} ├───────text: usery ├considering: }{*}{:}} - ├──expanding: usery + ├───expanded: usery ╰─────result: usery - ├──condition: eq {$address_data}{usery} + ├──condition: eq░{$address_data}{usery} ├─────result: false ╭───scanning: *}{:}} ├───────text: * ├───scanning: }{:}} - ├──expanding: * - ├─────result: * + ├───expanded: * + ├─────result: ◀skipped▶ ╰───skipping: result is not used ╭considering: :}} ├───────text: : ├considering: }} - ├──expanding: : + ├───expanded: : ╰─────result: : - ├──expanding: ${if eq {$address_data}{usery}{*}{:}} + ├───expanded: ${if░eq░{$address_data}{usery}{*}{:}} ╰─────result: : 127.0.0.1 in hosts_avoid_tls? list element: 127.0.0.1 in hosts_avoid_tls? no (end of list) - ╭considering: ${if eq {$address_data}{userz}{*}{:}} + ╭considering: ${if░eq░{$address_data}{userz}{*}{:}} ╭considering: $address_data}{userz}{*}{:}} ├──────value: userx ╰──(tainted) ├considering: }{userz}{*}{:}} - ├──expanding: $address_data + ├───expanded: $address_data ╰─────result: userx ╰──(tainted) ╭considering: userz}{*}{:}} ├───────text: userz ├considering: }{*}{:}} - ├──expanding: userz + ├───expanded: userz ╰─────result: userz - ├──condition: eq {$address_data}{userz} + ├──condition: eq░{$address_data}{userz} ├─────result: false ╭───scanning: *}{:}} ├───────text: * ├───scanning: }{:}} - ├──expanding: * - ├─────result: * + ├───expanded: * + ├─────result: ◀skipped▶ ╰───skipping: result is not used ╭considering: :}} ├───────text: : ├considering: }} - ├──expanding: : + ├───expanded: : ╰─────result: : - ├──expanding: ${if eq {$address_data}{userz}{*}{:}} + ├───expanded: ${if░eq░{$address_data}{userz}{*}{:}} ╰─────result: : 127.0.0.1 in hosts_verify_avoid_tls? list element: @@ -284,355 +284,353 @@ end of inline ACL: ACCEPT try option message_id_header_domain try option message_id_header_text ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 try option received_header_text - ╭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}} + ╭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: 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}} ├──────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 - }}(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}} + ├───────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 + ├───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}} + ├───expanded: from░$sender_rcvhost↩ + ├─────result: ◀skipped▶ ╰───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}} + ╭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: 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}} ╎├──────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) - ╎ ${if def:sender_address {(envelope-from <$sender_address>) - ╎ }}id $message_exim_id${if def:received_for { - ╎ for $received_for}} - ╎├──expanding: $sender_ident + ╎├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}} + ╎├───expanded: $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}} + ├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}} + ├───expanded: 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}} + ╭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: $sender_helo_name)↩ + }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: myhost.test.ex ╰──(tainted) - ├considering: ) - }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${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}} + ├───────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) + ├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}} + ├───expanded: (helo=$sender_helo_name)↩ - ╰─────result: (helo=myhost.test.ex) + ╰─────result: (helo=myhost.test.ex)↩ ╰──(tainted) - ├───item-res: (helo=myhost.test.ex) + ├───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) + ├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}} + ├───expanded: ${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) + ╰─────result: from░CALLER░(helo=myhost.test.ex)↩ ╰──(tainted) - ├───item-res: from CALLER (helo=myhost.test.ex) + ├───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: 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}} ├──────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>) - }}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}} + ├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: 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}} ├──────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>) - }}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 + ├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}} + ├───expanded: with░$received_protocol░ + ╰─────result: with░local-esmtp░ + ├───item-res: with░local-esmtp░ ╰──(tainted) - ├considering: ${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_in_ver) - ├─────result: () + ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: ░($tls_in_ver) + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: ╰──(tainted) - ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} + ├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: ░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}} ├──────value: - ├───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 + ├───scanning: ↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: ↩ - ├─────result: tls + ├───scanning: }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: ░tls░$tls_in_cipher_std↩ + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: ╰──(tainted) - ├considering: (Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - 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: (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}} ├──────value: x.yz - ├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}} + ├───────text: )↩ - ├considering: ${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}} ├──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: (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}} ├──────value: CALLER@myhost.test.ex - ├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}} + ├───────text: >)↩ - ├considering: }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: (envelope-from <$sender_address>) + ├considering: }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: (envelope-from░<$sender_address>)↩ - ╰─────result: (envelope-from ) + ╰─────result: (envelope-from░)↩ - ├───item-res: (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: id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: id░ + ├considering: $message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: 10HmaX-000000005vi-0000 - ├considering: ${if def:received_for { - for $received_for}} + ├considering: ${if░def:received_for░{↩ + for░$received_for}} ├──condition: def:received_for ├─────result: true - ╭considering: - for $received_for}} - ├───────text: - for + ╭considering: ↩ + for░$received_for}} + ├───────text: ↩ + for░ ├considering: $received_for}} ├──────value: userx@domain.com ╰──(tainted) ├considering: }} - ├──expanding: - for $received_for - ╰─────result: - for userx@domain.com + ├───expanded: ↩ + for░$received_for + ╰─────result: ↩ + for░userx@domain.com ╰──(tainted) - ├───item-res: - for userx@domain.com + ├───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-000000005vi-0000 - for userx@domain.com + ├───expanded: 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-000000005vi-0000↩ + for░userx@domain.com ╰──(tainted) ----------- start cutthrough headers send ----------- ----------- done cutthrough headers send ------------ @@ -640,8 +638,8 @@ try option acl_smtp_dkim try option acl_smtp_mime try option acl_smtp_data ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 SMTP>> . SMTP<< 250 OK id=10HmaY-000000005vi-0000 LOG: MAIN @@ -675,18 +673,18 @@ LOG: smtp_connection MAIN try option message_size_limit try option acl_smtp_connect try option smtp_banner - ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ╭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 + ├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 + ├───────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 + ├──────value: Tue,░2░Mar░1999░09:44:33░+0000 + ├───expanded: $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 try option acl_smtp_helo list element: * in limits_advertise_hosts? yes (matched "*") @@ -703,31 +701,31 @@ try option acl_smtp_expn in tls_advertise_hosts? yes (matched "*") try option acl_smtp_mail try option acl_smtp_rcpt - ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}} + ╭considering: ${if░eq░{SERVER}{server}{queue}{cutthrough}} ╭considering: SERVER}{server}{queue}{cutthrough}} ├───────text: SERVER ├considering: }{server}{queue}{cutthrough}} - ├──expanding: SERVER + ├───expanded: SERVER ╰─────result: SERVER ╭considering: server}{queue}{cutthrough}} ├───────text: server ├considering: }{queue}{cutthrough}} - ├──expanding: server + ├───expanded: server ╰─────result: server - ├──condition: eq {SERVER}{server} + ├──condition: eq░{SERVER}{server} ├─────result: false ╭───scanning: queue}{cutthrough}} ├───────text: queue ├───scanning: }{cutthrough}} - ├──expanding: queue - ├─────result: queue + ├───expanded: queue + ├─────result: ◀skipped▶ ╰───skipping: result is not used ╭considering: cutthrough}} ├───────text: cutthrough ├considering: }} - ├──expanding: cutthrough + ├───expanded: cutthrough ╰─────result: cutthrough - ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}} + ├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}} ╰─────result: cutthrough using ACL "cutthrough" processing "accept" (TESTSUITE/test-config 22) @@ -748,7 +746,7 @@ processing address_data ╭considering: $local_part ├──────value: usery ╰──(tainted) - ├──expanding: $local_part + ├───expanded: $local_part ╰─────result: usery ╰──(tainted) domain.com in "*"? @@ -776,7 +774,7 @@ processing address_data ╭considering: $local_part ├──────value: usery ╰──(tainted) - ├──expanding: $local_part + ├───expanded: $local_part ╰─────result: usery ╰──(tainted) domain.com in "*"? @@ -793,7 +791,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option d try option helo_data ╭considering: $primary_hostname ├──────value: myhost.test.ex - ├──expanding: $primary_hostname + ├───expanded: $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) @@ -807,67 +805,67 @@ cmd buf flush ddd bytes 250-STARTTLS 250 HELP try option host_name_extract - ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} - ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭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 + ├considering: }{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: $host ╰─────result: 127.0.0.1 - ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭considering: .outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├───────text: .outlook.com - ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├considering: \$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├backslashed: '\$' - ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} - ├──expanding: .outlook.com\$ + ├considering: }}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: .outlook.com\$ ╰─────result: .outlook.com$ - ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├──────value: - ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} - ├──expanding: $item - ├─────result: + ├───scanning: }{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: $item + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}} + ╭───scanning: \N^250-([\w.]+)\s\N}}}░{$1}} ├──protected: ^250-([\w.]+)\s - ├───scanning: }}} {$1}} - ├──expanding: \N^250-([\w.]+)\s\N - ├─────result: ^250-([\w.]+)\s + ├───scanning: }}}░{$1}} + ├───expanded: \N^250-([\w.]+)\s\N + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} + ├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}} ├─────result: false ╭───scanning: $1}} ├───scanning: }} - ├──expanding: $1 - ├─────result: + ├───expanded: $1 + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├───expanded: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ╰─────result: - ╭considering: ${if eq {$address_data}{usery}{*}{:}} + ╭considering: ${if░eq░{$address_data}{usery}{*}{:}} ╭considering: $address_data}{usery}{*}{:}} ├──────value: usery ╰──(tainted) ├considering: }{usery}{*}{:}} - ├──expanding: $address_data + ├───expanded: $address_data ╰─────result: usery ╰──(tainted) ╭considering: usery}{*}{:}} ├───────text: usery ├considering: }{*}{:}} - ├──expanding: usery + ├───expanded: usery ╰─────result: usery - ├──condition: eq {$address_data}{usery} + ├──condition: eq░{$address_data}{usery} ├─────result: true ╭considering: *}{:}} ├───────text: * ├considering: }{:}} - ├──expanding: * + ├───expanded: * ╰─────result: * ╭───scanning: :}} ├───────text: : ├───scanning: }} - ├──expanding: : - ├─────result: : + ├───expanded: : + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──expanding: ${if eq {$address_data}{usery}{*}{:}} + ├───expanded: ${if░eq░{$address_data}{usery}{*}{:}} ╰─────result: * 127.0.0.1 in hosts_avoid_tls? list element: * @@ -895,355 +893,353 @@ end of inline ACL: ACCEPT try option message_id_header_domain try option message_id_header_text ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 try option received_header_text - ╭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}} + ╭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: 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}} ├──────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 - }}(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}} + ├───────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 + ├───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}} + ├───expanded: from░$sender_rcvhost↩ + ├─────result: ◀skipped▶ ╰───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}} + ╭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: 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}} ╎├──────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) - ╎ ${if def:sender_address {(envelope-from <$sender_address>) - ╎ }}id $message_exim_id${if def:received_for { - ╎ for $received_for}} - ╎├──expanding: $sender_ident + ╎├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}} + ╎├───expanded: $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}} + ├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}} + ├───expanded: 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}} + ╭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: $sender_helo_name)↩ + }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: myhost.test.ex ╰──(tainted) - ├considering: ) - }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${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}} + ├───────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) + ├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}} + ├───expanded: (helo=$sender_helo_name)↩ - ╰─────result: (helo=myhost.test.ex) + ╰─────result: (helo=myhost.test.ex)↩ ╰──(tainted) - ├───item-res: (helo=myhost.test.ex) + ├───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) + ├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}} + ├───expanded: ${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) + ╰─────result: from░CALLER░(helo=myhost.test.ex)↩ ╰──(tainted) - ├───item-res: from CALLER (helo=myhost.test.ex) + ├───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: 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}} ├──────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>) - }}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}} + ├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: 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}} ├──────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>) - }}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 + ├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}} + ├───expanded: with░$received_protocol░ + ╰─────result: with░local-esmtp░ + ├───item-res: with░local-esmtp░ ╰──(tainted) - ├considering: ${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_in_ver) - ├─────result: () + ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: ░($tls_in_ver) + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: ╰──(tainted) - ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} + ├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: ░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}} ├──────value: - ├───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 + ├───scanning: ↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: ↩ - ├─────result: tls + ├───scanning: }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: ░tls░$tls_in_cipher_std↩ + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: ╰──(tainted) - ├considering: (Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - 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: (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}} ├──────value: x.yz - ├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}} + ├───────text: )↩ - ├considering: ${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}} ├──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: (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}} ├──────value: CALLER@myhost.test.ex - ├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}} + ├───────text: >)↩ - ├considering: }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: (envelope-from <$sender_address>) + ├considering: }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: (envelope-from░<$sender_address>)↩ - ╰─────result: (envelope-from ) + ╰─────result: (envelope-from░)↩ - ├───item-res: (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: id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: id░ + ├considering: $message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: 10HmaZ-000000005vi-0000 - ├considering: ${if def:received_for { - for $received_for}} + ├considering: ${if░def:received_for░{↩ + for░$received_for}} ├──condition: def:received_for ├─────result: true - ╭considering: - for $received_for}} - ├───────text: - for + ╭considering: ↩ + for░$received_for}} + ├───────text: ↩ + for░ ├considering: $received_for}} ├──────value: usery@domain.com ╰──(tainted) ├considering: }} - ├──expanding: - for $received_for - ╰─────result: - for usery@domain.com + ├───expanded: ↩ + for░$received_for + ╰─────result: ↩ + for░usery@domain.com ╰──(tainted) - ├───item-res: - for usery@domain.com + ├───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-000000005vi-0000 - for usery@domain.com + ├───expanded: 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-000000005vi-0000↩ + for░usery@domain.com ╰──(tainted) ----------- start cutthrough headers send ----------- ----------- done cutthrough headers send ------------ @@ -1251,8 +1247,8 @@ try option acl_smtp_dkim try option acl_smtp_mime try option acl_smtp_data ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 SMTP>> . SMTP<< 250 OK id=10HmbA-000000005vi-0000 LOG: MAIN @@ -1286,18 +1282,18 @@ LOG: smtp_connection MAIN try option message_size_limit try option acl_smtp_connect try option smtp_banner - ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full + ╭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 + ├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 + ├───────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 + ├──────value: Tue,░2░Mar░1999░09:44:33░+0000 + ├───expanded: $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 try option acl_smtp_helo list element: * in limits_advertise_hosts? yes (matched "*") @@ -1314,31 +1310,31 @@ try option acl_smtp_expn in tls_advertise_hosts? yes (matched "*") try option acl_smtp_mail try option acl_smtp_rcpt - ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}} + ╭considering: ${if░eq░{SERVER}{server}{queue}{cutthrough}} ╭considering: SERVER}{server}{queue}{cutthrough}} ├───────text: SERVER ├considering: }{server}{queue}{cutthrough}} - ├──expanding: SERVER + ├───expanded: SERVER ╰─────result: SERVER ╭considering: server}{queue}{cutthrough}} ├───────text: server ├considering: }{queue}{cutthrough}} - ├──expanding: server + ├───expanded: server ╰─────result: server - ├──condition: eq {SERVER}{server} + ├──condition: eq░{SERVER}{server} ├─────result: false ╭───scanning: queue}{cutthrough}} ├───────text: queue ├───scanning: }{cutthrough}} - ├──expanding: queue - ├─────result: queue + ├───expanded: queue + ├─────result: ◀skipped▶ ╰───skipping: result is not used ╭considering: cutthrough}} ├───────text: cutthrough ├considering: }} - ├──expanding: cutthrough + ├───expanded: cutthrough ╰─────result: cutthrough - ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}} + ├───expanded: ${if░eq░{SERVER}{server}{queue}{cutthrough}} ╰─────result: cutthrough using ACL "cutthrough" processing "accept" (TESTSUITE/test-config 22) @@ -1359,7 +1355,7 @@ processing address_data ╭considering: $local_part ├──────value: usery ╰──(tainted) - ├──expanding: $local_part + ├───expanded: $local_part ╰─────result: usery ╰──(tainted) domain.com in "*"? @@ -1387,7 +1383,7 @@ processing address_data ╭considering: $local_part ├──────value: usery ╰──(tainted) - ├──expanding: $local_part + ├───expanded: $local_part ╰─────result: usery ╰──(tainted) domain.com in "*"? @@ -1404,7 +1400,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_D from ip4.ip4.ip4.ip4 ... try option d try option helo_data ╭considering: $primary_hostname ├──────value: myhost.test.ex - ├──expanding: $primary_hostname + ├───expanded: $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) @@ -1418,67 +1414,67 @@ cmd buf flush ddd bytes 250-STARTTLS 250 HELP try option host_name_extract - ╭considering: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} - ╭considering: $host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭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 + ├considering: }{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: $host ╰─────result: 127.0.0.1 - ╭considering: .outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭considering: .outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├───────text: .outlook.com - ├considering: \$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├considering: \$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├backslashed: '\$' - ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} - ├──expanding: .outlook.com\$ + ├considering: }}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: .outlook.com\$ ╰─────result: .outlook.com$ - ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} + ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}}░{$1}} ├──────value: - ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} - ├──expanding: $item - ├─────result: + ├───scanning: }{\N^250-([\w.]+)\s\N}}}░{$1}} + ├───expanded: $item + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ╭───scanning: \N^250-([\w.]+)\s\N}}} {$1}} + ╭───scanning: \N^250-([\w.]+)\s\N}}}░{$1}} ├──protected: ^250-([\w.]+)\s - ├───scanning: }}} {$1}} - ├──expanding: \N^250-([\w.]+)\s\N - ├─────result: ^250-([\w.]+)\s + ├───scanning: }}}░{$1}} + ├───expanded: \N^250-([\w.]+)\s\N + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──condition: and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} + ├──condition: and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}} ├─────result: false ╭───scanning: $1}} ├───scanning: }} - ├──expanding: $1 - ├─────result: + ├───expanded: $1 + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──expanding: ${if and {{match{$host}{.outlook.com\$}} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} + ├───expanded: ${if░and░{{match{$host}{.outlook.com\$}}░{match{$item}{\N^250-([\w.]+)\s\N}}}░{$1}} ╰─────result: - ╭considering: ${if eq {$address_data}{usery}{*}{:}} + ╭considering: ${if░eq░{$address_data}{usery}{*}{:}} ╭considering: $address_data}{usery}{*}{:}} ├──────value: usery ╰──(tainted) ├considering: }{usery}{*}{:}} - ├──expanding: $address_data + ├───expanded: $address_data ╰─────result: usery ╰──(tainted) ╭considering: usery}{*}{:}} ├───────text: usery ├considering: }{*}{:}} - ├──expanding: usery + ├───expanded: usery ╰─────result: usery - ├──condition: eq {$address_data}{usery} + ├──condition: eq░{$address_data}{usery} ├─────result: true ╭considering: *}{:}} ├───────text: * ├considering: }{:}} - ├──expanding: * + ├───expanded: * ╰─────result: * ╭───scanning: :}} ├───────text: : ├───scanning: }} - ├──expanding: : - ├─────result: : + ├───expanded: : + ├─────result: ◀skipped▶ ╰───skipping: result is not used - ├──expanding: ${if eq {$address_data}{usery}{*}{:}} + ├───expanded: ${if░eq░{$address_data}{usery}{*}{:}} ╰─────result: * 127.0.0.1 in hosts_avoid_tls? list element: * @@ -1506,355 +1502,353 @@ end of inline ACL: ACCEPT try option message_id_header_domain try option message_id_header_text ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 try option received_header_text - ╭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}} + ╭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: 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}} ├──────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 - }}(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 + ├───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: ↩ - ├─────result: from + ├───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}} + ├───expanded: from░$sender_rcvhost↩ + ├─────result: ◀skipped▶ ╰───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}} + ╭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: 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}} ╎├──────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) - ╎ ${if def:sender_address {(envelope-from <$sender_address>) - ╎ }}id $message_exim_id${if def:received_for { - ╎ for $received_for}} - ╎├──expanding: $sender_ident + ╎├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}} + ╎├───expanded: $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}} + ├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}} + ├───expanded: 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}} + ╭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: $sender_helo_name)↩ + }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: myhost.test.ex ╰──(tainted) - ├considering: ) - }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${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}} + ├───────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) + ├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}} + ├───expanded: (helo=$sender_helo_name)↩ - ╰─────result: (helo=myhost.test.ex) + ╰─────result: (helo=myhost.test.ex)↩ ╰──(tainted) - ├───item-res: (helo=myhost.test.ex) + ├───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) + ├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}} + ├───expanded: ${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) + ╰─────result: from░CALLER░(helo=myhost.test.ex)↩ ╰──(tainted) - ├───item-res: from CALLER (helo=myhost.test.ex) + ├───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: 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}} ├──────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>) - }}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}} + ├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: 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}} ├──────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>) - }}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 + ├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}} + ├───expanded: with░$received_protocol░ + ╰─────result: with░local-esmtp░ + ├───item-res: with░local-esmtp░ ╰──(tainted) - ├considering: ${if def:tls_in_ver { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_in_ver) - ├─────result: () + ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩ + }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: ░($tls_in_ver) + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: ╰──(tainted) - ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} + ├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: ░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}} ├──────value: - ├───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}} + ├───────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 + ├───scanning: }}(Exim░$version_number)↩ + ${if░def:sender_address░{(envelope-from░<$sender_address>)↩ + }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: ░tls░$tls_in_cipher_std↩ + ├─────result: ◀skipped▶ ╰───skipping: result is not used ├───item-res: ╰──(tainted) - ├considering: (Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - 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: (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}} ├──────value: x.yz - ├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}} + ├───────text: )↩ - ├considering: ${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}} ├──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: (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}} ├──────value: CALLER@myhost.test.ex - ├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}} + ├───────text: >)↩ - ├considering: }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: (envelope-from <$sender_address>) + ├considering: }}id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───expanded: (envelope-from░<$sender_address>)↩ - ╰─────result: (envelope-from ) + ╰─────result: (envelope-from░)↩ - ├───item-res: (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: id░$message_exim_id${if░def:received_for░{↩ + for░$received_for}} + ├───────text: id░ + ├considering: $message_exim_id${if░def:received_for░{↩ + for░$received_for}} ├──────value: 10HmbB-000000005vi-0000 - ├considering: ${if def:received_for { - for $received_for}} + ├considering: ${if░def:received_for░{↩ + for░$received_for}} ├──condition: def:received_for ├─────result: true - ╭considering: - for $received_for}} - ├───────text: - for + ╭considering: ↩ + for░$received_for}} + ├───────text: ↩ + for░ ├considering: $received_for}} ├──────value: usery@domain.com ╰──(tainted) ├considering: }} - ├──expanding: - for $received_for - ╰─────result: - for usery@domain.com + ├───expanded: ↩ + for░$received_for + ╰─────result: ↩ + for░usery@domain.com ╰──(tainted) - ├───item-res: - for usery@domain.com + ├───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-000000005vi-0000 - for usery@domain.com + ├───expanded: 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-000000005vi-0000↩ + for░usery@domain.com ╰──(tainted) ----------- start cutthrough headers send ----------- ----------- done cutthrough headers send ------------ @@ -1862,8 +1856,8 @@ try option acl_smtp_dkim try option acl_smtp_mime try option acl_smtp_data ╭considering: ${tod_full} - ├──expanding: ${tod_full} - ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 + ├───expanded: ${tod_full} + ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000 SMTP>> . SMTP<< 250 OK id=10HmbC-000000005vi-0000 LOG: MAIN diff --git a/test/stdout/0002 b/test/stdout/0002 index a79a5c733..0524afd7b 100644 --- a/test/stdout/0002 +++ b/test/stdout/0002 @@ -970,12 +970,14 @@ xyz > Failed: "if" failed and "fail" requested > yes > match_address: no +> protected: > > primary_hostname: myhost.test.ex > match: cdab > Failed: "if" failed and "fail" requested > yes > match_address: no +> protected: > > -be Sender host name and address etc, all unset > -oMa sender_host_address = -- 2.30.2