Hintsdb transactions
[exim.git] / test / stderr / 0377
index 848ee336786fc5008c054dde464dfaa5974c8190..f212cdb2ee0867607a3c1da81e6e0acd8fc50171 100644 (file)
@@ -1,30 +1,16 @@
 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
-DSN: defer propagating DSN
-DSN: unseen_aaaa propagating DSN
-DSN: seen_aaaa propagating DSN
-DSN: bbbb propagating DSN
-DSN: bbbb_0 propagating DSN
-DSN: cccc_2nd_time propagating DSN
-DSN: cccc_redirect propagating DSN
-DSN: cccc_accept propagating DSN
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
 Exim version x.yz ....
 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
-DSN: defer propagating DSN
-DSN: unseen_aaaa propagating DSN
-DSN: seen_aaaa propagating DSN
-DSN: bbbb propagating DSN
-DSN: bbbb_0 propagating DSN
-DSN: cccc_2nd_time propagating DSN
-DSN: cccc_redirect propagating DSN
-DSN: cccc_accept propagating DSN
-locking TESTSUITE/spool/db/retry.lockfile
+dropping to exim gid; retaining priv uid
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: aaaa@myhost.test.ex
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: aaaa@myhost.test.ex
@@ -43,22 +29,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
@@ -69,8 +60,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
@@ -89,22 +80,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
@@ -123,14 +117,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
@@ -141,7 +136,6 @@ routed by unseen_aaaa router (unseen)
   envelope to: aaaa@myhost.test.ex
   transport: <none>
 "unseen" set: replicated aaaa@myhost.test.ex
   envelope to: aaaa@myhost.test.ex
   transport: <none>
 "unseen" set: replicated aaaa@myhost.test.ex
-locking TESTSUITE/spool/db/retry.lockfile
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: aaaa@myhost.test.ex
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: aaaa@myhost.test.ex
@@ -173,8 +167,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
@@ -187,22 +181,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
@@ -221,7 +220,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
@@ -231,8 +230,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
@@ -245,14 +244,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
@@ -266,7 +268,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
@@ -276,8 +278,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
@@ -297,7 +299,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
@@ -313,32 +315,24 @@ After routing:
     defer_aaaa@myhost.test.ex
     defer_bbbb@myhost.test.ex
     defer_cccc@myhost.test.ex
     defer_aaaa@myhost.test.ex
     defer_bbbb@myhost.test.ex
     defer_cccc@myhost.test.ex
-locking TESTSUITE/spool/db/retry.lockfile
+>>>>>>>>>>>>>>>> Exim pid=p1238 (delivery-local) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: MAIN
   => aaaa <aaaa@myhost.test.ex> R=seen_aaaa T=t1
 LOG: MAIN
   => aaaa <aaaa@myhost.test.ex> R=seen_aaaa T=t1
-locking TESTSUITE/spool/db/retry.lockfile
+>>>>>>>>>>>>>>>> Exim pid=p1239 (delivery-local) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: MAIN
   => bbbb <bbbb@myhost.test.ex> R=bbbb_0 T=t1
 LOG: MAIN
   => bbbb <bbbb@myhost.test.ex> R=bbbb_0 T=t1
-locking TESTSUITE/spool/db/retry.lockfile
+>>>>>>>>>>>>>>>> Exim pid=p1240 (delivery-local) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: MAIN
   => cccc <cccc@myhost.test.ex> R=cccc_accept T=t1
 LOG: MAIN
   => cccc <cccc@myhost.test.ex> R=cccc_accept T=t1
-locking TESTSUITE/spool/db/retry.lockfile
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=pppp 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
-DSN: defer propagating DSN
-DSN: unseen_aaaa propagating DSN
-DSN: seen_aaaa propagating DSN
-DSN: bbbb propagating DSN
-DSN: bbbb_0 propagating DSN
-DSN: cccc_2nd_time propagating DSN
-DSN: cccc_redirect propagating DSN
-DSN: cccc_accept propagating DSN
+dropping to exim gid; retaining priv uid
 LOG: queue_run MAIN
 LOG: queue_run MAIN
