Fix MIME parsing of filenames specified using multiple parameters. Bug 3099
[exim.git] / test / stderr / 2600
index 47ee39a4a01229e639517e38ccd60cace4a1e1c4..8bfaf1c92c1970e9650a800db40f58c574dc9169 100644 (file)
 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
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select name from them where id='userx';"
-file lookup required for select name from them where id='userx';
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup yielded: Ayen Other
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select name from them where id='userx';"
-cached data used for lookup of select name from them where id='userx';
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup yielded: Ayen Other
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select name from them where id='xxxx';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select name from them where id='xxxx';"
-file lookup required for select name from them where id='xxxx';
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup forced cache cleanup
-lookup failed
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select name from them where id='nothing';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select name from them where id='nothing';"
-file lookup required for select name from them where id='nothing';
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup yielded: 
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select id,name from them where id='nothing';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select id,name from them where id='nothing';"
-file lookup required for select id,name from them where id='nothing';
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup yielded: id=nothing name="" 
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select * from them where id='quote2';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select * from them where id='quote2';"
-file lookup required for select * from them where id='quote2';
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup yielded: name="\"stquot" id=quote2 
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select * from them where id='newline';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select * from them where id='newline';"
-file lookup required for select * from them where id='newline';
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup yielded: name="before
-after" id=newline 
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select * from them where id='tab';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select * from them where id='tab';"
-file lookup required for select * from them where id='tab';
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup yielded: name="x        x" id=tab 
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select * from them where id='its';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select * from them where id='its';"
-file lookup required for select * from them where id='its';
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup yielded: name=it's id=its 
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select * from them where name='it''s';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select * from them where name='it''s';"
-file lookup required for select * from them where name='it''s';
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup yielded: name=it's id=its 
+dropping to exim gid; retaining priv uid
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select name from them where id='userx';" opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ file lookup required for select name from them where id='userx';
+   in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
+ lookup yielded: Ayen░Other
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select name from them where id='userx';" opts=NULL
+ cached data found but wrong opts;  file lookup required for select name from them where id='userx';
+ c  in TESTSUITE/aux-fixed/sqlitedb
+ replacing old cache entry
+ lookup yielded: Ayen░Other
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select name from them where id='userx';" opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ cached data found but wrong opts;  file lookup required for select name from them where id='userx';
+ c  in TESTSUITE/aux-fixed/sqlitedb
+ replacing old cache entry
+ lookup yielded: Ayen░Other
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select name from them where id='userx';" opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ cached data used for lookup of select name from them where id='userx';
+   in TESTSUITE/aux-fixed/sqlitedb
+ lookup yielded: Ayen░Other
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select name from them where id='xxxx';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select name from them where id='xxxx';" opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ file lookup required for select name from them where id='xxxx';
+   in TESTSUITE/aux-fixed/sqlitedb
+ lookup forced cache cleanup
+ lookup failed
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select name from them where id='nothing';" opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ file lookup required for select name from them where id='nothing';
+   in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
+ lookup yielded: 
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select id,name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select id,name from them where id='nothing';" opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ file lookup required for select id,name from them where id='nothing';
+   in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
+ lookup yielded: id=nothing░name=""░
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select * from them where id='quote2';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select * from them where id='quote2';" opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ file lookup required for select * from them where id='quote2';
+   in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
+ lookup yielded: name="\"stquot"░id=quote2░
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select * from them where id='newline';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select * from them where id='newline';" opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ file lookup required for select * from them where id='newline';
+   in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
+ lookup yielded: name="before↩
+ after"░id=newline░
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select * from them where id='tab';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select * from them where id='tab';" opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ file lookup required for select * from them where id='tab';
+   in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
+ lookup yielded: name="x␉x"░id=tab░
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select * from them where id='its';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select * from them where id='its';" opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ file lookup required for select * from them where id='its';
+   in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
+ lookup yielded: name=it's░id=its░
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select * from them where name='it''s';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select * from them where name='it''s';" opts="file=TESTSUITE/aux-fixed/sqlitedb"
+ file lookup required for select * from them where name='it''s';
+   in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
+ lookup yielded: name=it's░id=its░
 search_tidyup called
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 Exim version x.yz ....
+Hints DB:
 changed uid/gid: forcing real = effective
 changed uid/gid: forcing real = effective
-  uid=uuuu gid=CALLER_GID pid=pppp
+  uid=uuuu gid=CALLER_GID pid=p1235
 configuration file is TESTSUITE/test-config
 admin user
 changed uid/gid: privilege not needed
 configuration file is TESTSUITE/test-config
 admin user
 changed uid/gid: privilege not needed
