Exim version x.yz ....
+environment after trimming:
+ USER=CALLER
configuration file is TESTSUITE/test-config
admin user
-expanding: primary_hostname: $primary_hostname
- result: primary_hostname: myhost.test.ex
-expanding: abcd
- result: abcd
-expanding: \N^([ab]+)(\w+)$\N
- result: ^([ab]+)(\w+)$
-condition: match{abcd}{\N^([ab]+)(\w+)$\N}
- result: true
-expanding: $2$1
- result: cdab
-expanding: match: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- result: match: cdab
-expanding: wxyz
- result: wxyz
-expanding: \N^([ab]+)(\w+)$\N
- result: ^([ab]+)(\w+)$
-condition: match{wxyz}{\N^([ab]+)(\w+)$\N}
- result: false
-expanding: $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
-failure was forced
-expanding: 1
- result: 1
-expanding: 1
- result: 1
-condition: eq {1}{1}
- result: true
-expanding: yes
- result: yes
-expanding: xx
- result: xx
-skipping: result is not used
-expanding: /non/exist
- result: /non/exist
-skipping: result is not used
-expanding: ${lookup{xx}lsearch{/non/exist}}
- result:
-skipping: result is not used
-expanding: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
- result: yes
-expanding: a.b.c
- result: a.b.c
-expanding: a.b.c
- result: a.b.c
+dropping to exim gid; retaining priv uid
+try option gecos_pattern
+try option gecos_name
+try option unknown_login
+ ╭considering: primary_hostname:░$primary_hostname
+ ├───────text: primary_hostname:░
+ ├considering: $primary_hostname
+ ├──────value: myhost.test.ex
+ ├───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)
+ ├───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}
+ ╭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}
+ ├──────value: cd
+ ├considering: $1}fail}
+ ├──────value: ab
+ ├considering: }fail}
+ ├───expanded: $2$1
+ ╰─────result: cdab
+ ├───item-res: cdab
+ ├───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}
+ ├───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}
+ ├───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}}}}
+ ├───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}}}}
+ ├───expanded: yes
+ ╰─────result: yes
+ ╭───scanning: ${lookup{xx}lsearch{/non/exist}}}}
+ ╭───scanning: xx}lsearch{/non/exist}}}}
+ ├───────text: xx
+ ├───scanning: }lsearch{/non/exist}}}}
+ ├───expanded: xx
+ ├─────result: ◀skipped▶
+ ╰───skipping: result is not used
+ ╭───scanning: /non/exist}}}}
+ ├───────text: /non/exist
+ ├───scanning: }}}}
+ ├───expanded: /non/exist
+ ├─────result: ◀skipped▶
+ ╰───skipping: result is not used
+ ├───scanning: }}
+ ├───expanded: ${lookup{xx}lsearch{/non/exist}}
+ ├─────result: ◀skipped▶
+ ╰───skipping: result is not used
+ ├───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}}
+ ├───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"
-condition: match_address{a.b.c}{a.b.c}
- result: false
-expanding: yes
- result: yes
-skipping: result is not used
-expanding: no
- result: no
-expanding: match_address: ${if match_address{a.b.c}{a.b.c}{yes}{no}}
- result: match_address: no
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+ ├──condition: match_address{a.b.c}{a.b.c}
+ ├─────result: false
+ ╭───scanning: yes}{no}}
+ ├───────text: yes
+ ├───scanning: }{no}}
+ ├───expanded: yes
+ ├─────result: ◀skipped▶
+ ╰───skipping: result is not used
+ ╭considering: no}}
+ ├───────text: no
+ ├considering: }}
+ ├───expanded: no
+ ╰─────result: no
+ ├───item-res: 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 ....
+environment after trimming:
+ USER=CALLER
configuration file is TESTSUITE/test-config
admin user
-expanding: -oMa sender_host_address = $sender_host_address
- result: -oMa sender_host_address = V4NET.0.0.1
-expanding: sender_host_port = $sender_host_port
- result: sender_host_port = 1234
-expanding: -oMaa sender_host_authenticated = $sender_host_authenticated
- result: -oMaa sender_host_authenticated = AAA
-expanding: -oMai authenticated_id = $authenticated_id
- result: -oMai authenticated_id = philip
-expanding: -oMas authenticated_sender = $authenticated_sender
- result: -oMas authenticated_sender = xx@yy.zz
-expanding: -oMi interface_address = $interface_address
- result: -oMi interface_address = 1.1.1.1
-expanding: interface_port = $interface_port
- result: interface_port = 99
-expanding: -oMr received_protocol = $received_protocol
- result: -oMr received_protocol = special
-expanding: -oMt sender_ident = $sender_ident
- result: -oMt sender_ident = me
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+dropping to exim gid; retaining priv uid
+try option gecos_pattern
+try option gecos_name
+try option unknown_login
+ /considering: primary_hostname: $primary_hostname
+ |-------text: primary_hostname:
+ |considering: $primary_hostname
+ |------value: myhost.test.ex
+ |---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}
+ |---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}
+ |------value: cd
+ |considering: $1}fail}
+ |------value: ab
+ |considering: }fail}
+ |---expanded: $2$1
+ \_____result: cdab
+ |---item-res: cdab
+ |---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}
+ |---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}
+ |---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}}}}
+ |---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}}}}
+ |---expanded: yes
+ \_____result: yes
+ /---scanning: ${lookup{xx}lsearch{/non/exist}}}}
+ /---scanning: xx}lsearch{/non/exist}}}}
+ |-------text: xx
+ |---scanning: }lsearch{/non/exist}}}}
+ |---expanded: xx
+ |-----result: <skipped>
+ \___skipping: result is not used
+ /---scanning: /non/exist}}}}
+ |-------text: /non/exist
+ |---scanning: }}}}
+ |---expanded: /non/exist
+ |-----result: <skipped>
+ \___skipping: result is not used
+ |---scanning: }}
+ |---expanded: ${lookup{xx}lsearch{/non/exist}}
+ |-----result: <skipped>
+ \___skipping: result is not used
+ |---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}}
+ |---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"
+ |--condition: match_address{a.b.c}{a.b.c}
+ |-----result: false
+ /---scanning: yes}{no}}
+ |-------text: yes
+ |---scanning: }{no}}
+ |---expanded: yes
+ |-----result: <skipped>
+ \___skipping: result is not used
+ /considering: no}}
+ |-------text: no
+ |considering: }}
+ |---expanded: no
+ \_____result: no
+ |---item-res: 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:
+ USER=CALLER
+configuration file is TESTSUITE/test-config
+admin user
+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: $sender_host_address
+ ├──────value: V4NET.0.0.1
+ ╰──(tainted)
+ ├───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
+ ├──────value: 1234
+ ├───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)
+ ├───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: $authenticated_id
+ ├──────value: philip
+ ╰──(tainted)
+ ├───expanded: -oMai░authenticated_id░=░$authenticated_id
+ ╰─────result: -oMai░authenticated_id░=░philip
+ ╰──(tainted)
+ ╭considering: -oMas░authenticated_sender░=░$authenticated_sender
+ ├───────text: -oMas░authenticated_sender░=░
+ ├considering: $authenticated_sender
+ ├──────value: xx@yy.zz
+ ╰──(tainted)
+ ├───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: $interface_address
+ ├──────value: 1.1.1.1
+ ╰──(tainted)
+ ├───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
+ ├──────value: 99
+ ├───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)
+ ├───expanded: -oMr░░received_protocol░=░$received_protocol
+ ╰─────result: -oMr░░received_protocol░=░special
+ ╰──(tainted)
+ ╭considering: -oMt░░sender_ident░=░$sender_ident
+ ├───────text: -oMt░░sender_ident░=░
+ ├considering: $sender_ident
+ ├──────value: me
+ ╰──(tainted)
+ ├───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 ....
+environment after trimming:
+ USER=CALLER
configuration file is TESTSUITE/test-config
admin user
-expanding: -oMa sender_host_address = $sender_host_address
- result: -oMa sender_host_address = V4NET.0.0.1
-expanding: sender_host_port = $sender_host_port
- result: sender_host_port = 1234
-expanding: -oMaa sender_host_authenticated = $sender_host_authenticated
- result: -oMaa sender_host_authenticated = AAA
-expanding: -oMai authenticated_id = $authenticated_id
- result: -oMai authenticated_id = philip
-expanding: -oMas authenticated_sender = $authenticated_sender
- result: -oMas authenticated_sender = xx@yy.zz
-expanding: -oMi interface_address = $interface_address
- result: -oMi interface_address = 1.1.1.1
-expanding: interface_port = $interface_port
- result: interface_port = 99
-expanding: -oMr received_protocol = $received_protocol
- result: -oMr received_protocol = special
-expanding: black
- result: black
-expanding: white
- result: white
-condition: eq{black}{white}
- result: false
-expanding: $sender_host_name
- result:
-skipping: result is not used
-expanding: No
- result: No
-expanding: ----> No lookup yet: ${if eq{black}{white}{$sender_host_name}{No}}
- result: ----> No lookup yet: No
+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: $sender_host_address
+ ├──────value: V4NET.0.0.1
+ ╰──(tainted)
+ ├───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
+ ├──────value: 1234
+ ├───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)
+ ├───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: $authenticated_id
+ ├──────value: philip
+ ╰──(tainted)
+ ├───expanded: -oMai░authenticated_id░=░$authenticated_id
+ ╰─────result: -oMai░authenticated_id░=░philip
+ ╰──(tainted)
+ ╭considering: -oMas░authenticated_sender░=░$authenticated_sender
+ ├───────text: -oMas░authenticated_sender░=░
+ ├considering: $authenticated_sender
+ ├──────value: xx@yy.zz
+ ╰──(tainted)
+ ├───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: $interface_address
+ ├──────value: 1.1.1.1
+ ╰──(tainted)
+ ├───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
+ ├──────value: 99
+ ├───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)
+ ├───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: 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}}
+ ├───expanded: $sender_host_name
+ ├─────result: ◀skipped▶
+ ╰───skipping: result is not used
+ ╭considering: No}}
+ ├───────text: No
+ ├considering: }}
+ ├───expanded: No
+ ╰─────result: No
+ ├───item-res: No
+ ├───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
-using host_fake_gethostbyname for ten-1.test.ex (IPv4)
-MUNGED: ::1 will be omitted in what follows
-get[host|ipnode]byname[2] looked up these IP addresses:
- name=ten-1.test.ex address=V4NET.0.0.1
+IP address lookup yielded "ten-1.test.ex"
+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)
-expanding: -oMs sender_host_name = $sender_host_name
- result: -oMs sender_host_name = ten-1.test.ex
-expanding: -oMt sender_ident = $sender_ident
- result: -oMt sender_ident = me
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+ ├──────value: ten-1.test.ex
+ ╰──(tainted)
+ ├───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: $sender_ident
+ ├──────value: me
+ ╰──(tainted)
+ ├───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 ....
changed uid/gid: forcing real = effective
- uid=uuuu gid=CALLER_GID pid=pppp
+ uid=uuuu gid=CALLER_GID pid=p1238
configuration file is TESTSUITE/test-config
admin user
changed uid/gid: privilege not needed
- uid=EXIM_UID gid=EXIM_GID pid=pppp
+ uid=EXIM_UID gid=EXIM_GID pid=p1238
originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
sender address = CALLER@myhost.test.ex
sender_fullhost = [V4NET.0.0.1]
host in helo_try_verify_hosts? no (option unset)
host in helo_accept_junk_hosts? no (option unset)
using ACL "connect1"
-processing "deny"
-check hosts = partial-lsearch;TESTSUITE/aux-fixed/0002.lsearch
+processing "deny" (TESTSUITE/test-config 45)
+check hosts = <\n partial-lsearch;TESTSUITE/aux-fixed/0002.lsearch \n 1.2.3.4
+host in "<
+ partial-lsearch;TESTSUITE/aux-fixed/0002.lsearch
+ 1.2.3.4"?
+ 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
-IP address lookup yielded ten-1.test.ex
-using host_fake_gethostbyname for ten-1.test.ex (IPv4)
+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
-MUNGED: ::1 will be omitted in what follows
-get[host|ipnode]byname[2] looked up these IP addresses:
- name=ten-1.test.ex address=V4NET.0.0.1
+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
sender_fullhost = ten-1.test.ex [V4NET.0.0.1]
sender_rcvhost = ten-1.test.ex ([V4NET.0.0.1])
-search_open: lsearch "TESTSUITE/aux-fixed/0002.lsearch"
-search_find: file="TESTSUITE/aux-fixed/0002.lsearch"
- key="ten-1.test.ex" partial=2 affix=*. starflags=0
-LRU list:
- :TESTSUITE/aux-fixed/0002.lsearch
- End
-internal_search_find: file="TESTSUITE/aux-fixed/0002.lsearch"
- type=lsearch key="ten-1.test.ex"
-file lookup required for ten-1.test.ex
- in TESTSUITE/aux-fixed/0002.lsearch
-lookup yielded:
-host in "partial-lsearch;TESTSUITE/aux-fixed/0002.lsearch"? yes (matched "partial-lsearch;TESTSUITE/aux-fixed/0002.lsearch")
-deny: condition test succeeded
+ search_open: lsearch "TESTSUITE/aux-fixed/0002.lsearch"
+ search_find: file="TESTSUITE/aux-fixed/0002.lsearch"
+ key="ten-1.test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+ 0TESTSUITE/aux-fixed/0002.lsearch
+ End
+ internal_search_find: file="TESTSUITE/aux-fixed/0002.lsearch"
+ type=lsearch key="ten-1.test.ex" opts=NULL
+ file lookup required for ten-1.test.ex
+ in TESTSUITE/aux-fixed/0002.lsearch
+ creating new cache entry
+ lookup yielded:
+ host in "<
+ partial-lsearch;TESTSUITE/aux-fixed/0002.lsearch
+ 1.2.3.4"? yes (matched "partial-lsearch;TESTSUITE/aux-fixed/0002.lsearch")
+deny: condition test succeeded in ACL "connect1"
+end of ACL "connect1": DENY
SMTP>> 550 Administrative prohibition
-LOG: MAIN REJECT
+LOG: connection_reject MAIN REJECT
H=ten-1.test.ex [V4NET.0.0.1] rejected connection in "connect" ACL
search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1238 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
changed uid/gid: forcing real = effective
- uid=uuuu gid=CALLER_GID pid=pppp
+ uid=uuuu gid=CALLER_GID pid=p1239
configuration file is TESTSUITE/test-config
admin user
changed uid/gid: privilege not needed
- uid=EXIM_UID gid=EXIM_GID pid=pppp
+ uid=EXIM_UID gid=EXIM_GID pid=p1239
originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
sender address = CALLER@myhost.test.ex
sender_fullhost = [V4NET.0.0.2]
host in helo_try_verify_hosts? no (option unset)
host in helo_accept_junk_hosts? no (option unset)
using ACL "connect2"
-processing "deny"
+processing "deny" (TESTSUITE/test-config 48)
check hosts = net-lsearch;TESTSUITE/aux-fixed/0002.lsearch
-search_open: lsearch "TESTSUITE/aux-fixed/0002.lsearch"
-search_find: file="TESTSUITE/aux-fixed/0002.lsearch"
- key="V4NET.0.0.2" partial=-1 affix=NULL starflags=0
-LRU list:
- :TESTSUITE/aux-fixed/0002.lsearch
- End
-internal_search_find: file="TESTSUITE/aux-fixed/0002.lsearch"
- type=lsearch key="V4NET.0.0.2"
-file lookup required for V4NET.0.0.2
- in TESTSUITE/aux-fixed/0002.lsearch
-lookup failed
+host in "net-lsearch;TESTSUITE/aux-fixed/0002.lsearch"?
+ list element: net-lsearch;TESTSUITE/aux-fixed/0002.lsearch
+ search_open: lsearch "TESTSUITE/aux-fixed/0002.lsearch"
+ search_find: file="TESTSUITE/aux-fixed/0002.lsearch"
+ key="V4NET.0.0.2" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ 0TESTSUITE/aux-fixed/0002.lsearch
+ End
+ internal_search_find: file="TESTSUITE/aux-fixed/0002.lsearch"
+ type=lsearch key="V4NET.0.0.2" opts=NULL
+ file lookup required for V4NET.0.0.2
+ in TESTSUITE/aux-fixed/0002.lsearch
+ creating new cache entry
+ lookup failed
host in "net-lsearch;TESTSUITE/aux-fixed/0002.lsearch"? no (end of list)
-deny: condition test failed
+deny: condition test failed in ACL "connect2"
end of ACL "connect2": implicit DENY
SMTP>> 550 Administrative prohibition
-LOG: MAIN REJECT
+LOG: connection_reject MAIN REJECT
H=[V4NET.0.0.2] rejected connection in "connect" ACL
search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1239 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)
>>> using ACL "connect0"
->>> processing "accept"
->>> accept: condition test succeeded
->>> processing "accept"
->>> accept: condition test succeeded
+>>> processing "accept" (TESTSUITE/test-config 42)
+>>> accept: condition test succeeded in ACL "connect0"
+>>> end of ACL "connect0": ACCEPT
+>>> test in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
+>>> processing "accept" (TESTSUITE/test-config 70)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
>>> using ACL "check_data"
->>> processing "warn"
+>>> processing "warn" (TESTSUITE/test-config 51)
>>> check logwrite = Subject is: "$h_subject:"
>>> = Subject is: ""
-LOG: 10HmaX-0005vi-00 Subject is: ""
->>> warn: condition test succeeded
->>> processing "deny"
->>> deny: condition test succeeded
-LOG: 10HmaX-0005vi-00 H=[V4NET.0.0.0] F=<> rejected after DATA: reply_address=<>
->>> processing "accept"
->>> accept: condition test succeeded
+LOG: 10HmaX-000000005vi-0000 Subject is: ""
+>>> warn: condition test succeeded in ACL "check_data"
+>>> processing "deny" (TESTSUITE/test-config 52)
+>>> message: reply_address=<$reply_address>
+>>> deny: condition test succeeded in ACL "check_data"
+>>> end of ACL "check_data": DENY
+LOG: 10HmaX-000000005vi-0000 H=(test) [V4NET.0.0.0] F=<> rejected after DATA: reply_address=<>
+>>> processing "accept" (TESTSUITE/test-config 70)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
>>> host in ignore_fromline_hosts? no (option unset)
>>> using ACL "check_data"
->>> processing "warn"
+>>> processing "warn" (TESTSUITE/test-config 51)
>>> check logwrite = Subject is: "$h_subject:"
>>> = Subject is: ""
-LOG: 10HmaY-0005vi-00 Subject is: ""
->>> warn: condition test succeeded
->>> processing "deny"
->>> deny: condition test succeeded
-LOG: 10HmaY-0005vi-00 H=[V4NET.0.0.0] F=<> rejected after DATA: reply_address=<a@b>
->>> processing "accept"
->>> accept: condition test succeeded
+LOG: 10HmaY-000000005vi-0000 Subject is: ""
+>>> warn: condition test succeeded in ACL "check_data"
+>>> processing "deny" (TESTSUITE/test-config 52)
+>>> message: reply_address=<$reply_address>
+>>> deny: condition test succeeded in ACL "check_data"
+>>> end of ACL "check_data": DENY
+LOG: 10HmaY-000000005vi-0000 H=(test) [V4NET.0.0.0] F=<> rejected after DATA: reply_address=<a@b>
+>>> processing "accept" (TESTSUITE/test-config 70)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
>>> host in ignore_fromline_hosts? no (option unset)
>>> using ACL "check_data"
->>> processing "warn"
+>>> processing "warn" (TESTSUITE/test-config 51)
>>> check logwrite = Subject is: "$h_subject:"
>>> = Subject is: ""
-LOG: 10HmaZ-0005vi-00 Subject is: ""
->>> warn: condition test succeeded
->>> processing "deny"
->>> deny: condition test succeeded
-LOG: 10HmaZ-0005vi-00 H=[V4NET.0.0.0] F=<> rejected after DATA: reply_address=<c@d>
->>> processing "accept"
->>> accept: condition test succeeded
+LOG: 10HmaZ-000000005vi-0000 Subject is: ""
+>>> warn: condition test succeeded in ACL "check_data"
+>>> processing "deny" (TESTSUITE/test-config 52)
+>>> message: reply_address=<$reply_address>
+>>> deny: condition test succeeded in ACL "check_data"
+>>> end of ACL "check_data": DENY
+LOG: 10HmaZ-000000005vi-0000 H=(test) [V4NET.0.0.0] F=<> rejected after DATA: reply_address=<c@d>
+>>> processing "accept" (TESTSUITE/test-config 70)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
>>> host in ignore_fromline_hosts? no (option unset)
>>> using ACL "check_data"
->>> processing "warn"
+>>> processing "warn" (TESTSUITE/test-config 51)
>>> check logwrite = Subject is: "$h_subject:"
>>> = Subject is: ""
-LOG: 10HmbA-0005vi-00 Subject is: ""
->>> warn: condition test succeeded
->>> processing "deny"
->>> deny: condition test succeeded
-LOG: 10HmbA-0005vi-00 H=[V4NET.0.0.0] F=<> rejected after DATA: reply_address=<>
->>> processing "accept"
->>> accept: condition test succeeded
+LOG: 10HmbA-000000005vi-0000 Subject is: ""
+>>> warn: condition test succeeded in ACL "check_data"
+>>> processing "deny" (TESTSUITE/test-config 52)
+>>> message: reply_address=<$reply_address>
+>>> deny: condition test succeeded in ACL "check_data"
+>>> end of ACL "check_data": DENY
+LOG: 10HmbA-000000005vi-0000 H=(test) [V4NET.0.0.0] F=<> rejected after DATA: reply_address=<>
+>>> processing "accept" (TESTSUITE/test-config 70)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
>>> host in ignore_fromline_hosts? no (option unset)
>>> using ACL "check_data"
->>> processing "warn"
+>>> processing "warn" (TESTSUITE/test-config 51)
>>> check logwrite = Subject is: "$h_subject:"
>>> = Subject is: ""
-LOG: 10HmbB-0005vi-00 Subject is: ""
->>> warn: condition test succeeded
->>> processing "deny"
->>> deny: condition test succeeded
-LOG: 10HmbB-0005vi-00 H=[V4NET.0.0.0] F=<> rejected after DATA: reply_address=<x@y>
+LOG: 10HmbB-000000005vi-0000 Subject is: ""
+>>> warn: condition test succeeded in ACL "check_data"
+>>> processing "deny" (TESTSUITE/test-config 52)
+>>> message: reply_address=<$reply_address>
+>>> deny: condition test succeeded in ACL "check_data"
+>>> end of ACL "check_data": DENY
+LOG: 10HmbB-000000005vi-0000 H=(test) [V4NET.0.0.0] F=<> rejected after DATA: reply_address=<x@y>
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)
>>> using ACL "connect0"
->>> processing "accept"
->>> accept: condition test succeeded
->>> processing "accept"
->>> accept: condition test succeeded
+>>> processing "accept" (TESTSUITE/test-config 42)
+>>> accept: condition test succeeded in ACL "connect0"
+>>> end of ACL "connect0": ACCEPT
+>>> test in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
+>>> processing "accept" (TESTSUITE/test-config 70)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
>>> host in ignore_fromline_hosts? no (option unset)
>>> using ACL "check_data"
->>> processing "warn"
+>>> processing "warn" (TESTSUITE/test-config 51)
>>> check logwrite = Subject is: "$h_subject:"
>>> = Subject is: "=?iso-8859-8?Q?_here_we_go=3A_a_string_that_is_going_to_be_encoded=3A_it_will_go_over_the_75-char_limit_by_a_long_way=3B_in_fact_this_one_will_go_over_the_150_character_limit?="
-LOG: 10HmbC-0005vi-00 Subject is: "=?iso-8859-8?Q?_here_we_go=3A_a_string_that_is_going_to_be_encoded=3A_it_will_go_over_the_75-char_limit_by_a_long_way=3B_in_fact_this_one_will_go_over_the_150_character_limit?="
->>> warn: condition test succeeded
->>> processing "deny"
->>> deny: condition test succeeded
-LOG: 10HmbC-0005vi-00 H=[V4NET.0.0.0] F=<> rejected after DATA: reply_address=<>
+LOG: 10HmbC-000000005vi-0000 Subject is: "=?iso-8859-8?Q?_here_we_go=3A_a_string_that_is_going_to_be_encoded=3A_it_will_go_over_the_75-char_limit_by_a_long_way=3B_in_fact_this_one_will_go_over_the_150_character_limit?="
+>>> warn: condition test succeeded in ACL "check_data"
+>>> processing "deny" (TESTSUITE/test-config 52)
+>>> message: reply_address=<$reply_address>
+>>> deny: condition test succeeded in ACL "check_data"
+>>> end of ACL "check_data": DENY
+LOG: 10HmbC-000000005vi-0000 H=(test) [V4NET.0.0.0] F=<> rejected after DATA: reply_address=<>
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)
>>> using ACL "connect0"
->>> processing "accept"
->>> accept: condition test succeeded
->>> processing "accept"
->>> accept: condition test succeeded
+>>> processing "accept" (TESTSUITE/test-config 42)
+>>> accept: condition test succeeded in ACL "connect0"
+>>> end of ACL "connect0": ACCEPT
+>>> test in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
+>>> processing "accept" (TESTSUITE/test-config 70)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
>>> host in ignore_fromline_hosts? no (option unset)
>>> using ACL "check_data"
->>> processing "warn"
+>>> processing "warn" (TESTSUITE/test-config 51)
>>> check logwrite = Subject is: "$h_subject:"
>>> = Subject is: " here we go: a string that is going to be encoded: it will go over the 75-char limit by a long way; in fact this one will go over the 150 character limit"
-LOG: 10HmbD-0005vi-00 Subject is: " here we go: a string that is going to be encoded: it will go over the 75-char limit by a long way; in fact this one will go over the 150 character limit"
->>> warn: condition test succeeded
->>> processing "deny"
->>> deny: condition test succeeded
-LOG: 10HmbD-0005vi-00 H=[V4NET.0.0.0] F=<> rejected after DATA: reply_address=<>
+LOG: 10HmbD-000000005vi-0000 Subject is: " here we go: a string that is going to be encoded: it will go over the 75-char limit by a long way; in fact this one will go over the 150 character limit"
+>>> warn: condition test succeeded in ACL "check_data"
+>>> processing "deny" (TESTSUITE/test-config 52)
+>>> message: reply_address=<$reply_address>
+>>> deny: condition test succeeded in ACL "check_data"
+>>> 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 ....
changed uid/gid: -C, -D, -be or -bf forces real uid
- uid=CALLER_UID gid=CALLER_GID pid=pppp
+ uid=CALLER_UID gid=CALLER_GID pid=p1240
configuration file is TESTSUITE/test-config
admin user
+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"? no (malformed IPv4 address or address mask)
-1.2.3.4 in "1.2.3.4/abc"? no (malformed IPv4 address or address mask)
-search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+ 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 >>>>>>>>>>>>>>>>