Hintsbd: fix locking
[exim.git] / test / stderr / 0377
index 82e492365573dd2ba8621b29fb519aa771108bd9..56019297060d9b1a98827fa74fd5dbcd8f054221 100644 (file)
@@ -1,13 +1,16 @@
 Exim version x.yz ....
 Exim version x.yz ....
+Hints DB:
 configuration file is TESTSUITE/test-config
 admin user
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
 Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 admin user
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
 Exim version x.yz ....
+Hints DB:
 configuration file is TESTSUITE/test-config
 trusted user
 admin user
 configuration file is TESTSUITE/test-config
 trusted user
 admin user
+dropping to exim gid; retaining priv uid
 locking TESTSUITE/spool/db/retry.lockfile
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 locking TESTSUITE/spool/db/retry.lockfile
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
@@ -27,22 +30,27 @@ routing cccc@myhost.test.ex
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 local_part=cccc domain=myhost.test.ex
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 local_part=cccc domain=myhost.test.ex
@@ -53,8 +61,8 @@ cccc_2nd_time router skipped: condition failure
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 calling cccc_redirect router
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 calling cccc_redirect router
-rda_interpret (string): cccc@$domain, defer_cccc@$domain
-expanded: cccc@myhost.test.ex, defer_cccc@myhost.test.ex
+rda_interpret (string): 'cccc@$domain, defer_cccc@$domain'
+expanded: 'cccc@myhost.test.ex, defer_cccc@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex, defer_cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex, defer_cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
@@ -73,22 +81,25 @@ routing bbbb@myhost.test.ex
 --------> defer router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
+bbbb in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
+bbbb in local_parts? no (end of list)
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
+bbbb in local_parts? no (end of list)
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 checking "condition" "${if first_delivery{yes}{no}}"...
 calling bbbb router
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 checking "condition" "${if first_delivery{yes}{no}}"...
 calling bbbb router
-rda_interpret (string): bbbb@$domain, defer_bbbb@$domain
-expanded: bbbb@myhost.test.ex, defer_bbbb@myhost.test.ex
+rda_interpret (string): 'bbbb@$domain, defer_bbbb@$domain'
+expanded: 'bbbb@myhost.test.ex, defer_bbbb@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: bbbb@myhost.test.ex, defer_bbbb@myhost.test.ex
 extract item: bbbb@myhost.test.ex
 file is not a filter file
 parse_forward_list: bbbb@myhost.test.ex, defer_bbbb@myhost.test.ex
 extract item: bbbb@myhost.test.ex
@@ -107,14 +118,15 @@ routing aaaa@myhost.test.ex
 --------> defer router <--------
 local_part=aaaa domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=aaaa domain=myhost.test.ex
 checking local_parts
+aaaa in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=aaaa domain=myhost.test.ex
 checking local_parts
 checking "condition" "${if first_delivery{yes}{no}}"...
 calling unseen_aaaa router
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=aaaa domain=myhost.test.ex
 checking local_parts
 checking "condition" "${if first_delivery{yes}{no}}"...
 calling unseen_aaaa router
-rda_interpret (string): defer_aaaa@$domain
-expanded: defer_aaaa@myhost.test.ex
+rda_interpret (string): 'defer_aaaa@$domain'
+expanded: 'defer_aaaa@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: defer_aaaa@myhost.test.ex
 extract item: defer_aaaa@myhost.test.ex
 file is not a filter file
 parse_forward_list: defer_aaaa@myhost.test.ex
 extract item: defer_aaaa@myhost.test.ex
@@ -157,8 +169,8 @@ routing defer_cccc@myhost.test.ex
 local_part=defer_cccc domain=myhost.test.ex
 checking local_parts
 calling defer router
 local_part=defer_cccc domain=myhost.test.ex
 checking local_parts
 calling defer router