-  uid=EXIM_UID gid=EXIM_GID pid=pppp
+  uid=EXIM_UID gid=EXIM_GID pid=p1235
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
@@ -130,82 +163,245 @@ host in helo_try_verify_hosts? no (option unset)
 host in helo_accept_junk_hosts? no (option unset)
 SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 smtp_setup_msg entered
 host in helo_accept_junk_hosts? no (option unset)
 SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 smtp_setup_msg entered
+SMTP<< helo test
+test in helo_lookup_domains?
+ list element: @
+ list element: @[]
+test in helo_lookup_domains? no (end of list)
+sender_fullhost = (test) [10.0.0.0]
+sender_rcvhost = [10.0.0.0] (helo=test)
+set_process_info: pppp handling incoming connection from (test) [10.0.0.0]
+SMTP>> 250 myhost.test.ex Hello test [10.0.0.0]
 SMTP<< mail from:<a@b>
 spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
 log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
 SMTP>> 250 OK
 SMTP<< rcpt to:<c@d>
 using ACL "check_recipient"
 SMTP<< mail from:<a@b>
 spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
 log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
 SMTP>> 250 OK
 SMTP<< rcpt to:<c@d>
 using ACL "check_recipient"
-processing "accept"
+processing "accept" (TESTSUITE/test-config 32)
 check domains = +local_domains
 check domains = +local_domains
-d in "@"? no (end of list)
+d in "+local_domains"?
+ list element: +local_domains
+  start sublist local_domains
+   d in "@"?
+   ╎list element: @
+   d in "@"? no (end of list)
+  end sublist local_domains
 d in "+local_domains"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
 d in "+local_domains"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
-processing "accept"
+processing "accept" (TESTSUITE/test-config 33)
 check hosts = +relay_hosts
 check hosts = +relay_hosts
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select * from them where id='10.0.0.0'"
-file lookup required for select * from them where id='10.0.0.0'
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup forced cache cleanup
-lookup failed
-host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.0.0.0'"? no (end of list)
+host in "+relay_hosts"?
+ list element: +relay_hosts
+  start sublist relay_hosts
+  host in "sqlite,file=TESTSUITE/aux-fixed/sqlitedb; select * from them where id='10.0.0.0'"?
+   ╎list element: sqlite,file=TESTSUITE/aux-fixed/sqlitedb;░select░*░from░them░where░id='10.0.0.0'
+   ╎search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   ╎search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   ╎  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb"
+   ╎LRU list:
+   ╎internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   ╎  type=sqlite key="select * from them where id='10.0.0.0'" opts="file=TESTSUITE/aux-fixed/sqlitedb"
+   ╎file lookup required for select * from them where id='10.0.0.0'
+   ╎  in TESTSUITE/aux-fixed/sqlitedb
+   ╎lookup forced cache cleanup
+   ╎lookup failed
+  host in "sqlite,file=TESTSUITE/aux-fixed/sqlitedb; select * from them where id='10.0.0.0'"? no (end of list)
+  end sublist relay_hosts
 host in "+relay_hosts"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
 host in "+relay_hosts"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
-processing "deny"
+processing "deny" (TESTSUITE/test-config 34)
   message: relay not permitted
 deny: condition test succeeded in ACL "check_recipient"
 end of ACL "check_recipient": DENY
 SMTP>> 550 relay not permitted
 LOG: MAIN REJECT
   message: relay not permitted
 deny: condition test succeeded in ACL "check_recipient"
 end of ACL "check_recipient": DENY
 SMTP>> 550 relay not permitted
 LOG: MAIN REJECT
-  H=[10.0.0.0] F=<a@b> rejected RCPT <c@d>: relay not permitted
+  H=(test) [10.0.0.0] F=<a@b> rejected RCPT <c@d>: relay not permitted
 SMTP<< rcpt to:<c@d>
 using ACL "check_recipient"
 SMTP<< rcpt to:<c@d>
 using ACL "check_recipient"
-processing "accept"
+processing "accept" (TESTSUITE/test-config 32)
 check domains = +local_domains
 check domains = +local_domains
-d in "@"? no (end of list)
+d in "+local_domains"?
+ list element: +local_domains
+  start sublist local_domains
+   d in "@"?
+   ╎list element: @
+   d in "@"? no (end of list)
+  end sublist local_domains
 d in "+local_domains"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
 d in "+local_domains"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
