diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2022-06-19 17:15:25 +0100 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2022-06-19 17:15:25 +0100 |
commit | 7d5055276a22a91de71104775ade236051cebefc (patch) | |
tree | 970e5668c3ce454473eef2a760c9b969748dbb6b /test | |
parent | 7a23eb345eb78c928e7d59be4cdc917d63d2a9f9 (diff) |
Regex compile cacheing
Diffstat (limited to 'test')
-rw-r--r-- | test/confs/0632 | 37 | ||||
-rw-r--r-- | test/log/0632 | 5 | ||||
-rw-r--r-- | test/scripts/0000-Basic/0632 | 39 | ||||
-rw-r--r-- | test/stderr/0002 | 8 | ||||
-rw-r--r-- | test/stderr/0183 | 27 | ||||
-rw-r--r-- | test/stderr/0386 | 3 | ||||
-rw-r--r-- | test/stderr/0388 | 3 | ||||
-rw-r--r-- | test/stderr/0398 | 3 | ||||
-rw-r--r-- | test/stderr/0432 | 3 | ||||
-rw-r--r-- | test/stderr/0471 | 183 | ||||
-rw-r--r-- | test/stderr/0544 | 6 | ||||
-rw-r--r-- | test/stderr/0632 | 908 | ||||
-rw-r--r-- | test/stderr/3400 | 3 | ||||
-rw-r--r-- | test/stderr/5005 | 4 | ||||
-rw-r--r-- | test/stderr/5006 | 1 | ||||
-rw-r--r-- | test/stderr/5410 | 9 | ||||
-rw-r--r-- | test/stderr/5420 | 9 |
17 files changed, 1251 insertions, 0 deletions
diff --git a/test/confs/0632 b/test/confs/0632 new file mode 100644 index 000000000..55592bf3b --- /dev/null +++ b/test/confs/0632 @@ -0,0 +1,37 @@ +# Exim test configuration 0632 + +.include DIR/aux-var/std_conf_prefix + +primary_hostname = myhost.test.ex +queue_only + +# ----- Main settings ----- + +acl_smtp_rcpt = chk_rcpt + +# ----- ACL ----- + +begin acl + +chk_rcpt: + # We're doing these to see what REs the daemon compiles, in stderr + warn domains = ^nomatch_list + logwrite = should not match RE in list + + warn condition = ${if match {a_random_string} {static_RE}} + logwrite = should not match RE in match cond + warn condition = ${if match {a_random_string} {tricky_static_RE\$}} + logwrite = should not match RE in match cond + warn condition = ${if match {a_random_string} {pid=${pid} uncacheable_RE}} + logwrite = should not match RE in match cond + accept + +# ----- Routers ----- + +begin routers + +r0: + driver = redirect + data = :blackhole: +# +# End diff --git a/test/log/0632 b/test/log/0632 new file mode 100644 index 000000000..fec06c918 --- /dev/null +++ b/test/log/0632 @@ -0,0 +1,5 @@ + +******** SERVER ******** +1999-03-02 09:44:33 exim x.yz daemon started: pid=p1234, no queue runs, listening for SMTP on port PORT_D +1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@test.ex H=(test.ex) [127.0.0.1] P=smtp S=sss +1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@test.ex H=(test.ex) [127.0.0.1] P=smtp S=sss diff --git a/test/scripts/0000-Basic/0632 b/test/scripts/0000-Basic/0632 new file mode 100644 index 000000000..4bdefca0b --- /dev/null +++ b/test/scripts/0000-Basic/0632 @@ -0,0 +1,39 @@ +# regex caching +# +exim -d-all+queue_run+expand+lookup -DSERVER=server -bd -oX PORT_D +**** +# +client 127.0.0.1 PORT_D +??? 220 +HELO test.ex +??? 250 +MAIL FROM:<CALLER@test.ex> +??? 250 +RCPT TO:<dest_1@test.ex> +??? 250 +DATA +??? 354 +. +??? 250 +QUIT +??? 221 +**** +client 127.0.0.1 PORT_D +??? 220 +HELO test.ex +??? 250 +MAIL FROM:<CALLER@test.ex> +??? 250 +RCPT TO:<dest_2@test.ex> +??? 250 +DATA +??? 354 +. +??? 250 +QUIT +??? 221 +**** +# +killdaemon +no_msglog_check +no_stdout_check diff --git a/test/stderr/0002 b/test/stderr/0002 index 8f6bf8720..2f48f709f 100644 --- a/test/stderr/0002 +++ b/test/stderr/0002 @@ -26,6 +26,9 @@ dropping to exim gid; retaining priv uid ├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 ├──condition: match{abcd}{\N^([ab]+)(\w+)$\N} ├─────result: true ╭considering: $2$1}fail} @@ -49,6 +52,7 @@ dropping to exim gid; retaining priv uid ├considering: }{$2$1}fail} ├──expanding: \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} @@ -151,6 +155,9 @@ dropping to exim gid; retaining priv uid |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 |--condition: match{abcd}{\N^([ab]+)(\w+)$\N} |-----result: true /considering: $2$1}fail} @@ -174,6 +181,7 @@ dropping to exim gid; retaining priv uid |considering: }{$2$1}fail} |--expanding: \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} diff --git a/test/stderr/0183 b/test/stderr/0183 index 2e2969aaa..63a312565 100644 --- a/test/stderr/0183 +++ b/test/stderr/0183 @@ -16,6 +16,8 @@ routing userx@test.again.dns --------> srv router <-------- local_part=userx domain=test.again.dns checking local_parts +compiled caseless RE '^srv' not found in local cache +compiled RE '^srv' saved in local cache userx in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -47,6 +49,7 @@ routing abcd@test.again.dns --------> srv router <-------- local_part=abcd domain=test.again.dns checking local_parts +compiled caseless RE '^srv' found in local cache abcd in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -74,6 +77,7 @@ routing abcd@ten-1.test.ex --------> srv router <-------- local_part=abcd domain=ten-1.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache abcd in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -117,6 +121,7 @@ routing usery@test.again.dns --------> srv router <-------- local_part=usery domain=test.again.dns checking local_parts +compiled caseless RE '^srv' found in local cache usery in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -150,6 +155,7 @@ routing userz@test.again.dns --------> srv router <-------- local_part=userz domain=test.again.dns checking local_parts +compiled caseless RE '^srv' found in local cache userz in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -178,6 +184,7 @@ routing xyz@ten-1.test.ex --------> srv router <-------- local_part=xyz domain=ten-1.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache xyz in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -226,6 +233,8 @@ routing userx@test.fail.dns --------> srv router <-------- local_part=userx domain=test.fail.dns checking local_parts +compiled caseless RE '^srv' not found in local cache +compiled RE '^srv' saved in local cache userx in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -256,6 +265,7 @@ routing abcd@test.fail.dns --------> srv router <-------- local_part=abcd domain=test.fail.dns checking local_parts +compiled caseless RE '^srv' found in local cache abcd in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -283,6 +293,7 @@ routing abcd@ten-1.test.ex --------> srv router <-------- local_part=abcd domain=ten-1.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache abcd in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -326,6 +337,7 @@ routing usery@test.fail.dns --------> srv router <-------- local_part=usery domain=test.fail.dns checking local_parts +compiled caseless RE '^srv' found in local cache usery in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -358,6 +370,7 @@ routing userz@test.fail.dns --------> srv router <-------- local_part=userz domain=test.fail.dns checking local_parts +compiled caseless RE '^srv' found in local cache userz in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -386,6 +399,7 @@ routing xyz@ten-1.test.ex --------> srv router <-------- local_part=xyz domain=ten-1.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache xyz in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -434,6 +448,8 @@ routing userx@nonexist.test.ex --------> srv router <-------- local_part=userx domain=nonexist.test.ex checking local_parts +compiled caseless RE '^srv' not found in local cache +compiled RE '^srv' saved in local cache userx in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -466,6 +482,7 @@ routing abcd@nonexist.test.ex --------> srv router <-------- local_part=abcd domain=nonexist.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache abcd in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -494,6 +511,7 @@ routing abcd@ten-1.test.ex --------> srv router <-------- local_part=abcd domain=ten-1.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache abcd in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -537,6 +555,7 @@ routing usery@nonexist.test.ex --------> srv router <-------- local_part=usery domain=nonexist.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache usery in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -570,6 +589,7 @@ routing userz@nonexist.test.ex --------> srv router <-------- local_part=userz domain=nonexist.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache userz in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -598,6 +618,7 @@ routing xyz@ten-1.test.ex --------> srv router <-------- local_part=xyz domain=ten-1.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache xyz in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -646,6 +667,8 @@ routing srv@test.again.dns --------> srv router <-------- local_part=srv domain=test.again.dns checking local_parts +compiled caseless RE '^srv' not found in local cache +compiled RE '^srv' saved in local cache srv in "^srv"? yes (matched "^srv") calling srv router srv router called for srv@test.again.dns @@ -668,6 +691,7 @@ routing srv@test.fail.dns --------> srv router <-------- local_part=srv domain=test.fail.dns checking local_parts +compiled caseless RE '^srv' found in local cache srv in "^srv"? yes (matched "^srv") calling srv router srv router called for srv@test.fail.dns @@ -711,6 +735,8 @@ routing userx@nonexist.example.com --------> srv router <-------- local_part=userx domain=nonexist.example.com checking local_parts +compiled caseless RE '^srv' not found in local cache +compiled RE '^srv' saved in local cache userx in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -743,6 +769,7 @@ routing userd@nonexist.example.com --------> srv router <-------- local_part=userd domain=nonexist.example.com checking local_parts +compiled caseless RE '^srv' found in local cache userd in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- diff --git a/test/stderr/0386 b/test/stderr/0386 index e4275b92f..6b675d4ab 100644 --- a/test/stderr/0386 +++ b/test/stderr/0386 @@ -50,6 +50,8 @@ check acl = TESTSUITE/aux-fixed/0386.acl1 accept: condition test failed in ACL "TESTSUITE/aux-fixed/0386.acl1" processing "deny" (TESTSUITE/test-config 44) check local_parts = ^.*[@%!/|] + compiled caseless RE '^.*[@%!/|]' not found in local cache + compiled RE '^.*[@%!/|]' saved in local cache 1 in "^.*[@%!/|]"? no (end of list) deny: condition test failed in ACL "TESTSUITE/aux-fixed/0386.acl1" processing "require" (TESTSUITE/test-config 44) @@ -106,6 +108,7 @@ check acl = TESTSUITE/aux-fixed/0386.acl1 accept: condition test failed in ACL "TESTSUITE/aux-fixed/0386.acl1" processing "deny" (TESTSUITE/test-config 44) check local_parts = ^.*[@%!/|] + compiled caseless RE '^.*[@%!/|]' found in local cache 1 in "^.*[@%!/|]"? no (end of list) deny: condition test failed in ACL "TESTSUITE/aux-fixed/0386.acl1" processing "require" (TESTSUITE/test-config 44) diff --git a/test/stderr/0388 b/test/stderr/0388 index 49b407430..c3c11ca75 100644 --- a/test/stderr/0388 +++ b/test/stderr/0388 @@ -87,6 +87,9 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_S ... connected SMTP>> EHLO myhost.test.ex cmd buf flush ddd bytes SMTP<< 250 OK + compiled RE '.outlook.com$' not found in local cache + compiling RE '.outlook.com$' + compiled RE '.outlook.com$' saved in local cache 127.0.0.1 in hosts_require_auth? no (option unset) SMTP>> MAIL FROM:<CALLER@myhost.test.ex> cmd buf flush ddd bytes diff --git a/test/stderr/0398 b/test/stderr/0398 index 6ca63ed96..bdd3940ae 100644 --- a/test/stderr/0398 +++ b/test/stderr/0398 @@ -136,6 +136,9 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_S ... connected SMTP>> EHLO mail.test.ex cmd buf flush ddd bytes SMTP<< 250 OK + compiled RE '.outlook.com$' not found in local cache + compiling RE '.outlook.com$' + compiled RE '.outlook.com$' saved in local cache not using PIPELINING not using DSN 127.0.0.1 in hosts_require_auth? no (option unset) diff --git a/test/stderr/0432 b/test/stderr/0432 index b29e326c6..be534ca18 100644 --- a/test/stderr/0432 +++ b/test/stderr/0432 @@ -103,6 +103,9 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_S ... connected SMTP>> EHLO myhost.test.ex cmd buf flush ddd bytes SMTP<< 250 OK + compiled RE '.outlook.com$' not found in local cache + compiling RE '.outlook.com$' + compiled RE '.outlook.com$' saved in local cache not using PIPELINING not using DSN 127.0.0.1 in hosts_require_auth? no (option unset) diff --git a/test/stderr/0471 b/test/stderr/0471 index 0c170e1bc..7e4d62809 100644 --- a/test/stderr/0471 +++ b/test/stderr/0471 @@ -100,6 +100,8 @@ To: random@test.example, qualify & rewrite recipients list address match test: subject=r1@test.ex pattern=^.{40,}@* + compiled RE '^.{40,}@*' not found in local cache + compiled RE '^.{40,}@*' saved in local cache r1@test.ex in "^.{40,}@*"? no (end of list) address match test: subject=r1@test.ex pattern=*@* test.ex in "*"? yes (matched "*") @@ -125,6 +127,7 @@ qualify & rewrite recipients list lookup failed global rewrite rules address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list) address match test: subject=CALLER@myhost.test.ex pattern=*@* myhost.test.ex in "*"? yes (matched "*") @@ -239,6 +242,7 @@ rewrite headers random@test.exam **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -421,6 +425,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -602,6 +607,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -783,6 +789,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -964,6 +971,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -1145,6 +1153,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -1326,6 +1335,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -1507,6 +1517,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -1688,6 +1699,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -1869,6 +1881,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -2049,6 +2062,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -2229,6 +2243,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -2409,6 +2424,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -2589,6 +2605,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -2769,6 +2786,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -2949,6 +2967,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -3129,6 +3148,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -3309,6 +3329,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -3489,6 +3510,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -3669,6 +3691,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -3849,6 +3872,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -4029,6 +4053,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -4209,6 +4234,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -4388,6 +4414,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -4567,6 +4594,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -4746,6 +4774,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -4925,6 +4954,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -5104,6 +5134,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -5283,6 +5314,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -5462,6 +5494,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -5641,6 +5674,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -5820,6 +5854,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -5999,6 +6034,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -6178,6 +6214,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -6357,6 +6394,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -6535,6 +6573,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -6713,6 +6752,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -6891,6 +6931,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -7069,6 +7110,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -7247,6 +7289,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -7425,6 +7468,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -7603,6 +7647,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -7781,6 +7826,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -7959,6 +8005,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -8137,6 +8184,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -8315,6 +8363,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -8493,6 +8542,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -8671,6 +8721,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -8848,6 +8899,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -9025,6 +9077,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -9202,6 +9255,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -9379,6 +9433,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -9556,6 +9611,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -9733,6 +9789,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -9910,6 +9967,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -10087,6 +10145,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -10264,6 +10323,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -10441,6 +10501,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -10618,6 +10679,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -10795,6 +10857,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -10971,6 +11034,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -11147,6 +11211,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -11323,6 +11388,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -11499,6 +11565,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -11675,6 +11742,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -11851,6 +11919,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -12027,6 +12096,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -12203,6 +12273,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -12379,6 +12450,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -12555,6 +12627,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -12731,6 +12804,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -12907,6 +12981,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -13083,6 +13158,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -13258,6 +13334,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -13433,6 +13510,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -13608,6 +13686,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -13783,6 +13862,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -13958,6 +14038,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -14133,6 +14214,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -14308,6 +14390,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -14483,6 +14566,7 @@ remainder: random@test.example, random@test.exa **** debug string too long - truncated **** address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -14658,6 +14742,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -14832,6 +14917,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -15005,6 +15091,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -15177,6 +15264,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -15348,6 +15436,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -15518,6 +15607,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -15687,6 +15777,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -15855,6 +15946,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -16022,6 +16114,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -16188,6 +16281,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -16353,6 +16447,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -16517,6 +16612,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -16680,6 +16776,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -16842,6 +16939,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -17003,6 +17101,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -17163,6 +17262,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -17322,6 +17422,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -17480,6 +17581,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -17637,6 +17739,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -17793,6 +17896,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -17948,6 +18052,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -18102,6 +18207,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -18255,6 +18361,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -18407,6 +18514,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -18558,6 +18666,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -18708,6 +18817,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -18857,6 +18967,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -19005,6 +19116,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -19152,6 +19264,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -19298,6 +19411,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -19443,6 +19557,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -19587,6 +19702,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -19730,6 +19846,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -19872,6 +19989,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -20013,6 +20131,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -20153,6 +20272,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -20292,6 +20412,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -20430,6 +20551,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -20567,6 +20689,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -20703,6 +20826,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -20838,6 +20962,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -20972,6 +21097,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -21105,6 +21231,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -21237,6 +21364,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -21368,6 +21496,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -21498,6 +21627,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -21627,6 +21757,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -21755,6 +21886,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -21882,6 +22014,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -22008,6 +22141,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -22133,6 +22267,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -22257,6 +22392,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -22380,6 +22516,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -22502,6 +22639,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -22623,6 +22761,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -22743,6 +22882,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -22862,6 +23002,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -22980,6 +23121,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -23097,6 +23239,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -23213,6 +23356,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -23328,6 +23472,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -23442,6 +23587,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -23555,6 +23701,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -23667,6 +23814,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -23778,6 +23926,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -23888,6 +24037,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -23997,6 +24147,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -24105,6 +24256,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -24212,6 +24364,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -24318,6 +24471,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -24423,6 +24577,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -24527,6 +24682,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -24630,6 +24786,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -24732,6 +24889,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -24833,6 +24991,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -24933,6 +25092,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -25032,6 +25192,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -25130,6 +25291,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -25227,6 +25389,7 @@ remainder: random@test.example, random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -25323,6 +25486,7 @@ To: random@rwtest.example, remainder: random@test.example, random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -25418,6 +25582,7 @@ To: random@rwtest.example, **** debug string too long - truncated **** remainder: random@test.example address match test: subject=random@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache random@test.example in "^.{40,}@*"? no (end of list) address match test: subject=random@test.example pattern=*@* test.example in "*"? yes (matched "*") @@ -25515,6 +25680,7 @@ remainder: rewrite_one_header: type=F: From: CALLER_NAME <CALLER@myhost.test.ex> address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list) address match test: subject=CALLER@myhost.test.ex pattern=*@* myhost.test.ex in "*"? yes (matched "*") @@ -25744,6 +25910,8 @@ To: localpart_with_056_chars_56789012345678901234567890123456@test.example qualify & rewrite recipients list address match test: subject=r2@test.ex pattern=^.{40,}@* + compiled RE '^.{40,}@*' not found in local cache + compiled RE '^.{40,}@*' saved in local cache r2@test.ex in "^.{40,}@*"? no (end of list) address match test: subject=r2@test.ex pattern=*@* test.ex in "*"? yes (matched "*") @@ -25769,6 +25937,7 @@ qualify & rewrite recipients list lookup failed global rewrite rules address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list) address match test: subject=CALLER@myhost.test.ex pattern=*@* myhost.test.ex in "*"? yes (matched "*") @@ -25804,6 +25973,7 @@ rewrite headers rewrite_one_header: type=T: To: localpart_with_056_chars_56789012345678901234567890123456@test.example address match test: subject=localpart_with_056_chars_56789012345678901234567890123456@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache localpart_with_056_chars_56789012345678901234567890123456@test.example in "^.{40,}@*"? yes (matched "^.{40,}@*") LOG: address_rewrite MAIN "localpart_with_056_chars_56789012345678901234567890123456@test.example" from to: rewritten as "deny_me@test.example" by rule 1 @@ -25831,6 +26001,7 @@ remainder: rewrite_one_header: type=F: From: CALLER_NAME <CALLER@myhost.test.ex> address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list) address match test: subject=CALLER@myhost.test.ex pattern=*@* myhost.test.ex in "*"? yes (matched "*") @@ -25904,6 +26075,8 @@ To: localpart_with_236_chars_567890123456789012345678901234567890123456789012345 qualify & rewrite recipients list address match test: subject=r3@test.ex pattern=^.{40,}@* + compiled RE '^.{40,}@*' not found in local cache + compiled RE '^.{40,}@*' saved in local cache r3@test.ex in "^.{40,}@*"? no (end of list) address match test: subject=r3@test.ex pattern=*@* test.ex in "*"? yes (matched "*") @@ -25929,6 +26102,7 @@ qualify & rewrite recipients list lookup failed global rewrite rules address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list) address match test: subject=CALLER@myhost.test.ex pattern=*@* myhost.test.ex in "*"? yes (matched "*") @@ -25964,6 +26138,7 @@ rewrite headers rewrite_one_header: type=T: To: localpart_with_236_chars_56789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example address match test: subject=localpart_with_236_chars_56789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache localpart_with_236_chars_56789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example in "^.{40,}@*"? yes (matched "^.{40,}@*") LOG: address_rewrite MAIN "localpart_with_236_chars_56789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example" from to: rewritten as "deny_me@test.example" by rule 1 @@ -25991,6 +26166,7 @@ remainder: rewrite_one_header: type=F: From: CALLER_NAME <CALLER@myhost.test.ex> address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list) address match test: subject=CALLER@myhost.test.ex pattern=*@* myhost.test.ex in "*"? yes (matched "*") @@ -26064,6 +26240,8 @@ To: localpart_with_256_chars_567890123456789012345678901234567890123456789012345 qualify & rewrite recipients list address match test: subject=r4@test.ex pattern=^.{40,}@* + compiled RE '^.{40,}@*' not found in local cache + compiled RE '^.{40,}@*' saved in local cache r4@test.ex in "^.{40,}@*"? no (end of list) address match test: subject=r4@test.ex pattern=*@* test.ex in "*"? yes (matched "*") @@ -26089,6 +26267,7 @@ qualify & rewrite recipients list lookup failed global rewrite rules address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list) address match test: subject=CALLER@myhost.test.ex pattern=*@* myhost.test.ex in "*"? yes (matched "*") @@ -26148,6 +26327,8 @@ To: undisclosed recpients:; qualify & rewrite recipients list address match test: subject=r5@test.ex pattern=^.{40,}@* + compiled RE '^.{40,}@*' not found in local cache + compiled RE '^.{40,}@*' saved in local cache r5@test.ex in "^.{40,}@*"? no (end of list) address match test: subject=r5@test.ex pattern=*@* test.ex in "*"? yes (matched "*") @@ -26173,6 +26354,7 @@ qualify & rewrite recipients list lookup failed global rewrite rules address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list) address match test: subject=CALLER@myhost.test.ex pattern=*@* myhost.test.ex in "*"? yes (matched "*") @@ -26210,6 +26392,7 @@ rewrite headers rewrite_one_header: type=F: From: CALLER_NAME <CALLER@myhost.test.ex> address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@* + compiled RE '^.{40,}@*' found in local cache CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list) address match test: subject=CALLER@myhost.test.ex pattern=*@* myhost.test.ex in "*"? yes (matched "*") diff --git a/test/stderr/0544 b/test/stderr/0544 index 6f298e2f1..2d9f129c0 100644 --- a/test/stderr/0544 +++ b/test/stderr/0544 @@ -363,6 +363,9 @@ LOG: MAIN ├considering: } }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}} ├──expanding: (?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: @@ -372,6 +375,9 @@ LOG: MAIN ├considering: } }} {no}{yes}} ├──expanding: (?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} }} ├─────result: false ╭───scanning: no}{yes}} diff --git a/test/stderr/0632 b/test/stderr/0632 new file mode 100644 index 000000000..eca5a279e --- /dev/null +++ b/test/stderr/0632 @@ -0,0 +1,908 @@ + +******** SERVER ******** +Exim version x.yz .... +adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys +configuration file is TESTSUITE/test-config +admin user +dropping to exim gid; retaining priv uid +daemon_smtp_port overridden by -oX: + <: 1225 +creating notifier socket + ╭considering: $spool_directory/exim_daemon_notify + ├considering: /exim_daemon_notify + ├───────text: /exim_daemon_notify + ├──expanding: $spool_directory/exim_daemon_notify + ╰─────result: TESTSUITE/spool/exim_daemon_notify + TESTSUITE/spool/exim_daemon_notify +listening on all interfaces (IPv6) port PORT_D +listening on all interfaces (IPv4) port PORT_D +pid written to TESTSUITE/spool/exim-daemon.pid +LOG: MAIN + exim x.yz daemon started: pid=p1234, no queue runs, listening for SMTP on port PORT_D +daemon running with uid=EXIM_UID gid=EXIM_GID euid=EXIM_UID egid=EXIM_GID +Listening... +Connection request from 127.0.0.1 port sssss +search_tidyup called +p1235 Process p1235 is handling incoming connection from [127.0.0.1] +p1235 ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full +p1235 ├considering: ESMTP Exim $version_number $tod_full +p1235 ├───────text: ESMTP Exim +p1235 ├considering: $version_number $tod_full +p1235 ├considering: $tod_full +p1235 ├───────text: +p1235 ├considering: $tod_full +p1235 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full +p1235 ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 +p1235 Process p1235 is ready for new message +p1235 compiled caseless RE '^nomatch_list' not found in local cache +p1235 compiled RE '^nomatch_list' saved in local cache +p1235 sending RE '^nomatch_list' to daemon +p1235 ╭considering: $spool_directory/exim_daemon_notify +p1235 ├considering: /exim_daemon_notify +p1235 ├───────text: /exim_daemon_notify +p1235 ├──expanding: $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 ├───────text: a_random_string +p1235 ├considering: } {static_RE}} +p1235 ├──expanding: a_random_string +p1235 ╰─────result: a_random_string +p1235 ╭considering: static_RE}} +p1235 ├───────text: static_RE +p1235 ├considering: }} +p1235 ├──expanding: static_RE +p1235 ╰─────result: static_RE +p1235 compiled RE 'static_RE' not found in local cache +p1235 compiling RE 'static_RE' +p1235 compiled RE 'static_RE' saved in local cache +p1235 sending RE 'static_RE' to daemon +p1235 ╭considering: $spool_directory/exim_daemon_notify +p1235 ├considering: /exim_daemon_notify +p1235 ├───────text: /exim_daemon_notify +p1235 ├──expanding: $spool_directory/exim_daemon_notify +p1235 ╰─────result: TESTSUITE/spool/exim_daemon_notify +p1235 ├──condition: match {a_random_string} {static_RE} +p1235 ├─────result: false +p1235 ├──expanding: ${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 ├───────text: a_random_string +p1235 ├considering: } {tricky_static_RE\$}} +p1235 ├──expanding: 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 ╰─────result: tricky_static_RE$ +p1235 compiled RE 'tricky_static_RE$' not found in local cache +p1235 compiling RE 'tricky_static_RE$' +p1235 compiled RE 'tricky_static_RE$' saved in local cache +p1235 sending RE 'tricky_static_RE$' to daemon +p1235 ╭considering: $spool_directory/exim_daemon_notify +p1235 ├considering: /exim_daemon_notify +p1235 ├───────text: /exim_daemon_notify +p1235 ├──expanding: $spool_directory/exim_daemon_notify +p1235 ╰─────result: TESTSUITE/spool/exim_daemon_notify +p1235 ├──condition: match {a_random_string} {tricky_static_RE\$} +p1235 ├─────result: false +p1235 ├──expanding: ${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 ├───────text: a_random_string +p1235 ├considering: } {pid=${pid} uncacheable_RE}} +p1235 ├──expanding: a_random_string +p1235 ╰─────result: a_random_string +p1235 ╭considering: pid=${pid} uncacheable_RE}} +p1235 ├───────text: pid= +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 compiling RE 'pid=p1235 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 ╰─────result: +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 ╭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 ├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 +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 ├──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: } }}${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 ╎╰───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 ╰───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 ├──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 ├───────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: ) +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 +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 }} +p1235 ├─────result: +p1235 ╰───skipping: result is not used +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: ${if def: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: }}${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 ╰──(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 }}id $message_exim_id${if def:received_for { +p1235 for $received_for}} +p1235 ├──expanding: ($tls_in_ver) +p1235 ├─────result: () +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 ├──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: +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 +p1235 ├─────result: tls +p1235 +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: ) +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 ├──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: >) +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 +p1235 ╰─────result: (envelope-from <CALLER@test.ex>) +p1235 +p1235 ╰──(tainted) +p1235 ├───item-res: (envelope-from <CALLER@test.ex>) +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: ${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: $received_for}} +p1235 ├considering: }} +p1235 ├──expanding: +p1235 for $received_for +p1235 ╰─────result: +p1235 for dest_1@test.ex +p1235 ╰──(tainted) +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 <CALLER@test.ex>) +p1235 id 10HmaX-0005vi-00 +p1235 for dest_1@test.ex +p1235 ╰──(tainted) +p1235 ╭considering: ${tod_full} +p1235 ├──expanding: ${tod_full} +p1235 ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 +LOG: MAIN + <= CALLER@test.ex H=(test.ex) [127.0.0.1] P=smtp S=sss +search_tidyup called +Process p1235 is ready for new message +LOG: smtp_connection MAIN + SMTP connection from (test.ex) [127.0.0.1] closed by QUIT +p1234 1 SMTP accept process running +p1234 Listening... +p1234 daemon_notification from addr '' +p1234 compiled caseless RE '^nomatch_list' not found in local cache +p1234 compiling caseless RE '^nomatch_list' +p1234 compiled RE '^nomatch_list' saved in local cache +p1234 Listening... +p1234 daemon_notification from addr '' +p1234 compiled RE 'static_RE' not found in local cache +p1234 compiling RE 'static_RE' +p1234 compiled RE 'static_RE' saved in local cache +p1234 Listening... +p1234 daemon_notification from addr '' +p1234 compiled RE 'tricky_static_RE$' not found in local cache +p1234 compiling RE 'tricky_static_RE$' +p1234 compiled RE 'tricky_static_RE$' saved in local cache +p1234 Listening... +search_tidyup called +>>>>>>>>>>>>>>>> Exim pid=p1235 (daemon-accept) terminating with rc=0 >>>>>>>>>>>>>>>> +p1234 child p1235 ended: status=0x0 +p1234 normal exit, 0 +p1234 0 SMTP accept processes now running +p1234 Listening... +p1234 Connection request from 127.0.0.1 port sssss +p1234 search_tidyup called +p1236 Process p1236 is handling incoming connection from [127.0.0.1] +p1236 ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full +p1236 ├considering: ESMTP Exim $version_number $tod_full +p1236 ├───────text: ESMTP Exim +p1236 ├considering: $version_number $tod_full +p1236 ├considering: $tod_full +p1236 ├───────text: +p1236 ├considering: $tod_full +p1236 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full +p1236 ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 +p1236 Process p1236 is ready for new message +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 ├───────text: a_random_string +p1236 ├considering: } {static_RE}} +p1236 ├──expanding: a_random_string +p1236 ╰─────result: a_random_string +p1236 ╭considering: static_RE}} +p1236 ├───────text: static_RE +p1236 ├considering: }} +p1236 ├──expanding: static_RE +p1236 ╰─────result: static_RE +p1236 compiled RE 'static_RE' found in local cache +p1236 ├──condition: match {a_random_string} {static_RE} +p1236 ├─────result: false +p1236 ├──expanding: ${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 ├───────text: a_random_string +p1236 ├considering: } {tricky_static_RE\$}} +p1236 ├──expanding: 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 ╰─────result: tricky_static_RE$ +p1236 compiled RE 'tricky_static_RE$' found in local cache +p1236 ├──condition: match {a_random_string} {tricky_static_RE\$} +p1236 ├─────result: false +p1236 ├──expanding: ${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 ├───────text: a_random_string +p1236 ├considering: } {pid=${pid} uncacheable_RE}} +p1236 ├──expanding: a_random_string +p1236 ╰─────result: a_random_string +p1236 ╭considering: pid=${pid} uncacheable_RE}} +p1236 ├───────text: pid= +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 compiling RE 'pid=p1236 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 ╰─────result: +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 ╭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 ├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 +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 ├──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: } }}${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 ╎╰───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 ╰───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 ├──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 ├───────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: ) +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 +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 }} +p1236 ├─────result: +p1236 ╰───skipping: result is not used +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: ${if def: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: }}${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 ╰──(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 }}id $message_exim_id${if def:received_for { +p1236 for $received_for}} +p1236 ├──expanding: ($tls_in_ver) +p1236 ├─────result: () +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 ├──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: +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 +p1236 ├─────result: tls +p1236 +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: ) +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 ├──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: >) +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 +p1236 ╰─────result: (envelope-from <CALLER@test.ex>) +p1236 +p1236 ╰──(tainted) +p1236 ├───item-res: (envelope-from <CALLER@test.ex>) +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: ${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: $received_for}} +p1236 ├considering: }} +p1236 ├──expanding: +p1236 for $received_for +p1236 ╰─────result: +p1236 for dest_2@test.ex +p1236 ╰──(tainted) +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 <CALLER@test.ex>) +p1236 id 10HmaY-0005vi-00 +p1236 for dest_2@test.ex +p1236 ╰──(tainted) +p1236 ╭considering: ${tod_full} +p1236 ├──expanding: ${tod_full} +p1236 ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000 +LOG: MAIN + <= CALLER@test.ex H=(test.ex) [127.0.0.1] P=smtp S=sss +search_tidyup called +Process p1236 is ready for new message +LOG: smtp_connection MAIN + SMTP connection from (test.ex) [127.0.0.1] closed by QUIT +p1234 1 SMTP accept process running +p1234 Listening... +search_tidyup called +>>>>>>>>>>>>>>>> Exim pid=p1236 (daemon-accept) terminating with rc=0 >>>>>>>>>>>>>>>> +p1234 child p1236 ended: status=0x0 +p1234 normal exit, 0 +p1234 0 SMTP accept processes now running +p1234 Listening... +p1234 SIGTERM/SIGINT seen +p1234 search_tidyup called +p1234 >>>>>>>>>>>>>>>> Exim pid=p1234 (daemon) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/3400 b/test/stderr/3400 index 836dab202..49e31375a 100644 --- a/test/stderr/3400 +++ b/test/stderr/3400 @@ -462,6 +462,9 @@ mylogin authenticator server_condition: $auth1 = userx secret $1 = userx secret +++MYLOGIN $1="userx secret" $2="" $3="" + compiled RE '^(\S+)\s+(\S+)$' not found in local cache + compiling RE '^(\S+)\s+(\S+)$' + compiled RE '^(\S+)\s+(\S+)$' saved in local cache expanded string: yes SMTP>> 235 Authentication succeeded SMTP<< quit diff --git a/test/stderr/5005 b/test/stderr/5005 index c7cc34539..d96971064 100644 --- a/test/stderr/5005 +++ b/test/stderr/5005 @@ -130,6 +130,7 @@ created directory TESTSUITE/test-mail/nofile created directory TESTSUITE/test-mail/nofile/tmp created directory TESTSUITE/test-mail/nofile/new created directory TESTSUITE/test-mail/nofile/cur +compiling RE '^(?:cur|new|\..*)$' using regex for maildir directory selection: ^(?:cur|new|\..*)$ looking for maildirsize in TESTSUITE/test-mail/nofile TESTSUITE/test-mail/nofile/maildirsize does not exist: recalculating @@ -318,6 +319,7 @@ ensuring maildir directories exist in TESTSUITE/test-mail/userx created directory TESTSUITE/test-mail/userx/tmp created directory TESTSUITE/test-mail/userx/new created directory TESTSUITE/test-mail/userx/cur +compiling RE '^(?:cur|new|\..*)$' using regex for maildir directory selection: ^(?:cur|new|\..*)$ looking for maildirsize in TESTSUITE/test-mail/userx reading quota parameters from maildirsize data @@ -506,6 +508,7 @@ appendfile: mode=600 notify_comsat=0 quota=500 warning=0 maildir_use_size_file=yes de-tainting path 'TESTSUITE/test-mail/userx' ensuring maildir directories exist in TESTSUITE/test-mail/userx +compiling RE '^(?:cur|new|\..*)$' using regex for maildir directory selection: ^(?:cur|new|\..*)$ looking for maildirsize in TESTSUITE/test-mail/userx reading quota parameters from maildirsize data @@ -711,6 +714,7 @@ appendfile: mode=600 notify_comsat=0 quota=500 warning=0 maildir_use_size_file=yes de-tainting path 'TESTSUITE/test-mail/userx' ensuring maildir directories exist in TESTSUITE/test-mail/userx +compiling RE '^(?:cur|new|\..*)$' using regex for maildir directory selection: ^(?:cur|new|\..*)$ looking for maildirsize in TESTSUITE/test-mail/userx reading quota parameters from maildirsize data diff --git a/test/stderr/5006 b/test/stderr/5006 index 4c7c490b0..4194360f1 100644 --- a/test/stderr/5006 +++ b/test/stderr/5006 @@ -130,6 +130,7 @@ created directory TESTSUITE/test-mail/userx created directory TESTSUITE/test-mail/userx/tmp created directory TESTSUITE/test-mail/userx/new created directory TESTSUITE/test-mail/userx/cur +compiling RE '^(?:cur|new|\..*)$' using regex for maildir directory selection: ^(?:cur|new|\..*)$ looking for maildirsize in TESTSUITE/test-mail/userx TESTSUITE/test-mail/userx/maildirsize does not exist: recalculating diff --git a/test/stderr/5410 b/test/stderr/5410 index 17168982c..f4fd5654d 100644 --- a/test/stderr/5410 +++ b/test/stderr/5410 @@ -92,6 +92,9 @@ cmd buf flush ddd bytes ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: .outlook.com\$ ╰─────result: .outlook.com$ + compiled RE '.outlook.com$' not found in local cache + compiling RE '.outlook.com$' + compiled RE '.outlook.com$' saved in local cache ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $item @@ -648,6 +651,9 @@ cmd buf flush ddd bytes ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: .outlook.com\$ ╰─────result: .outlook.com$ + compiled RE '.outlook.com$' not found in local cache + compiling RE '.outlook.com$' + compiled RE '.outlook.com$' saved in local cache ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $item @@ -1165,6 +1171,9 @@ cmd buf flush ddd bytes ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: .outlook.com\$ ╰─────result: .outlook.com$ + compiled RE '.outlook.com$' not found in local cache + compiling RE '.outlook.com$' + compiled RE '.outlook.com$' saved in local cache ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $item diff --git a/test/stderr/5420 b/test/stderr/5420 index 241cedf68..2436aa14b 100644 --- a/test/stderr/5420 +++ b/test/stderr/5420 @@ -92,6 +92,9 @@ cmd buf flush ddd bytes ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: .outlook.com\$ ╰─────result: .outlook.com$ + compiled RE '.outlook.com$' not found in local cache + compiling RE '.outlook.com$' + compiled RE '.outlook.com$' saved in local cache ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $item @@ -649,6 +652,9 @@ cmd buf flush ddd bytes ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: .outlook.com\$ ╰─────result: .outlook.com$ + compiled RE '.outlook.com$' not found in local cache + compiling RE '.outlook.com$' + compiled RE '.outlook.com$' saved in local cache ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $item @@ -1166,6 +1172,9 @@ cmd buf flush ddd bytes ├considering: }} {match{$item}{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: .outlook.com\$ ╰─────result: .outlook.com$ + compiled RE '.outlook.com$' not found in local cache + compiling RE '.outlook.com$' + compiled RE '.outlook.com$' saved in local cache ╭───scanning: $item}{\N^250-([\w.]+)\s\N}}} {$1}} ├───scanning: }{\N^250-([\w.]+)\s\N}}} {$1}} ├──expanding: $item |