Fix matching of long addresses. Bug 2677
[exim.git] / test / stderr / 0471
index 02d1b4bb153f20f922a55562d287902046492e17..8fd0a8660b887fc6f21b336832ab72261389d7bf 100644 (file)
@@ -8,6 +8,8 @@ changed uid/gid: privilege not needed
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
 sender address = CALLER@myhost.test.ex
 set_process_info: pppp accepting a local non-SMTP message from <CALLER@myhost.test.ex>
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
 sender address = CALLER@myhost.test.ex
 set_process_info: pppp accepting a local non-SMTP message from <CALLER@myhost.test.ex>
+spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
+log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
 Sender: CALLER@myhost.test.ex
 Recipients:
   r1@test.ex
 Sender: CALLER@myhost.test.ex
 Recipients:
   r1@test.ex
@@ -96,53 +98,57 @@ To: random@test.example,
  
 **** debug string too long - truncated ****
 
  
 **** debug string too long - truncated ****
 
+address match test: subject=r1@test.ex pattern=^.{40,}@*
+r1@test.ex in "^.{40,}@*"? no (end of list)
 address match test: subject=r1@test.ex pattern=*@*
 test.ex in "*"? yes (matched "*")
 r1@test.ex in "*@*"? yes (matched "*@*")
 address match test: subject=r1@test.ex pattern=*@*
 test.ex in "*"? yes (matched "*")
 r1@test.ex in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.ex" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.ex"
-file lookup required for test.ex
-  in TESTSUITE/aux-fixed/0471.rw
-lookup failed
-trying partial match *.test.ex
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="*.test.ex"
-file lookup required for *.test.ex
-  in TESTSUITE/aux-fixed/0471.rw
-lookup failed
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.ex" opts=NULL
+ file lookup required for test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ file lookup required for *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@*
+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 "*")
 CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
 address match test: subject=CALLER@myhost.test.ex pattern=*@*
 myhost.test.ex in "*"? yes (matched "*")
 CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="myhost.test.ex" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="myhost.test.ex"
-file lookup required for myhost.test.ex
-  in TESTSUITE/aux-fixed/0471.rw
-lookup failed
-trying partial match *.myhost.test.ex
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="*.myhost.test.ex"
-file lookup required for *.myhost.test.ex
-  in TESTSUITE/aux-fixed/0471.rw
-lookup failed
-trying partial match *.test.ex
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="*.test.ex"
-cached data used for lookup of *.test.ex
-  in TESTSUITE/aux-fixed/0471.rw
-lookup failed
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="myhost.test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="myhost.test.ex" opts=NULL
+ file lookup required for myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.myhost.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.myhost.test.ex" opts=NULL
+ file lookup required for *.myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ cached data used for lookup of *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
 rewritten sender = CALLER@myhost.test.ex
 rewrite_one_header: type=T:
   To: random@test.example,
 rewritten sender = CALLER@myhost.test.ex
 rewrite_one_header: type=T:
   To: random@test.example,
@@ -225,23 +231,25 @@ rewrite_one_header: type=T:
     random@test.example,
     random@test.examp
 **** debug string too long - truncated ****
     random@test.example,
     random@test.examp
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-file lookup required for test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ file lookup required for test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4051 newtype=T newtext:
 To: random@rwtest.example,
     random@test.example,
 newlen=4051 newtype=T newtext:
 To: random@rwtest.example,
     random@test.example,