-processing "accept"
+processing "accept" (TESTSUITE/test-config 33)
 check hosts = +relay_hosts
 check hosts = +relay_hosts
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select * from them where id='10.0.0.0'"
-file lookup required for select * from them where id='10.0.0.0'
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup forced cache cleanup
-lookup failed
-host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.0.0.0'"? no (end of list)
+host in "+relay_hosts"?
+ list element: +relay_hosts
+  start sublist relay_hosts
+  host in "sqlite,file=TESTSUITE/aux-fixed/sqlitedb; select * from them where id='10.0.0.0'"?
+   ╎list element: sqlite,file=TESTSUITE/aux-fixed/sqlitedb;░select░*░from░them░where░id='10.0.0.0'
+   ╎search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   ╎  cached open
+   ╎search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   ╎  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb"
+   ╎LRU list:
+   ╎internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   ╎  type=sqlite key="select * from them where id='10.0.0.0'" opts="file=TESTSUITE/aux-fixed/sqlitedb"
+   ╎file lookup required for select * from them where id='10.0.0.0'
+   ╎  in TESTSUITE/aux-fixed/sqlitedb
+   ╎lookup forced cache cleanup
+   ╎lookup failed
+  host in "sqlite,file=TESTSUITE/aux-fixed/sqlitedb; select * from them where id='10.0.0.0'"? no (end of list)
+  end sublist relay_hosts
 host in "+relay_hosts"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
 host in "+relay_hosts"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
-processing "deny"
+processing "deny" (TESTSUITE/test-config 34)
   message: relay not permitted
 deny: condition test succeeded in ACL "check_recipient"
 end of ACL "check_recipient": DENY
 SMTP>> 550 relay not permitted
 LOG: MAIN REJECT
   message: relay not permitted
 deny: condition test succeeded in ACL "check_recipient"
 end of ACL "check_recipient": DENY
 SMTP>> 550 relay not permitted
 LOG: MAIN REJECT
-  H=[10.0.0.0] F=<a@b> rejected RCPT <c@d>: relay not permitted
+  H=(test) [10.0.0.0] F=<a@b> rejected RCPT <c@d>: relay not permitted
 SMTP<< quit
 SMTP>> 221 myhost.test.ex closing connection
 LOG: smtp_connection MAIN
 SMTP<< quit
 SMTP>> 221 myhost.test.ex closing connection
 LOG: smtp_connection MAIN
-  SMTP connection from [10.0.0.0] closed by QUIT
+  SMTP connection from (test) [10.0.0.0] D=qqs closed by QUIT
 search_tidyup called
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 Exim version x.yz ....
+Hints DB:
 changed uid/gid: forcing real = effective
 changed uid/gid: forcing real = effective
-  uid=uuuu gid=CALLER_GID pid=pppp
+  uid=uuuu gid=CALLER_GID pid=p1236
 configuration file is TESTSUITE/test-config
 admin user
 changed uid/gid: privilege not needed
 configuration file is TESTSUITE/test-config
 admin user
 changed uid/gid: privilege not needed