-rda_interpret (string): :defer: forced defer
-expanded: :defer: forced defer
+rda_interpret (string): ':defer: forced defer'
+expanded: ':defer: forced defer'
 file is not a filter file
 parse_forward_list: :defer: forced defer
 extract item: :defer: forced defer
 file is not a filter file
 parse_forward_list: :defer: forced defer
 extract item: :defer: forced defer
@@ -171,22 +183,27 @@ routing cccc@myhost.test.ex
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 local_part=cccc domain=myhost.test.ex
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 local_part=cccc domain=myhost.test.ex
@@ -205,7 +222,7 @@ set transport t1
 queued for t1 transport: local_part = cccc
 domain = myhost.test.ex
   errors_to=NULL
 queued for t1 transport: local_part = cccc
 domain = myhost.test.ex
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=NULL local_part_data=cccc
 routed by cccc_accept router
   envelope to: cccc@myhost.test.ex
   transport: t1
 routed by cccc_accept router
   envelope to: cccc@myhost.test.ex
   transport: t1
@@ -215,8 +232,8 @@ routing defer_bbbb@myhost.test.ex
 local_part=defer_bbbb domain=myhost.test.ex
 checking local_parts
 calling defer router
 local_part=defer_bbbb domain=myhost.test.ex
 checking local_parts
 calling defer router
-rda_interpret (string): :defer: forced defer
-expanded: :defer: forced defer
+rda_interpret (string): ':defer: forced defer'
+expanded: ':defer: forced defer'
 file is not a filter file
 parse_forward_list: :defer: forced defer
 extract item: :defer: forced defer
 file is not a filter file
 parse_forward_list: :defer: forced defer
 extract item: :defer: forced defer
@@ -229,14 +246,17 @@ routing bbbb@myhost.test.ex
 --------> defer router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
+bbbb in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
+bbbb in local_parts? no (end of list)
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
+bbbb in local_parts? no (end of list)
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 bbbb router skipped: previously routed bbbb@myhost.test.ex
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 bbbb router skipped: previously routed bbbb@myhost.test.ex
@@ -250,7 +270,7 @@ set transport t1
 queued for t1 transport: local_part = bbbb
 domain = myhost.test.ex
   errors_to=NULL
 queued for t1 transport: local_part = bbbb
 domain = myhost.test.ex
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=NULL local_part_data=bbbb
 routed by bbbb_0 router
   envelope to: bbbb@myhost.test.ex
   transport: t1
 routed by bbbb_0 router
   envelope to: bbbb@myhost.test.ex
   transport: t1
@@ -260,8 +280,8 @@ routing defer_aaaa@myhost.test.ex
 local_part=defer_aaaa domain=myhost.test.ex
 checking local_parts
 calling defer router
 local_part=defer_aaaa domain=myhost.test.ex
 checking local_parts
 calling defer router
-rda_interpret (string): :defer: forced defer
-expanded: :defer: forced defer
+rda_interpret (string): ':defer: forced defer'
+expanded: ':defer: forced defer'
 file is not a filter file
 parse_forward_list: :defer: forced defer
 extract item: :defer: forced defer
 file is not a filter file
 parse_forward_list: :defer: forced defer
 extract item: :defer: forced defer
@@ -281,7 +301,7 @@ set transport t1
 queued for t1 transport: local_part = aaaa
 domain = myhost.test.ex
   errors_to=NULL
 queued for t1 transport: local_part = aaaa
 domain = myhost.test.ex
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=NULL local_part_data=aaaa
 routed by seen_aaaa router
   envelope to: aaaa@myhost.test.ex
   transport: t1
 routed by seen_aaaa router
   envelope to: aaaa@myhost.test.ex
   transport: t1
