--------> 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
+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
+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
+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
+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
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
--------> 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
+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
+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
-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
--------> 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
-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
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
--------> 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
+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
+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
+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
+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
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
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
--------> 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
+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
+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
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
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
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
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 ....
configuration file is TESTSUITE/test-config
admin user
dropping to exim gid; retaining priv uid
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
--------> 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
+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
+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
+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
+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
-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
--------> 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
+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
+bbbb in local_parts? no (end of list)
seen_aaaa router skipped: local_parts mismatch
--------> bbbb router <--------
local_part=bbbb domain=myhost.test.ex
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
--------> 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
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
--------> 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
+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
+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
+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
+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
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
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
--------> 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
+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
+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
+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
+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
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
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
- 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 ....
configuration file is TESTSUITE/test-config
admin user
dropping to exim gid; retaining priv uid
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
--------> 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
+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
+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
+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
+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
-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
--------> 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
+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
+bbbb in local_parts? no (end of list)
seen_aaaa router skipped: local_parts mismatch
--------> bbbb router <--------
local_part=bbbb domain=myhost.test.ex
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
--------> 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
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
--------> 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
+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
+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
+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
+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
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
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
--------> 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
+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
+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
+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
+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
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
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
- 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 >>>>>>>>>>>>>>>>