-  uid=EXIM_UID gid=EXIM_GID pid=pppp
+  uid=EXIM_UID gid=EXIM_GID pid=p1236
+seeking password data for user "CALLER": cache not available
+getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
+originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
+sender address = CALLER@myhost.test.ex
+sender_fullhost = [10.0.0.0]
+sender_rcvhost = [10.0.0.0]
+host in hosts_connection_nolog? no (option unset)
+LOG: smtp_connection MAIN
+  SMTP connection from [10.0.0.0]
+host in host_lookup? no (option unset)
+set_process_info: pppp handling incoming connection from [10.0.0.0]
+host in host_reject_connection? no (option unset)
+host in sender_unqualified_hosts? no (option unset)
+host in recipient_unqualified_hosts? no (option unset)
+host in helo_verify_hosts? no (option unset)
+host in helo_try_verify_hosts? no (option unset)
+host in helo_accept_junk_hosts? no (option unset)
+SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+smtp_setup_msg entered
+SMTP<< helo test
+test in helo_lookup_domains?
+ list element: @
+ list element: @[]
+test in helo_lookup_domains? no (end of list)
+sender_fullhost = (test) [10.0.0.0]
+sender_rcvhost = [10.0.0.0] (helo=test)
+set_process_info: pppp handling incoming connection from (test) [10.0.0.0]
+SMTP>> 250 myhost.test.ex Hello test [10.0.0.0]
+SMTP<< mail from:<a@b>
+spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
+log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
+SMTP>> 250 OK
+SMTP<< rcpt to:<c@d>
+using ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 32)
+check domains = +local_domains
+d in "+local_domains"?
+ list element: +local_domains
+  start sublist local_domains
+   d in "@"?
+   ╎list element: @
+   d in "@"? no (end of list)
+  end sublist local_domains
+d in "+local_domains"? no (end of list)
+accept: condition test failed in ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 33)
+check hosts = +relay_hosts
+host in "+relay_hosts"?
+ list element: +relay_hosts
+  start sublist relay_hosts
+  host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.0.0.0'"?
+   ╎list element: sqlite;TESTSUITE/aux-fixed/sqlitedb░select░*░from░them░where░id='10.0.0.0'
+   ╎search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   ╎search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   ╎  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts=NULL
+   ╎LRU list:
+   ╎internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   ╎  type=sqlite key="select * from them where id='10.0.0.0'" opts=NULL
+   ╎file lookup required for select * from them where id='10.0.0.0'
+   ╎  in TESTSUITE/aux-fixed/sqlitedb
+   ╎lookup forced cache cleanup
+   ╎lookup failed
+  host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.0.0.0'"? no (end of list)
+  end sublist relay_hosts
+host in "+relay_hosts"? no (end of list)
+accept: condition test failed in ACL "check_recipient"
+processing "deny" (TESTSUITE/test-config 34)
+  message: relay not permitted
+deny: condition test succeeded in ACL "check_recipient"
+end of ACL "check_recipient": DENY
+SMTP>> 550 relay not permitted
+LOG: MAIN REJECT
+  H=(test) [10.0.0.0] F=<a@b> rejected RCPT <c@d>: relay not permitted
+SMTP<< rcpt to:<c@d>
+using ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 32)
+check domains = +local_domains
+d in "+local_domains"?
+ list element: +local_domains
+  start sublist local_domains
+   d in "@"?
+   ╎list element: @
+   d in "@"? no (end of list)
+  end sublist local_domains
+d in "+local_domains"? no (end of list)
+accept: condition test failed in ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 33)
+check hosts = +relay_hosts
+host in "+relay_hosts"?
+ list element: +relay_hosts
+  start sublist relay_hosts
+  host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.0.0.0'"?
+   ╎list element: sqlite;TESTSUITE/aux-fixed/sqlitedb░select░*░from░them░where░id='10.0.0.0'
+   ╎search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   ╎  cached open
+   ╎search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   ╎  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts=NULL
+   ╎LRU list:
+   ╎internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   ╎  type=sqlite key="select * from them where id='10.0.0.0'" opts=NULL
+   ╎file lookup required for select * from them where id='10.0.0.0'
+   ╎  in TESTSUITE/aux-fixed/sqlitedb
+   ╎lookup forced cache cleanup
+   ╎lookup failed
+  host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.0.0.0'"? no (end of list)
+  end sublist relay_hosts
+host in "+relay_hosts"? no (end of list)
+accept: condition test failed in ACL "check_recipient"
+processing "deny" (TESTSUITE/test-config 34)
+  message: relay not permitted
+deny: condition test succeeded in ACL "check_recipient"
+end of ACL "check_recipient": DENY
+SMTP>> 550 relay not permitted
+LOG: MAIN REJECT
+  H=(test) [10.0.0.0] F=<a@b> rejected RCPT <c@d>: relay not permitted
+SMTP<< quit
+SMTP>> 221 myhost.test.ex closing connection
+LOG: smtp_connection MAIN
+  SMTP connection from (test) [10.0.0.0] D=qqs closed by QUIT
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=p1236 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+Hints DB:
+changed uid/gid: forcing real = effective
+  uid=uuuu gid=CALLER_GID pid=p1237
+configuration file is TESTSUITE/test-config
+admin user
+changed uid/gid: privilege not needed
+  uid=EXIM_UID gid=EXIM_GID pid=p1237
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
@@ -225,72 +421,105 @@ host in helo_try_verify_hosts? no (option unset)
 host in helo_accept_junk_hosts? no (option unset)
 SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 smtp_setup_msg entered
 host in helo_accept_junk_hosts? no (option unset)
 SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 smtp_setup_msg entered
+SMTP<< helo test
+test in helo_lookup_domains?
+ list element: @
+ list element: @[]
+test in helo_lookup_domains? no (end of list)
+sender_fullhost = (test) [10.10.10.10]
+sender_rcvhost = [10.10.10.10] (helo=test)
+set_process_info: pppp handling incoming connection from (test) [10.10.10.10]
+SMTP>> 250 myhost.test.ex Hello test [10.10.10.10]
 SMTP<< mail from:<a@b>
 spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
 log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
 SMTP>> 250 OK
 SMTP<< rcpt to:<c@d>
 using ACL "check_recipient"
 SMTP<< mail from:<a@b>
 spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
 log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
 SMTP>> 250 OK
 SMTP<< rcpt to:<c@d>
 using ACL "check_recipient"