@@ -307,13 +327,15 @@ locking TESTSUITE/spool/db/retry.lockfile
 LOG: MAIN
   => cccc <cccc@myhost.test.ex> R=cccc_accept T=t1
 locking TESTSUITE/spool/db/retry.lockfile
 LOG: MAIN
   => cccc <cccc@myhost.test.ex> R=cccc_accept T=t1
 locking TESTSUITE/spool/db/retry.lockfile
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1237 (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1236 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 Exim version x.yz ....
+Hints DB:
 configuration file is TESTSUITE/test-config
 admin user
 configuration file is TESTSUITE/test-config
 admin user
+dropping to exim gid; retaining priv uid
 LOG: queue_run MAIN
 LOG: queue_run MAIN
-  Start queue run: pid=pppp -qf
+  Start queue run: pid=p1234 -qf
 locking TESTSUITE/spool/db/retry.lockfile
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: aaaa@myhost.test.ex
 locking TESTSUITE/spool/db/retry.lockfile
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: aaaa@myhost.test.ex
@@ -332,30 +354,35 @@ routing cccc@myhost.test.ex
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 checking "condition" "${if first_delivery{no}{yes}}"...
 calling cccc_2nd_time router
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 checking "condition" "${if first_delivery{no}{yes}}"...
 calling cccc_2nd_time router
-rda_interpret (string): $local_part@$domain
-expanded: cccc@myhost.test.ex
+rda_interpret (string): '$local_part@$domain'
+expanded: 'cccc@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
@@ -370,14 +397,17 @@ routing bbbb@myhost.test.ex
 --------> defer router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
+bbbb in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
+bbbb in local_parts? no (end of list)
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
+bbbb in local_parts? no (end of list)
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=bbbb domain=myhost.test.ex
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=bbbb domain=myhost.test.ex
@@ -394,7 +424,7 @@ set transport t1
 queued for t1 transport: local_part = bbbb
 domain = myhost.test.ex
   errors_to=NULL
 queued for t1 transport: local_part = bbbb
 domain = myhost.test.ex
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=NULL local_part_data=bbbb
 routed by bbbb_0 router
   envelope to: bbbb@myhost.test.ex
   transport: t1
 routed by bbbb_0 router
   envelope to: bbbb@myhost.test.ex
   transport: t1
@@ -403,6 +433,7 @@ routing aaaa@myhost.test.ex
 --------> defer router <--------
 local_part=aaaa domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=aaaa domain=myhost.test.ex
 checking local_parts
+aaaa in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=aaaa domain=myhost.test.ex
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=aaaa domain=myhost.test.ex
@@ -419,7 +450,7 @@ set transport t1
 queued for t1 transport: local_part = aaaa
 domain = myhost.test.ex
   errors_to=NULL
 queued for t1 transport: local_part = aaaa
 domain = myhost.test.ex
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=NULL local_part_data=aaaa
 routed by seen_aaaa router
   envelope to: aaaa@myhost.test.ex
   transport: t1
 routed by seen_aaaa router
   envelope to: aaaa@myhost.test.ex
   transport: t1
@@ -433,22 +464,27 @@ routing cccc@myhost.test.ex
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 cccc_2nd_time router skipped: previously routed cccc@myhost.test.ex
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 cccc_2nd_time router skipped: previously routed cccc@myhost.test.ex
@@ -456,8 +492,8 @@ cccc_2nd_time router skipped: previously routed cccc@myhost.test.ex
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 calling cccc_redirect router
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 calling cccc_redirect router
-rda_interpret (string): cccc@$domain, defer_cccc@$domain
-expanded: cccc@myhost.test.ex, defer_cccc@myhost.test.ex
+rda_interpret (string): 'cccc@$domain, defer_cccc@$domain'
+expanded: 'cccc@myhost.test.ex, defer_cccc@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex, defer_cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex, defer_cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
@@ -486,8 +522,8 @@ routing defer_cccc@myhost.test.ex
 local_part=defer_cccc domain=myhost.test.ex
 checking local_parts
 calling defer router
 local_part=defer_cccc domain=myhost.test.ex
 checking local_parts
 calling defer router
-rda_interpret (string): :defer: forced defer
-expanded: :defer: forced defer
+rda_interpret (string): ':defer: forced defer'
+expanded: ':defer: forced defer'
 file is not a filter file
 parse_forward_list: :defer: forced defer
 extract item: :defer: forced defer
 file is not a filter file
 parse_forward_list: :defer: forced defer
 extract item: :defer: forced defer
@@ -500,22 +536,27 @@ routing cccc@myhost.test.ex
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 cccc_2nd_time router skipped: previously routed cccc@myhost.test.ex
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 cccc_2nd_time router skipped: previously routed cccc@myhost.test.ex
@@ -531,7 +572,7 @@ set transport t1
 queued for t1 transport: local_part = cccc
 domain = myhost.test.ex
   errors_to=NULL
 queued for t1 transport: local_part = cccc
 domain = myhost.test.ex
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=NULL local_part_data=cccc
 routed by cccc_accept router
   envelope to: cccc@myhost.test.ex
   transport: t1
 routed by cccc_accept router
   envelope to: cccc@myhost.test.ex
   transport: t1
@@ -549,14 +590,17 @@ cccc@myhost.test.ex was previously delivered (t1 transport): discarded
 aaaa@myhost.test.ex was previously delivered (t1 transport): discarded
 bbbb@myhost.test.ex was previously delivered (t1 transport): discarded
 locking TESTSUITE/spool/db/retry.lockfile
 aaaa@myhost.test.ex was previously delivered (t1 transport): discarded
 bbbb@myhost.test.ex was previously delivered (t1 transport): discarded
 locking TESTSUITE/spool/db/retry.lockfile
+>>>>>>>>>>>>>>>> Exim pid=p1238 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: queue_run MAIN
 LOG: queue_run MAIN
-  End queue run: pid=pppp -qf
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+  End queue run: pid=p1234 -qf
+>>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 Exim version x.yz ....
+Hints DB:
 configuration file is TESTSUITE/test-config
 admin user
 configuration file is TESTSUITE/test-config
 admin user
+dropping to exim gid; retaining priv uid
 LOG: queue_run MAIN
 LOG: queue_run MAIN
-  Start queue run: pid=pppp -qf
+  Start queue run: pid=p1235 -qf
 locking TESTSUITE/spool/db/retry.lockfile
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: aaaa@myhost.test.ex
 locking TESTSUITE/spool/db/retry.lockfile
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: aaaa@myhost.test.ex
@@ -575,30 +619,35 @@ routing cccc@myhost.test.ex
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 checking "condition" "${if first_delivery{no}{yes}}"...
 calling cccc_2nd_time router
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 checking "condition" "${if first_delivery{no}{yes}}"...
 calling cccc_2nd_time router
-rda_interpret (string): $local_part@$domain
-expanded: cccc@myhost.test.ex
+rda_interpret (string): '$local_part@$domain'
+expanded: 'cccc@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
@@ -613,14 +662,17 @@ routing bbbb@myhost.test.ex
 --------> defer router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
+bbbb in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
+bbbb in local_parts? no (end of list)
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
+bbbb in local_parts? no (end of list)
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=bbbb domain=myhost.test.ex
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=bbbb domain=myhost.test.ex
@@ -637,7 +689,7 @@ set transport t1
 queued for t1 transport: local_part = bbbb
 domain = myhost.test.ex
   errors_to=NULL
 queued for t1 transport: local_part = bbbb
 domain = myhost.test.ex
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=NULL local_part_data=bbbb
 routed by bbbb_0 router
   envelope to: bbbb@myhost.test.ex
   transport: t1
 routed by bbbb_0 router
   envelope to: bbbb@myhost.test.ex
   transport: t1
@@ -646,6 +698,7 @@ routing aaaa@myhost.test.ex
 --------> defer router <--------
 local_part=aaaa domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=aaaa domain=myhost.test.ex
 checking local_parts
+aaaa in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=aaaa domain=myhost.test.ex
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=aaaa domain=myhost.test.ex
@@ -662,7 +715,7 @@ set transport t1
 queued for t1 transport: local_part = aaaa
 domain = myhost.test.ex
   errors_to=NULL
 queued for t1 transport: local_part = aaaa
 domain = myhost.test.ex
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=NULL local_part_data=aaaa
 routed by seen_aaaa router
   envelope to: aaaa@myhost.test.ex
   transport: t1
 routed by seen_aaaa router
   envelope to: aaaa@myhost.test.ex
   transport: t1
@@ -676,22 +729,27 @@ routing cccc@myhost.test.ex
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 cccc_2nd_time router skipped: previously routed cccc@myhost.test.ex
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 cccc_2nd_time router skipped: previously routed cccc@myhost.test.ex
@@ -699,8 +757,8 @@ cccc_2nd_time router skipped: previously routed cccc@myhost.test.ex
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 calling cccc_redirect router
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 calling cccc_redirect router
-rda_interpret (string): cccc@$domain, defer_cccc@$domain
-expanded: cccc@myhost.test.ex, defer_cccc@myhost.test.ex
+rda_interpret (string): 'cccc@$domain, defer_cccc@$domain'
+expanded: 'cccc@myhost.test.ex, defer_cccc@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex, defer_cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex, defer_cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
@@ -729,8 +787,8 @@ routing defer_cccc@myhost.test.ex
 local_part=defer_cccc domain=myhost.test.ex
 checking local_parts
 calling defer router
 local_part=defer_cccc domain=myhost.test.ex
 checking local_parts
 calling defer router
-rda_interpret (string): :defer: forced defer
-expanded: :defer: forced defer
+rda_interpret (string): ':defer: forced defer'
+expanded: ':defer: forced defer'
 file is not a filter file
 parse_forward_list: :defer: forced defer
 extract item: :defer: forced defer
 file is not a filter file
 parse_forward_list: :defer: forced defer
 extract item: :defer: forced defer
@@ -743,22 +801,27 @@ routing cccc@myhost.test.ex
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 --------> defer router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 defer router skipped: local_parts mismatch
 --------> unseen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 unseen_aaaa router skipped: local_parts mismatch
 --------> seen_aaaa router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 seen_aaaa router skipped: local_parts mismatch
 --------> bbbb router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
 bbbb router skipped: local_parts mismatch
 --------> bbbb_0 router <--------
 local_part=cccc domain=myhost.test.ex
 checking local_parts
+cccc in local_parts? no (end of list)
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 cccc_2nd_time router skipped: previously routed cccc@myhost.test.ex
 bbbb_0 router skipped: local_parts mismatch
 --------> cccc_2nd_time router <--------
 cccc_2nd_time router skipped: previously routed cccc@myhost.test.ex
@@ -774,7 +837,7 @@ set transport t1
 queued for t1 transport: local_part = cccc
 domain = myhost.test.ex
   errors_to=NULL
 queued for t1 transport: local_part = cccc
 domain = myhost.test.ex
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=NULL local_part_data=cccc
 routed by cccc_accept router
   envelope to: cccc@myhost.test.ex
   transport: t1
 routed by cccc_accept router
   envelope to: cccc@myhost.test.ex
   transport: t1
@@ -792,6 +855,7 @@ cccc@myhost.test.ex was previously delivered (t1 transport): discarded
 aaaa@myhost.test.ex was previously delivered (t1 transport): discarded
 bbbb@myhost.test.ex was previously delivered (t1 transport): discarded
 locking TESTSUITE/spool/db/retry.lockfile
 aaaa@myhost.test.ex was previously delivered (t1 transport): discarded
 bbbb@myhost.test.ex was previously delivered (t1 transport): discarded
 locking TESTSUITE/spool/db/retry.lockfile
+>>>>>>>>>>>>>>>> Exim pid=p1239 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: queue_run MAIN
 LOG: queue_run MAIN
-  End queue run: pid=pppp -qf
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+  End queue run: pid=p1235 -qf
+>>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>