@@ -404,23 +412,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4053 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4053 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -583,23 +593,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4055 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4055 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -762,23 +774,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4057 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4057 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -941,23 +955,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4059 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4059 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -1120,23 +1136,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4061 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4061 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -1299,23 +1317,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4063 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4063 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -1478,23 +1498,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4065 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4065 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -1657,23 +1679,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4067 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4067 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -1836,23 +1860,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4069 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4069 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -2014,23 +2040,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4071 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4071 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -2192,23 +2220,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4073 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4073 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -2370,23 +2400,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4075 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4075 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -2548,23 +2580,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4077 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4077 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -2726,23 +2760,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4079 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4079 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -2904,23 +2940,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4081 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4081 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -3082,23 +3120,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4083 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4083 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -3260,23 +3300,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4085 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4085 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -3438,23 +3480,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4087 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4087 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -3616,23 +3660,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4089 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4089 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -3794,23 +3840,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4091 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4091 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -3972,23 +4020,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4093 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4093 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -4150,23 +4200,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4095 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4095 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -4327,23 +4379,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4097 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4097 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -4504,23 +4558,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4099 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4099 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -4681,23 +4737,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4101 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4101 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -4858,23 +4916,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4103 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4103 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -5035,23 +5095,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4105 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4105 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -5212,23 +5274,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4107 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4107 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -5389,23 +5453,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4109 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4109 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -5566,23 +5632,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4111 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4111 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -5743,23 +5811,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4113 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4113 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -5920,23 +5990,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4115 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4115 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -6097,23 +6169,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4117 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4117 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -6274,23 +6348,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4119 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4119 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -6450,23 +6526,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4121 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4121 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -6626,23 +6704,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4123 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4123 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -6802,23 +6882,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4125 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4125 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -6978,23 +7060,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4127 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4127 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -7154,23 +7238,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4129 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4129 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -7330,23 +7416,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4131 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4131 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -7506,23 +7594,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4133 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4133 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -7682,23 +7772,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4135 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4135 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -7858,23 +7950,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4137 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4137 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -8034,23 +8128,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4139 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4139 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -8210,23 +8306,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4141 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4141 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -8386,23 +8484,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4143 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4143 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -8562,23 +8662,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4145 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4145 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -8737,23 +8839,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4147 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4147 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -8912,23 +9016,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4149 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4149 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -9087,23 +9193,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4151 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4151 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -9262,23 +9370,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4153 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4153 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -9437,23 +9547,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4155 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4155 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -9612,23 +9724,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4157 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4157 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -9787,23 +9901,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4159 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4159 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -9962,23 +10078,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4161 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4161 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -10137,23 +10255,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4163 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4163 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -10312,23 +10432,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4165 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4165 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -10487,23 +10609,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4167 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4167 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -10662,23 +10786,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4169 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4169 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -10836,23 +10962,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4171 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4171 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -11010,23 +11138,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4173 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4173 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -11184,23 +11314,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4175 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4175 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -11358,23 +11490,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4177 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4177 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -11532,23 +11666,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4179 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4179 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -11706,23 +11842,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4181 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4181 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -11880,23 +12018,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4183 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4183 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -12054,23 +12194,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4185 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4185 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -12228,23 +12370,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4187 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4187 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -12402,23 +12546,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4189 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4189 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -12576,23 +12722,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4191 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4191 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -12750,23 +12898,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4193 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4193 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -12924,23 +13074,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4195 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4195 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -13097,23 +13249,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4197 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4197 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -13270,23 +13424,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4199 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4199 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -13443,23 +13599,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4201 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4201 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -13616,23 +13774,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4203 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4203 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -13789,23 +13949,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4205 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4205 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -13962,23 +14124,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4207 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4207 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -14135,23 +14299,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4209 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4209 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -14308,23 +14474,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4211 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4211 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -14481,23 +14649,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4213 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4213 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -14653,23 +14823,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4215 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4215 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -14824,23 +14996,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4217 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4217 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -14994,23 +15168,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4219 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4219 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -15163,23 +15339,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4221 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4221 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -15331,23 +15509,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4223 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4223 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -15498,23 +15678,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4225 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4225 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -15664,23 +15846,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4227 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4227 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -15829,23 +16013,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4229 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4229 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -15993,23 +16179,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4231 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4231 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -16156,23 +16344,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4233 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4233 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -16318,23 +16508,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4235 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4235 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -16479,23 +16671,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4237 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4237 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -16639,23 +16833,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4239 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4239 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -16798,23 +16994,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4241 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4241 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -16956,23 +17154,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4243 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4243 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -17113,23 +17313,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4245 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4245 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -17269,23 +17471,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4247 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4247 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -17424,23 +17628,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4249 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4249 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -17578,23 +17784,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4251 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4251 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -17731,23 +17939,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4253 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4253 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -17883,23 +18093,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4255 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4255 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -18034,23 +18246,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4257 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4257 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -18184,23 +18398,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4259 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4259 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -18333,23 +18549,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4261 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4261 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -18481,23 +18699,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4263 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4263 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -18628,23 +18848,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4265 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4265 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -18774,23 +18996,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4267 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4267 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -18919,23 +19143,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4269 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4269 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -19063,23 +19289,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4271 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4271 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -19206,23 +19434,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4273 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4273 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -19348,23 +19578,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4275 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4275 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -19489,23 +19721,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4277 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4277 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -19629,23 +19863,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4279 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4279 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -19768,23 +20004,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4281 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4281 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -19906,23 +20144,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4283 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4283 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20043,23 +20283,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4285 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4285 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20179,23 +20421,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4287 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4287 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20314,23 +20558,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4289 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4289 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20448,23 +20694,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4291 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4291 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20581,23 +20829,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4293 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4293 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20713,23 +20963,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4295 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4295 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20844,23 +21096,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4297 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4297 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20974,23 +21228,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4299 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4299 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21103,23 +21359,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4301 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4301 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21231,23 +21489,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4303 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4303 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21358,23 +21618,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4305 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4305 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21484,23 +21746,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4307 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4307 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21609,23 +21873,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4309 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4309 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21733,23 +21999,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4311 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4311 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21856,23 +22124,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4313 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4313 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21978,23 +22248,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4315 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4315 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22099,23 +22371,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4317 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4317 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22219,23 +22493,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4319 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4319 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22338,23 +22614,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4321 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4321 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22456,23 +22734,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4323 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4323 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22573,23 +22853,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4325 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4325 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22689,23 +22971,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4327 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4327 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22804,23 +23088,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4329 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4329 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22918,23 +23204,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4331 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4331 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23031,23 +23319,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4333 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4333 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23143,23 +23433,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4335 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4335 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23254,23 +23546,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4337 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4337 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23364,23 +23658,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4339 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4339 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23473,23 +23769,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4341 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4341 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23581,23 +23879,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4343 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4343 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23688,23 +23988,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4345 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4345 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23794,23 +24096,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4347 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4347 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23899,23 +24203,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4349 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4349 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24003,23 +24309,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4351 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4351 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24106,23 +24414,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4353 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4353 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24208,23 +24518,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4355 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4355 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24309,23 +24621,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4357 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4357 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24409,23 +24723,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4359 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4359 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24508,23 +24824,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4361 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4361 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24606,23 +24924,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4363 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4363 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24703,23 +25023,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4365 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4365 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24799,23 +25121,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4367 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4367 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24894,23 +25218,25 @@ To: random@rwtest.example,
 remainder: random@test.example,
     random@test.example,
     random@test.example
 remainder: random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4369 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4369 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24988,23 +25314,25 @@ To: random@rwtest.example,
 **** debug string too long - truncated ****
 remainder: random@test.example,
     random@test.example
 **** debug string too long - truncated ****
 remainder: random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4371 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4371 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -25081,23 +25409,25 @@ To: random@rwtest.example,
     random@rwtest.example,
 **** debug string too long - truncated ****
 remainder: random@test.example
     random@rwtest.example,
 **** debug string too long - truncated ****
 remainder: random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="test.example" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="test.example"