-processing "accept"
+processing "accept" (TESTSUITE/test-config 32)
 check domains = +local_domains
 check domains = +local_domains
-d in "@"? no (end of list)
+d in "+local_domains"?
+ list element: +local_domains
+  start sublist local_domains
+   d in "@"?
+   ╎list element: @
+   d in "@"? no (end of list)
+  end sublist local_domains
 d in "+local_domains"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
 d in "+local_domains"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
-processing "accept"
+processing "accept" (TESTSUITE/test-config 33)
 check hosts = +relay_hosts
 check hosts = +relay_hosts
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select * from them where id='10.10.10.10'" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select * from them where id='10.10.10.10'"
-file lookup required for select * from them where id='10.10.10.10'
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup yielded: name=ok id=10.10.10.10 
-host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.10.10.10'"? yes (matched "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.10.10.10'")
-host in "+relay_hosts"? yes (matched "+relay_hosts")
+host in "+relay_hosts"?
+ list element: +relay_hosts
+  start sublist relay_hosts
+  host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.10.10.10'"?
+   ╎list element: sqlite;TESTSUITE/aux-fixed/sqlitedb░select░*░from░them░where░id='10.10.10.10'
+   ╎search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   ╎search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   ╎  key="select * from them where id='10.10.10.10'" partial=-1 affix=NULL starflags=0 opts=NULL
+   ╎LRU list:
+   ╎internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   ╎  type=sqlite key="select * from them where id='10.10.10.10'" opts=NULL
+   ╎file lookup required for select * from them where id='10.10.10.10'
+   ╎  in TESTSUITE/aux-fixed/sqlitedb
+   ╎creating new cache entry
+   ╎lookup yielded: name=ok░id=10.10.10.10░
+   ╎host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.10.10.10'"? yes (matched "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.10.10.10'")
+  end sublist relay_hosts
+  host in "+relay_hosts"? yes (matched "+relay_hosts")
 accept: condition test succeeded in ACL "check_recipient"
 end of ACL "check_recipient": ACCEPT
 SMTP>> 250 Accepted
 accept: condition test succeeded in ACL "check_recipient"
 end of ACL "check_recipient": ACCEPT
 SMTP>> 250 Accepted
-DSN: orcpt: NULL  flags: 0
 SMTP<< rcpt to:<c@d>
 using ACL "check_recipient"
 SMTP<< rcpt to:<c@d>
 using ACL "check_recipient"
-processing "accept"
+processing "accept" (TESTSUITE/test-config 32)
 check domains = +local_domains
 check domains = +local_domains
-d in "@"? no (end of list)
+d in "+local_domains"?
+ list element: +local_domains
+  start sublist local_domains
+   d in "@"?
+   ╎list element: @
+   d in "@"? no (end of list)
+  end sublist local_domains
 d in "+local_domains"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
 d in "+local_domains"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
-processing "accept"
+processing "accept" (TESTSUITE/test-config 33)
 check hosts = +relay_hosts
 check hosts = +relay_hosts
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select * from them where id='10.10.10.10'" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select * from them where id='10.10.10.10'"
-cached data used for lookup of select * from them where id='10.10.10.10'
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup yielded: name=ok id=10.10.10.10 
-host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.10.10.10'"? yes (matched "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.10.10.10'")
-host in "+relay_hosts"? yes (matched "+relay_hosts")
+host in "+relay_hosts"?
+ list element: +relay_hosts
+  start sublist relay_hosts
+  host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.10.10.10'"?
+   ╎list element: sqlite;TESTSUITE/aux-fixed/sqlitedb░select░*░from░them░where░id='10.10.10.10'
+   ╎search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+   ╎  cached open
+   ╎search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   ╎  key="select * from them where id='10.10.10.10'" partial=-1 affix=NULL starflags=0 opts=NULL
+   ╎LRU list:
+   ╎internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   ╎  type=sqlite key="select * from them where id='10.10.10.10'" opts=NULL
+   ╎cached data used for lookup of select * from them where id='10.10.10.10'
+   ╎  in TESTSUITE/aux-fixed/sqlitedb
+   ╎lookup yielded: name=ok░id=10.10.10.10░
+   ╎host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.10.10.10'"? yes (matched "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.10.10.10'")
+  end sublist relay_hosts
+  host in "+relay_hosts"? yes (matched "+relay_hosts")
 accept: condition test succeeded in ACL "check_recipient"
 end of ACL "check_recipient": ACCEPT
 SMTP>> 250 Accepted
 accept: condition test succeeded in ACL "check_recipient"
 end of ACL "check_recipient": ACCEPT
 SMTP>> 250 Accepted