-  Start queue run: pid=pppp -qf
-locking TESTSUITE/spool/db/retry.lockfile
+  Start queue run: pid=p1234 -qf
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: aaaa@myhost.test.ex
 unique = aaaa@myhost.test.ex
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: aaaa@myhost.test.ex
 unique = aaaa@myhost.test.ex
@@ -356,30 +350,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
@@ -394,14 +393,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
@@ -418,7 +420,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
@@ -427,6 +429,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
@@ -443,11 +446,10 @@ 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
-locking TESTSUITE/spool/db/retry.lockfile
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: cccc@myhost.test.ex
 unique = \0\cccc@myhost.test.ex
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: cccc@myhost.test.ex
 unique = \0\cccc@myhost.test.ex
@@ -457,22 +459,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
@@ -480,8 +487,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
@@ -495,7 +502,6 @@ cccc_redirect router generated cccc@myhost.test.ex
 routed by cccc_redirect router
   envelope to: cccc@myhost.test.ex
   transport: <none>
 routed by cccc_redirect router
   envelope to: cccc@myhost.test.ex
   transport: <none>
-locking TESTSUITE/spool/db/retry.lockfile
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: cccc@myhost.test.ex
 unique = \1\cccc@myhost.test.ex
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: cccc@myhost.test.ex
 unique = \1\cccc@myhost.test.ex
@@ -510,8 +516,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
@@ -524,22 +530,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
@@ -555,7 +566,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
@@ -572,24 +583,17 @@ After routing:
 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
 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
+>>>>>>>>>>>>>>>> Exim pid=p1241 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: queue_run MAIN
 LOG: queue_run MAIN
-  End queue run: pid=pppp -qf
->>>>>>>>>>>>>>>> Exim pid=pppp 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
-DSN: defer propagating DSN
-DSN: unseen_aaaa propagating DSN
-DSN: seen_aaaa propagating DSN
-DSN: bbbb propagating DSN
-DSN: bbbb_0 propagating DSN
-DSN: cccc_2nd_time propagating DSN
-DSN: cccc_redirect propagating DSN
-DSN: cccc_accept propagating DSN
+dropping to exim gid; retaining priv uid
 LOG: queue_run MAIN
 LOG: queue_run MAIN
-  Start queue run: pid=pppp -qf
-locking TESTSUITE/spool/db/retry.lockfile
+  Start queue run: pid=p1235 -qf
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: aaaa@myhost.test.ex
 unique = aaaa@myhost.test.ex
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: aaaa@myhost.test.ex
 unique = aaaa@myhost.test.ex
@@ -607,30 +611,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
@@ -645,14 +654,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
@@ -669,7 +681,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
@@ -678,6 +690,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
@@ -694,11 +707,10 @@ 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
-locking TESTSUITE/spool/db/retry.lockfile
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: cccc@myhost.test.ex
 unique = \0\cccc@myhost.test.ex
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: cccc@myhost.test.ex
 unique = \0\cccc@myhost.test.ex
@@ -708,22 +720,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
@@ -731,8 +748,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
@@ -746,7 +763,6 @@ cccc_redirect router generated cccc@myhost.test.ex
 routed by cccc_redirect router
   envelope to: cccc@myhost.test.ex
   transport: <none>
 routed by cccc_redirect router
   envelope to: cccc@myhost.test.ex
   transport: <none>
-locking TESTSUITE/spool/db/retry.lockfile
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: cccc@myhost.test.ex
 unique = \1\cccc@myhost.test.ex
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: cccc@myhost.test.ex
 unique = \1\cccc@myhost.test.ex
@@ -761,8 +777,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
@@ -775,22 +791,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
@@ -806,7 +827,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
@@ -823,7 +844,7 @@ After routing:
 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
 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
+>>>>>>>>>>>>>>>> Exim pid=p1242 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 LOG: queue_run MAIN
 LOG: queue_run MAIN
-  End queue run: pid=pppp -qf
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+  End queue run: pid=p1235 -qf
+>>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>