-cached data used for lookup of test.example
-  in TESTSUITE/aux-fixed/0471.rw
-lookup yielded: rwtest.example
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ cached data used for lookup of test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4373 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4373 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -25176,33 +25506,35 @@ To: random@rwtest.example,
 remainder: 
 rewrite_one_header: type=F:
   From: CALLER_NAME <CALLER@myhost.test.ex>
 remainder: 
 rewrite_one_header: type=F:
   From: CALLER_NAME <CALLER@myhost.test.ex>
+address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@*
+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 "*")
 CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
 address match test: subject=CALLER@myhost.test.ex pattern=*@*
 myhost.test.ex in "*"? yes (matched "*")
 CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
-search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  key="myhost.test.ex" partial=2 affix=*. starflags=0
-LRU list:
-  0TESTSUITE/aux-fixed/0471.rw
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="myhost.test.ex"
-cached data used for lookup of myhost.test.ex
-  in TESTSUITE/aux-fixed/0471.rw
-lookup failed
-trying partial match *.myhost.test.ex
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="*.myhost.test.ex"
-cached data used for lookup of *.myhost.test.ex
-  in TESTSUITE/aux-fixed/0471.rw
-lookup failed
-trying partial match *.test.ex
-internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-  type=lsearch key="*.test.ex"
-cached data used for lookup of *.test.ex
-  in TESTSUITE/aux-fixed/0471.rw
-lookup failed
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="myhost.test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="myhost.test.ex" opts=NULL
+ cached data used for lookup of myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.myhost.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.myhost.test.ex" opts=NULL
+ cached data used for lookup of *.myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ cached data used for lookup of *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
 search_tidyup called
 >>Headers after rewriting and local additions:
 * To: random@test.example,
 search_tidyup called
 >>Headers after rewriting and local additions:
 * To: random@test.example,