-DSN: orcpt: NULL  flags: 0
 SMTP<< quit
 SMTP>> 221 myhost.test.ex closing connection
 LOG: smtp_connection MAIN
 SMTP<< quit
 SMTP>> 221 myhost.test.ex closing connection
 LOG: smtp_connection MAIN
-  SMTP connection from [10.10.10.10] closed by QUIT
+  SMTP connection from (test) [10.10.10.10] D=qqs closed by QUIT
 search_tidyup called
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1237 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 Exim version x.yz ....
+Hints DB:
 changed uid/gid: forcing real = effective
 changed uid/gid: forcing real = effective
-  uid=uuuu gid=CALLER_GID pid=pppp
+  uid=uuuu gid=CALLER_GID pid=p1238
 configuration file is TESTSUITE/test-config
 admin user
 changed uid/gid: privilege not needed
 configuration file is TESTSUITE/test-config
 admin user
 changed uid/gid: privilege not needed
-  uid=EXIM_UID gid=EXIM_GID pid=pppp
+  uid=EXIM_UID gid=EXIM_GID pid=p1238
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
@@ -304,83 +533,84 @@ Recipients:
 search_tidyup called
 >>Headers received:
 
 search_tidyup called
 >>Headers received:
 
-rewrite_one_header: type=F:
-  From: CALLER_NAME <CALLER@myhost.test.ex>
+qualify & rewrite recipients list
+rewrite rules on sender address
+qualify and rewrite headers
+ rewrite_one_header: type=F:
+   From: CALLER_NAME <CALLER@myhost.test.ex>
 search_tidyup called
 >>Headers after rewriting and local additions:
 search_tidyup called
 >>Headers after rewriting and local additions:
