Exim version x.yz ....
+Hints DB:
environment after trimming:
USER=CALLER
configuration file is TESTSUITE/test-config
try option gecos_pattern
try option gecos_name
try option unknown_login
- ╭considering: primary_hostname: $primary_hostname
- ├───────text: primary_hostname:
+ ╭considering: primary_hostname:░$primary_hostname
+ ├───────text: primary_hostname:░
├considering: $primary_hostname
├──────value: myhost.test.ex
- ├──expanding: primary_hostname: $primary_hostname
- ╰─────result: primary_hostname: myhost.test.ex
- ╭considering: sender_address: $sender_address
- ├───────text: sender_address:
+ ├───expanded: primary_hostname:░$primary_hostname
+ ╰─────result: primary_hostname:░myhost.test.ex
+ ╭considering: sender_address:░$sender_address
+ ├───────text: sender_address:░
├considering: $sender_address
├──────value: sndr@dom
╰──(tainted)
- ├──expanding: sender_address: $sender_address
- ╰─────result: sender_address: sndr@dom
- ╰──(tainted)
- ╭considering: match: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- ├───────text: match:
- ├considering: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- ╭considering: abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- ├───────text: abcd
- ├considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- ├──expanding: abcd
- ╰─────result: abcd
- ╭considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
- ├──protected: ^([ab]+)(\w+)$
- ├considering: }{$2$1}fail}
- ├──expanding: \N^([ab]+)(\w+)$\N
- ╰─────result: ^([ab]+)(\w+)$
- compiled RE '^([ab]+)(\w+)$' not found in local cache
- compiling RE '^([ab]+)(\w+)$'
- compiled RE '^([ab]+)(\w+)$' saved in local cache
+ ├───expanded: sender_address:░$sender_address
+ ╰─────result: sender_address:░sndr@dom
+ ╰──(tainted)
+ ╭considering: match:░░${if░match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├───────text: match:░░
+ ├considering: ${if░match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ cond: match
+ ╭considering: abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├───────text: abcd
+ ├considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├───expanded: abcd
+ ╰─────result: abcd
+ ╭considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├──protected: ^([ab]+)(\w+)$
+ ├considering: }{$2$1}fail}
+ ├───expanded: \N^([ab]+)(\w+)$\N
+ ╰─────result: ^([ab]+)(\w+)$
+ compiled RE '^([ab]+)(\w+)$' not found in local cache
+ compiling RE '^([ab]+)(\w+)$'
+ compiled RE '^([ab]+)(\w+)$' saved in local cache
├──condition: match{abcd}{\N^([ab]+)(\w+)$\N}
├─────result: true
╭considering: $2$1}fail}
├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}
- ╰─────result: match: cdab
- ╭considering: match: ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- ├───────text: match:
- ├considering: ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- ╭considering: wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- ├───────text: wxyz
- ├considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- ├──expanding: wxyz
- ╰─────result: wxyz
- ╭considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
- ├──protected: ^([ab]+)(\w+)$
- ├considering: }{$2$1}fail}
- ├──expanding: \N^([ab]+)(\w+)$\N
- ╰─────result: ^([ab]+)(\w+)$
- compiled RE '^([ab]+)(\w+)$' found in local cache
+ ├───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:░░
+ ├considering: ${if░match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ cond: match
+ ╭considering: wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├───────text: wxyz
+ ├considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├───expanded: wxyz
+ ╰─────result: wxyz
+ ╭considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├──protected: ^([ab]+)(\w+)$
+ ├considering: }{$2$1}fail}
+ ├───expanded: \N^([ab]+)(\w+)$\N
+ ╰─────result: ^([ab]+)(\w+)$
+ compiled RE '^([ab]+)(\w+)$' found in local cache
├──condition: match{wxyz}{\N^([ab]+)(\w+)$\N}
├─────result: false
╭───scanning: $2$1}fail}
├───scanning: $1}fail}
├───scanning: }fail}
- ├──expanding: $2$1
- ├─────result:
+ ├───expanded: $2$1
+ ├─────result: ◀skipped▶
╰───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
╰failure was forced
- ╭considering: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
- ╭considering: 1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
- ├───────text: 1
- ├considering: }{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
- ├──expanding: 1
- ╰─────result: 1
- ╭considering: 1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
- ├───────text: 1
- ├considering: }{yes}{${lookup{xx}lsearch{/non/exist}}}}
- ├──expanding: 1
- ╰─────result: 1
- ├──condition: eq {1}{1}
+ ╭considering: ${if░eq░{1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ cond: eq
+ ╭considering: 1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ ├───────text: 1
+ ├considering: }{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ ├───expanded: 1
+ ╰─────result: 1
+ ╭considering: 1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ ├───────text: 1
+ ├considering: }{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ ├───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: ◀skipped▶
╰───skipping: result is not used
╭───scanning: /non/exist}}}}
├───────text: /non/exist
├───scanning: }}}}
- ├──expanding: /non/exist
- ├─────result: /non/exist
+ ├───expanded: /non/exist
+ ├─────result: ◀skipped▶
╰───skipping: result is not used
├───scanning: }}
- ├──expanding: ${lookup{xx}lsearch{/non/exist}}
- ├─────result:
+ ├───expanded: ${lookup{xx}lsearch{/non/exist}}
+ ├─────result: ◀skipped▶
╰───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:
- ├considering: ${if match_address{a.b.c}{a.b.c}{yes}{no}}
- ╭considering: a.b.c}{a.b.c}{yes}{no}}
- ├───────text: a.b.c
- ├considering: }{a.b.c}{yes}{no}}
- ├──expanding: a.b.c
- ╰─────result: a.b.c
- ╭considering: a.b.c}{yes}{no}}
- ├───────text: a.b.c
- ├considering: }{yes}{no}}
- ├──expanding: a.b.c
- ╰─────result: a.b.c
+ ╭considering: match_address:░░░${if░match_address{a.b.c}{a.b.c}{yes}{no}}
+ ├───────text: match_address:░░░
+ ├considering: ${if░match_address{a.b.c}{a.b.c}{yes}{no}}
+ cond: match_address
+ ╭considering: a.b.c}{a.b.c}{yes}{no}}
+ ├───────text: a.b.c
+ ├considering: }{a.b.c}{yes}{no}}
+ ├───expanded: a.b.c
+ ╰─────result: a.b.c
+ ╭considering: a.b.c}{yes}{no}}
+ ├───────text: a.b.c
+ ├considering: }{yes}{no}}
+ ├───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"
+ a.b.c in "a.b.c"? no (end of list)
├──condition: match_address{a.b.c}{a.b.c}
├─────result: false
╭───scanning: yes}{no}}
├───────text: yes
├───scanning: }{no}}
- ├──expanding: yes
- ├─────result: yes
+ ├───expanded: yes
+ ├─────result: ◀skipped▶
╰───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}}
- ╰─────result: match_address: 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=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
+Hints DB:
environment after trimming:
USER=CALLER
configuration file is TESTSUITE/test-config
|-------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:
|considering: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- /considering: abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- |-------text: abcd
- |considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- |--expanding: abcd
- \_____result: abcd
- /considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
- |--protected: ^([ab]+)(\w+)$
- |considering: }{$2$1}fail}
- |--expanding: \N^([ab]+)(\w+)$\N
- \_____result: ^([ab]+)(\w+)$
- compiled RE '^([ab]+)(\w+)$' not found in local cache
- compiling RE '^([ab]+)(\w+)$'
- compiled RE '^([ab]+)(\w+)$' saved in local cache
+ cond: match
+ /considering: abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ |-------text: abcd
+ |considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ |---expanded: abcd
+ \_____result: abcd
+ /considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
+ |--protected: ^([ab]+)(\w+)$
+ |considering: }{$2$1}fail}
+ |---expanded: \N^([ab]+)(\w+)$\N
+ \_____result: ^([ab]+)(\w+)$
+ compiled RE '^([ab]+)(\w+)$' not found in local cache
+ compiling RE '^([ab]+)(\w+)$'
+ compiled RE '^([ab]+)(\w+)$' saved in local cache
|--condition: match{abcd}{\N^([ab]+)(\w+)$\N}
|-----result: true
/considering: $2$1}fail}
|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:
|considering: ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- /considering: wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- |-------text: wxyz
- |considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- |--expanding: wxyz
- \_____result: wxyz
- /considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
- |--protected: ^([ab]+)(\w+)$
- |considering: }{$2$1}fail}
- |--expanding: \N^([ab]+)(\w+)$\N
- \_____result: ^([ab]+)(\w+)$
- compiled RE '^([ab]+)(\w+)$' found in local cache
+ cond: match
+ /considering: wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ |-------text: wxyz
+ |considering: }{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ |---expanded: wxyz
+ \_____result: wxyz
+ /considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
+ |--protected: ^([ab]+)(\w+)$
+ |considering: }{$2$1}fail}
+ |---expanded: \N^([ab]+)(\w+)$\N
+ \_____result: ^([ab]+)(\w+)$
+ compiled RE '^([ab]+)(\w+)$' found in local cache
|--condition: match{wxyz}{\N^([ab]+)(\w+)$\N}
|-----result: false
/---scanning: $2$1}fail}
|---scanning: $1}fail}
|---scanning: }fail}
- |--expanding: $2$1
- |-----result:
+ |---expanded: $2$1
+ |-----result: <skipped>
\___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
\failure was forced
/considering: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
- /considering: 1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
- |-------text: 1
- |considering: }{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
- |--expanding: 1
- \_____result: 1
- /considering: 1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
- |-------text: 1
- |considering: }{yes}{${lookup{xx}lsearch{/non/exist}}}}
- |--expanding: 1
- \_____result: 1
+ cond: eq
+ /considering: 1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ |-------text: 1
+ |considering: }{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ |---expanded: 1
+ \_____result: 1
+ /considering: 1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ |-------text: 1
+ |considering: }{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ |---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: <skipped>
\___skipping: result is not used
/---scanning: /non/exist}}}}
|-------text: /non/exist
|---scanning: }}}}
- |--expanding: /non/exist
- |-----result: /non/exist
+ |---expanded: /non/exist
+ |-----result: <skipped>
\___skipping: result is not used
|---scanning: }}
- |--expanding: ${lookup{xx}lsearch{/non/exist}}
- |-----result:
+ |---expanded: ${lookup{xx}lsearch{/non/exist}}
+ |-----result: <skipped>
\___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:
|considering: ${if match_address{a.b.c}{a.b.c}{yes}{no}}
- /considering: a.b.c}{a.b.c}{yes}{no}}
- |-------text: a.b.c
- |considering: }{a.b.c}{yes}{no}}
- |--expanding: a.b.c
- \_____result: a.b.c
- /considering: a.b.c}{yes}{no}}
- |-------text: a.b.c
- |considering: }{yes}{no}}
- |--expanding: a.b.c
- \_____result: a.b.c
+ cond: match_address
+ /considering: a.b.c}{a.b.c}{yes}{no}}
+ |-------text: a.b.c
+ |considering: }{a.b.c}{yes}{no}}
+ |---expanded: a.b.c
+ \_____result: a.b.c
+ /considering: a.b.c}{yes}{no}}
+ |-------text: a.b.c
+ |considering: }{yes}{no}}
+ |---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"
+ a.b.c in "a.b.c"? no (end of list)
|--condition: match_address{a.b.c}{a.b.c}
|-----result: false
/---scanning: yes}{no}}
|-------text: yes
|---scanning: }{no}}
- |--expanding: yes
- |-----result: yes
+ |---expanded: yes
+ |-----result: <skipped>
\___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 ....
+Hints DB:
environment after trimming:
USER=CALLER
configuration file is TESTSUITE/test-config
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
Exim version x.yz ....
+Hints DB:
environment after trimming:
USER=CALLER
configuration file is TESTSUITE/test-config
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
- ╰──(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: black}{white}{$sender_host_name}{No}}
- ├───────text: black
- ├considering: }{white}{$sender_host_name}{No}}
- ├──expanding: black
- ╰─────result: black
- ╭considering: white}{$sender_host_name}{No}}
- ├───────text: white
- ├considering: }{$sender_host_name}{No}}
- ├──expanding: white
- ╰─────result: white
+ ├───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}}
+ cond: eq
+ ╭considering: black}{white}{$sender_host_name}{No}}
+ ├───────text: black
+ ├considering: }{white}{$sender_host_name}{No}}
+ ├───expanded: black
+ ╰─────result: black
+ ╭considering: white}{$sender_host_name}{No}}
+ ├───────text: white
+ ├considering: }{$sender_host_name}{No}}
+ ├───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"
-ten-1.test.ex V4NET.0.0.1 mx=-1 sort=xx
+ check dnssec require list
+ check dnssec request list
+ ten-1.test.ex V4NET.0.0.1 mx=-1 sort=xx
checking addresses for ten-1.test.ex
V4NET.0.0.1 OK
sender_fullhost = ten-1.test.ex [V4NET.0.0.1]
sender_rcvhost = ten-1.test.ex ([V4NET.0.0.1] ident=me)
├──────value: ten-1.test.ex
╰──(tainted)
- ├──expanding: -oMs sender_host_name = $sender_host_name
- ╰─────result: -oMs sender_host_name = ten-1.test.ex
+ ├───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 ....
+Hints DB:
changed uid/gid: forcing real = effective
uid=uuuu gid=CALLER_GID pid=p1238
configuration file is TESTSUITE/test-config
list element: partial-lsearch;TESTSUITE/aux-fixed/0002.lsearch
sender host name required, to match against partial-lsearch;TESTSUITE/aux-fixed/0002.lsearch
looking up host name for V4NET.0.0.1
-DNS lookup of 1.0.0.V4NET.in-addr.arpa (PTR) using fakens
-DNS lookup of 1.0.0.V4NET.in-addr.arpa (PTR) succeeded
+ DNS lookup of 1.0.0.V4NET.in-addr.arpa (PTR) using fakens
+ DNS lookup of 1.0.0.V4NET.in-addr.arpa (PTR) succeeded
IP address lookup yielded "ten-1.test.ex"
-DNS lookup of ten-1.test.ex (A) using fakens
-DNS lookup of ten-1.test.ex (A) succeeded
-ten-1.test.ex V4NET.0.0.1 mx=-1 sort=xx
+ check dnssec require list
+ ten-1.test.ex not in empty list (option unset? cannot trace name)
+ check dnssec request list
+ ten-1.test.ex not in empty list (option unset? cannot trace name)
+ DNS lookup of ten-1.test.ex (A) using fakens
+ DNS lookup of ten-1.test.ex (A) succeeded
+ ten-1.test.ex V4NET.0.0.1 mx=-1 sort=xx
checking addresses for ten-1.test.ex
Forward DNS security status: unverified
V4NET.0.0.1 OK
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=p1238 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
+Hints DB:
changed uid/gid: forcing real = effective
uid=uuuu gid=CALLER_GID pid=p1239
configuration file is TESTSUITE/test-config
>>> host in helo_accept_junk_hosts? no (option unset)
>>> using ACL "connect0"
>>> processing "accept" (TESTSUITE/test-config 42)
+>>> check logwrite = connection_id: $connection_id
+>>> = connection_id: conn1111
+LOG: connection_id: conn1111
>>> accept: condition test succeeded in ACL "connect0"
>>> end of ACL "connect0": ACCEPT
>>> test in helo_lookup_domains?
>>> host in helo_accept_junk_hosts? no (option unset)
>>> using ACL "connect0"
>>> processing "accept" (TESTSUITE/test-config 42)
+>>> check logwrite = connection_id: $connection_id
+>>> = connection_id: conn1112
+LOG: connection_id: conn1112
>>> accept: condition test succeeded in ACL "connect0"
>>> end of ACL "connect0": ACCEPT
>>> test in helo_lookup_domains?
>>> host in helo_accept_junk_hosts? no (option unset)
>>> using ACL "connect0"
>>> processing "accept" (TESTSUITE/test-config 42)
+>>> check logwrite = connection_id: $connection_id
+>>> = connection_id: conn1113
+LOG: connection_id: conn1113
>>> accept: condition test succeeded in ACL "connect0"
>>> end of ACL "connect0": ACCEPT
>>> test in helo_lookup_domains?
>>> end of ACL "check_data": DENY
LOG: 10HmbD-000000005vi-0000 H=(test) [V4NET.0.0.0] F=<> rejected after DATA: reply_address=<>
Exim version x.yz ....
+Hints DB:
changed uid/gid: -C, -D, -be or -bf forces real uid
uid=CALLER_UID gid=CALLER_GID pid=p1240
configuration file is TESTSUITE/test-config
dropping to exim gid; retaining priv uid
originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
sender address = CALLER@myhost.test.ex
- 1.2.3.4 in "1.2.3"?
- list element: 1.2.3
- 1.2.3.4 in "1.2.3"? no (malformed IPv4 address or address mask: 1.2.3)
- 1.2.3.4 in "1.2.3.4/abc"?
- list element: 1.2.3.4/abc
- 1.2.3.4 in "1.2.3.4/abc"? no (malformed IPv4 address or address mask: 1.2.3.4)
- ::1 in "<; aaaa:bbbb"?
- ╎list element: aaaa:bbbb
- ╎::1 in "<; aaaa:bbbb"? no (malformed IPv6 address or address mask: aaaa:bbbb)
+ 1.2.3.4 in "1.2.3"?
+ list element: 1.2.3
+ 1.2.3.4 in "1.2.3"? no (malformed IPv4 address or address mask: 1.2.3)
+ 1.2.3.4 in "1.2.3.4/abc"?
+ ╎list element: 1.2.3.4/abc
+ ╎1.2.3.4 in "1.2.3.4/abc"? no (malformed IPv4 address or address mask: 1.2.3.4)
+ ╎::1 in "<; aaaa:bbbb"?
+ ╎ list element: aaaa:bbbb
+ ╎ ::1 in "<; aaaa:bbbb"? no (malformed IPv6 address or address mask: aaaa:bbbb)
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=p1240 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>