@@ -25366,24 +25698,321 @@ I Message-Id: <E10HmaX-0005vi-00@myhost.test.ex>
 F From: CALLER_NAME <CALLER@myhost.test.ex>
   Date: Tue, 2 Mar 1999 09:44:33 +0000
 
 F From: CALLER_NAME <CALLER@myhost.test.ex>
   Date: Tue, 2 Mar 1999 09:44:33 +0000
 
-Data file name: TESTSUITE/spool/input///10HmaX-0005vi-00-D
+Data file name: TESTSUITE/spool//input//10HmaX-0005vi-00-D
 Data file written for message 10HmaX-0005vi-00
 >>Generated Received: header line
 P Received: from CALLER by myhost.test.ex with local (Exim x.yz)
        (envelope-from <CALLER@myhost.test.ex>)
        id 10HmaX-0005vi-00
        for r1@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 Data file written for message 10HmaX-0005vi-00
 >>Generated Received: header line
 P Received: from CALLER by myhost.test.ex with local (Exim x.yz)
        (envelope-from <CALLER@myhost.test.ex>)
        id 10HmaX-0005vi-00
        for r1@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
-calling local_scan(); timeout=300
-local_scan() returned 0 NULL
-Writing spool header file: TESTSUITE/spool/input///hdr.pppp
-DSN: Write SPOOL :-dsn_envid NULL
-DSN: Write SPOOL :-dsn_ret 0
-DSN: Flags :0
-DSN: **** SPOOL_OUT - address: |r1@test.ex| errorsto: |NULL| orcpt: |NULL| dsn_flags: 0
-Renaming spool header file: TESTSUITE/spool/input///10HmaX-0005vi-00-H
+Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-0005vi-00
+DSN: **** SPOOL_OUT - address: <r1@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
+Renaming spool header file: TESTSUITE/spool//input//10HmaX-0005vi-00-H
 Size of headers = sss
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
 search_tidyup called
 Size of headers = sss
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+changed uid/gid: forcing real = effective
+  uid=uuuu gid=CALLER_GID pid=pppp
+configuration file is TESTSUITE/test-config
+admin user
+changed uid/gid: privilege not needed
+  uid=EXIM_UID gid=EXIM_GID pid=pppp
+originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
+sender address = CALLER@myhost.test.ex
+set_process_info: pppp accepting a local non-SMTP message from <CALLER@myhost.test.ex>
+spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
+log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
+Sender: CALLER@myhost.test.ex
+Recipients:
+  r2@test.ex
+search_tidyup called
+>>Headers received:
+To: localpart_with_056_chars_56789012345678901234567890123456@test.example
+
+address match test: subject=r2@test.ex pattern=^.{40,}@*
+r2@test.ex in "^.{40,}@*"? no (end of list)
+address match test: subject=r2@test.ex pattern=*@*
+test.ex in "*"? yes (matched "*")
+r2@test.ex in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.ex" opts=NULL
+ file lookup required for test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ file lookup required for *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@*
+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 "*")
+CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="myhost.test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="myhost.test.ex" opts=NULL
+ file lookup required for myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.myhost.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.myhost.test.ex" opts=NULL
+ file lookup required for *.myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ cached data used for lookup of *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+rewritten sender = CALLER@myhost.test.ex
+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,}@*
+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
+address match test: subject=deny_me@test.example pattern=*@*
+test.example in "*"? yes (matched "*")
+deny_me@test.example in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ file lookup required for test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
+LOG: address_rewrite MAIN
+  "deny_me@test.example" from to: rewritten as "deny_me@rwtest.example" by rule 2
+newlen=27 newtype=T newtext:
+To: deny_me@rwtest.example
+remainder: 
+rewrite_one_header: type=F:
+  From: CALLER_NAME <CALLER@myhost.test.ex>
+address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@*
+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 "*")
+CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="myhost.test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="myhost.test.ex" opts=NULL
+ cached data used for lookup of myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.myhost.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.myhost.test.ex" opts=NULL
+ cached data used for lookup of *.myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ cached data used for lookup of *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+search_tidyup called
+>>Headers after rewriting and local additions:
+* To: localpart_with_056_chars_56789012345678901234567890123456@test.example
+T To: deny_me@rwtest.example
+I Message-Id: <E10HmaY-0005vi-00@myhost.test.ex>
+F From: CALLER_NAME <CALLER@myhost.test.ex>
+  Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+Data file name: TESTSUITE/spool//input//10HmaY-0005vi-00-D
+Data file written for message 10HmaY-0005vi-00
+>>Generated Received: header line
+P Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       (envelope-from <CALLER@myhost.test.ex>)
+       id 10HmaY-0005vi-00
+       for r2@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+Writing spool header file: TESTSUITE/spool//input//hdr.10HmaY-0005vi-00
+DSN: **** SPOOL_OUT - address: <r2@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
+Renaming spool header file: TESTSUITE/spool//input//10HmaY-0005vi-00-H
+Size of headers = sss
+LOG: MAIN
+  <= CALLER@myhost.test.ex U=CALLER P=local S=sss
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+changed uid/gid: forcing real = effective
+  uid=uuuu gid=CALLER_GID pid=pppp
+configuration file is TESTSUITE/test-config
+admin user
+changed uid/gid: privilege not needed
+  uid=EXIM_UID gid=EXIM_GID pid=pppp
+originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
+sender address = CALLER@myhost.test.ex
+set_process_info: pppp accepting a local non-SMTP message from <CALLER@myhost.test.ex>
+spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
+log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
+Sender: CALLER@myhost.test.ex
+Recipients:
+  r3@test.ex
+search_tidyup called
+>>Headers received:
+To: localpart_with_256_chars_5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example
+
+address match test: subject=r3@test.ex pattern=^.{40,}@*
+r3@test.ex in "^.{40,}@*"? no (end of list)
+address match test: subject=r3@test.ex pattern=*@*
+test.ex in "*"? yes (matched "*")
+r3@test.ex in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.ex" opts=NULL
+ file lookup required for test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ file lookup required for *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@*
+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 "*")
+CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="myhost.test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="myhost.test.ex" opts=NULL
+ file lookup required for myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.myhost.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.myhost.test.ex" opts=NULL
+ file lookup required for *.myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ cached data used for lookup of *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+rewritten sender = CALLER@myhost.test.ex
+rewrite_one_header: type=T:
+  To: localpart_with_256_chars_5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example
+address match test: subject=localpart_with_256_chars_5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example pattern=^.{40,}@*
+localpart_with_256_chars_5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example in "^.{40,}@*"? yes (matched "^.{40,}@*")
+LOG: address_rewrite MAIN
+  "localpart_with_256_chars_5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example" from to: rewritten as "deny_me@test.example" by rule 1
+address match test: subject=deny_me@test.example pattern=*@*
+test.example in "*"? yes (matched "*")
+deny_me@test.example in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ file lookup required for test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup yielded: rwtest.example
+LOG: address_rewrite MAIN
+  "deny_me@test.example" from to: rewritten as "deny_me@rwtest.example" by rule 2
+newlen=27 newtype=T newtext:
+To: deny_me@rwtest.example
+remainder: 
+rewrite_one_header: type=F:
+  From: CALLER_NAME <CALLER@myhost.test.ex>
+address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@*
+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 "*")
+CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="myhost.test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="myhost.test.ex" opts=NULL
+ cached data used for lookup of myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.myhost.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.myhost.test.ex" opts=NULL
+ cached data used for lookup of *.myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ cached data used for lookup of *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+search_tidyup called
+>>Headers after rewriting and local additions:
+* To: localpart_with_256_chars_5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example
+T To: deny_me@rwtest.example
+I Message-Id: <E10HmaZ-0005vi-00@myhost.test.ex>
+F From: CALLER_NAME <CALLER@myhost.test.ex>
+  Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+Data file name: TESTSUITE/spool//input//10HmaZ-0005vi-00-D
+Data file written for message 10HmaZ-0005vi-00
+>>Generated Received: header line
+P Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       (envelope-from <CALLER@myhost.test.ex>)
+       id 10HmaZ-0005vi-00
+       for r3@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+Writing spool header file: TESTSUITE/spool//input//hdr.10HmaZ-0005vi-00
+DSN: **** SPOOL_OUT - address: <r3@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
+Renaming spool header file: TESTSUITE/spool//input//10HmaZ-0005vi-00-H
+Size of headers = sss
+LOG: MAIN
+  <= CALLER@myhost.test.ex U=CALLER P=local S=sss
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>