-I Message-Id: <E10HmaX-0005vi-00@myhost.test.ex>
-F From: CALLER_NAME <CALLER@myhost.test.ex>
-  Date: Tue, 2 Mar 1999 09:44:33 +0000
+ I Message-Id: <E10HmaX-000000005vi-0000@myhost.test.ex>
+ F From: CALLER_NAME <CALLER@myhost.test.ex>
+   Date: Tue, 2 Mar 1999 09:44:33 +0000
 
 
-Data file name: TESTSUITE/spool//input//10HmaX-0005vi-00-D
-Data file written for message 10HmaX-0005vi-00
+Data file name: TESTSUITE/spool//input//10HmaX-000000005vi-0000-D
+Data file written for message 10HmaX-000000005vi-0000
 >>Generated Received: header line
 P Received: from CALLER by myhost.test.ex with local (Exim x.yz)
        (envelope-from <CALLER@myhost.test.ex>)
 >>Generated Received: header line
 P Received: from CALLER by myhost.test.ex with local (Exim x.yz)
        (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmaX-0005vi-00
-       for userx@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
-Writing spool header file: TESTSUITE/spool//input//hdr.pppp
-DSN: Write SPOOL :-dsn_envid NULL
-DSN: Write SPOOL :-dsn_ret 0
-DSN: Flags :0
-DSN: **** SPOOL_OUT - address: |userx@myhost.test.ex| errorsto: |NULL| orcpt: |NULL| dsn_flags: 0
-Renaming spool header file: TESTSUITE/spool//input//10HmaX-0005vi-00-H
+       id 10HmaX-000000005vi-0000
+       for userx@myhost.test.ex;
+       Tue, 2 Mar 1999 09:44:33 +0000
+Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-000000005vi-0000
+DSN: **** SPOOL_OUT - address: <userx@myhost.test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
+Renaming spool header file: TESTSUITE/spool//input//10HmaX-000000005vi-0000-H
 Size of headers = sss
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
 search_tidyup called
 Size of headers = sss
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
 search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -DOPT=y -C TESTSUITE/test-config -d=0xf7715cfd -MCd local-accept-delivery -odi -Mc 10HmaX-000000005vi-0000
 Exim version x.yz ....
 Exim version x.yz ....
+Hints DB:
 changed uid/gid: forcing real = effective
 changed uid/gid: forcing real = effective
-  uid=uuuu gid=EXIM_GID pid=pppp
+  uid=uuuu gid=EXIM_GID pid=p1239
 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
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 set_process_info: pppp delivering specified messages
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 set_process_info: pppp delivering specified messages
-set_process_info: pppp delivering 10HmaX-0005vi-00
-Trying spool file TESTSUITE/spool//input//10HmaX-0005vi-00-D
-reading spool file 10HmaX-0005vi-00-H
+set_process_info: pppp delivering 10HmaX-000000005vi-0000
+Trying spool file TESTSUITE/spool//input//10HmaX-000000005vi-0000-D
+reading spool file 10HmaX-000000005vi-0000-H
 user=CALLER uid=CALLER_UID gid=CALLER_GID sender=CALLER@myhost.test.ex
 sender_local=1 ident=CALLER
 Non-recipients:
 user=CALLER uid=CALLER_UID gid=CALLER_GID sender=CALLER@myhost.test.ex
 sender_local=1 ident=CALLER
 Non-recipients:
-Empty Tree
+ Empty Tree
 ---- End of tree ----
 recipients_count=1
 **** SPOOL_IN - No additional fields
 ---- End of tree ----
 recipients_count=1
 **** SPOOL_IN - No additional fields
-body_linecount=1 message_linecount=7
-DSN: set orcpt:   flags: 0
+body_linecount=1 message_linecount=8
+DSN: set orcpt:   flags: 0x0
 Delivery address list:
   userx@myhost.test.ex 
 Delivery address list:
   userx@myhost.test.ex 
-locking TESTSUITE/spool/db/retry.lockfile
-locked  TESTSUITE/spool/db/retry.lockfile
-EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
-returned from EXIM_DBOPEN: (nil)
-ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim
-failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory
+ EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
+ returned from EXIM_DBOPEN: (nil)
+ failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: userx@myhost.test.ex
 unique = userx@myhost.test.ex
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: userx@myhost.test.ex
 unique = userx@myhost.test.ex
-no domain retry record
-no address retry record
+no   domain  retry record
+no   address retry record
 userx@myhost.test.ex: queued for routing
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 routing userx@myhost.test.ex
 --------> r1 router <--------
 local_part=userx domain=myhost.test.ex
 processing address_data
 userx@myhost.test.ex: queued for routing
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 routing userx@myhost.test.ex
 --------> r1 router <--------
 local_part=userx domain=myhost.test.ex
 processing address_data
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select name from them where id='userx'" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select name from them where id='userx'"
-file lookup required for select name from them where id='userx'
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup yielded: Ayen Other
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select name from them where id='userx'" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select name from them where id='userx'" opts=NULL
+ file lookup required for select name from them where id='userx'
+   in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
+ lookup yielded: Ayen░Other
 calling r1 router
 r1 router called for userx@myhost.test.ex
   domain = myhost.test.ex
 calling r1 router
 r1 router called for userx@myhost.test.ex
   domain = myhost.test.ex
@@ -388,7 +618,7 @@ set transport t1
 queued for t1 transport: local_part = userx
 domain = myhost.test.ex
   errors_to=NULL
 queued for t1 transport: local_part = userx
 domain = myhost.test.ex
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=NULL local_part_data=NULL
 routed by r1 router
   envelope to: userx@myhost.test.ex
   transport: t1
 routed by r1 router
   envelope to: userx@myhost.test.ex
   transport: t1
@@ -402,27 +632,26 @@ After routing:
 search_tidyup called
 >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
 --------> userx@myhost.test.ex <--------
 search_tidyup called
 >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
 --------> userx@myhost.test.ex <--------
-locking TESTSUITE/spool/db/retry.lockfile
-locked  TESTSUITE/spool/db/retry.lockfile
-EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
-returned from EXIM_DBOPEN: (nil)
-failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
+ EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
+ returned from EXIM_DBOPEN: (nil)
+ failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 search_tidyup called
 changed uid/gid: local delivery to userx <userx@myhost.test.ex> transport=t1
 no retry data available
 search_tidyup called
 changed uid/gid: local delivery to userx <userx@myhost.test.ex> transport=t1
-  uid=CALLER_UID gid=CALLER_GID pid=pppp
+  uid=CALLER_UID gid=CALLER_GID pid=p1240
   home=NULL current=/
   home=NULL current=/
-set_process_info: pppp delivering 10HmaX-0005vi-00 to userx using t1
+set_process_info: pppp delivering 10HmaX-000000005vi-0000 to userx using t1
 appendfile transport entered
 appendfile transport entered
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select id from them where id='userx'" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select id from them where id='userx'"
-file lookup required for select id from them where id='userx'
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup yielded: userx
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select id from them where id='userx'" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select id from them where id='userx'" opts=NULL
+ file lookup required for select id from them where id='userx'
+   in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
+ lookup yielded: userx
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   file=TESTSUITE/test-mail/userx format=unix
   message_prefix=From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   file=TESTSUITE/test-mail/userx format=unix
   message_prefix=From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n
@@ -440,6 +669,7 @@ writing data block fd=dddd size=sss timeout=0
 writing data block fd=dddd size=sss timeout=0
 appendfile yields 0 with errno=dd more_errno=dd
 search_tidyup called
 writing data block fd=dddd size=sss timeout=0
 appendfile yields 0 with errno=dd more_errno=dd
 search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=p1240 (delivery-local) terminating with rc=0 >>>>>>>>>>>>>>>>
 journalling userx@myhost.test.ex
 t1 transport returned OK for userx@myhost.test.ex
 post-process userx@myhost.test.ex (0)
 journalling userx@myhost.test.ex
 t1 transport returned OK for userx@myhost.test.ex
 post-process userx@myhost.test.ex (0)
@@ -448,8 +678,8 @@ LOG: MAIN
   => userx <userx@myhost.test.ex> R=r1 T=t1
 >>>>>>>>>>>>>>>> deliveries are done >>>>>>>>>>>>>>>>
 changed uid/gid: post-delivery tidying
   => userx <userx@myhost.test.ex> R=r1 T=t1
 >>>>>>>>>>>>>>>> deliveries are done >>>>>>>>>>>>>>>>
 changed uid/gid: post-delivery tidying
-  uid=EXIM_UID gid=EXIM_GID pid=pppp
-set_process_info: pppp tidying up after delivering 10HmaX-0005vi-00
+  uid=EXIM_UID gid=EXIM_GID pid=p1239
+set_process_info: pppp tidying up after delivering 10HmaX-000000005vi-0000
 Processing retry items
 Succeeded addresses:
  userx@myhost.test.ex: no retry items
 Processing retry items
 Succeeded addresses:
  userx@myhost.test.ex: no retry items
@@ -459,30 +689,77 @@ end of retry processing
 DSN: processing router : r1
 DSN: processing successful delivery address: userx@myhost.test.ex
 DSN: Sender_address: CALLER@myhost.test.ex
 DSN: processing router : r1
 DSN: processing successful delivery address: userx@myhost.test.ex
 DSN: Sender_address: CALLER@myhost.test.ex
-DSN: orcpt: NULL  flags: 0
+DSN: orcpt: NULL  flags: 0x0
 DSN: envid: NULL  ret: 0
 DSN: Final recipient: userx@myhost.test.ex
 DSN: Remote SMTP server supports DSN: 0
 DSN: not sending DSN success message
 LOG: MAIN
   Completed
 DSN: envid: NULL  ret: 0
 DSN: Final recipient: userx@myhost.test.ex
 DSN: Remote SMTP server supports DSN: 0
 DSN: not sending DSN success message
 LOG: MAIN
   Completed
-end delivery of 10HmaX-0005vi-00
+end delivery of 10HmaX-000000005vi-0000
 search_tidyup called
 search_tidyup called
 search_tidyup called
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1239 (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=p1238 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+Hints DB:
+configuration file is TESTSUITE/test-config
+admin user
+dropping to exim gid; retaining priv uid
+ search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
+ search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
+   type=sqlite key="select name from them where id='userx';" opts=NULL
+ file lookup required for select name from them where id='userx';
+   in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
+ lookup yielded: Ayen░Other
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=p1241 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+Hints DB:
+configuration file is TESTSUITE/test-config
+admin user
+dropping to exim gid; retaining priv uid
+ search_open: sqlite "NULL"
+ Using sqlite_dbfile: TESTSUITE/aux-fixed/sqlitedb
+ search_find: file="NULL"
+   key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=sqlite key="select name from them where id='userx';" opts=NULL
+ database lookup required for select name from them where id='userx';
+ creating new cache entry
+ lookup yielded: Ayen░Other
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=p1242 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+Hints DB:
+configuration file is TESTSUITE/test-config
+admin user
+dropping to exim gid; retaining priv uid
+ search_open: sqlite "NULL"
+ Using sqlite_dbfile: nonabsolute_filename
 search_tidyup called
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1243 (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
-search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
-search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb"
-  type=sqlite key="select name from them where id='userx';"
-file lookup required for select name from them where id='userx';
-  in TESTSUITE/aux-fixed/sqlitedb
-lookup yielded: Ayen Other
+dropping to exim gid; retaining priv uid
+ search_open: sqlite "NULL"
+ Using sqlite_dbfile: TESTSUITE/missingfile
+ search_find: file="NULL"
+   key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=sqlite key="select name from them where id='userx';" opts=NULL
+ database lookup required for select name from them where id='userx';
+ sqlite3_exec failed: no such table: them
+ creating new cache entry
+ lookup failed
 search_tidyup called
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1244 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>