CVE-2020-28026: Line truncation and injection in spool_read_header()
[exim.git] / test / stderr / 2620
index 007612abaee89901aacab88f2973c5cf373d4180..07876e18b0d21b2011a1f9eefa0a2478b2636ba7 100644 (file)
@@ -5,201 +5,202 @@ You can change this by editing pg_hba.conf or using the option -A, or
 Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 admin user
-search_open: pgsql "NULL"
-search_find: file="NULL"
-  key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="select name from them where id='ph10';"
-database lookup required for select name from them where id='ph10';
-PostgreSQL query: select name from them where id='ph10';
-PGSQL new connection: host=localhost port=1223 database=test user=CALLER
-lookup yielded: Philip Hazel
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="select name from them where id='ph10';"
-cached data used for lookup of select name from them where id='ph10';
-lookup yielded: Philip Hazel
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="select name from them where id='xxxx';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="select name from them where id='xxxx';"
-database lookup required for select name from them where id='xxxx';
-PostgreSQL query: select name from them where id='xxxx';
-PGSQL using cached connection for localhost:1223/test/CALLER
-PGSQL: no data found
-lookup failed
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="select name from them where id='nothing';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="select name from them where id='nothing';"
-database lookup required for select name from them where id='nothing';
-PostgreSQL query: select name from them where id='nothing';
-PGSQL using cached connection for localhost:1223/test/CALLER
-lookup yielded: 
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="select id,name from them where id='nothing';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="select id,name from them where id='nothing';"
-database lookup required for select id,name from them where id='nothing';
-PostgreSQL query: select id,name from them where id='nothing';
-PGSQL using cached connection for localhost:1223/test/CALLER
-lookup yielded: id=nothing name="" 
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="delete from them where id='nonexist';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="delete from them where id='nonexist';"
-database lookup required for delete from them where id='nonexist';
-PostgreSQL query: delete from them where id='nonexist';
-PGSQL using cached connection for localhost:1223/test/CALLER
-PGSQL: command does not return any data but was successful. Rows affected: 0
-lookup forced cache cleanup
-lookup yielded: 0
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="select * from them where id='quote2';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="select * from them where id='quote2';"
-database lookup required for select * from them where id='quote2';
-PostgreSQL query: select * from them where id='quote2';
-PGSQL using cached connection for localhost:1223/test/CALLER
-lookup yielded: name="\"stquot" id=quote2 
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="select * from them where id='newline';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="select * from them where id='newline';"
-database lookup required for select * from them where id='newline';
-PostgreSQL query: select * from them where id='newline';
-PGSQL using cached connection for localhost:1223/test/CALLER
-lookup yielded: name="before\r
-after" id=newline 
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="select * from them where id='tab';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="select * from them where id='tab';"
-database lookup required for select * from them where id='tab';
-PostgreSQL query: select * from them where id='tab';
-PGSQL using cached connection for localhost:1223/test/CALLER
-lookup yielded: name="x        x" id=tab 
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="select * from them where name='''stquot';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="select * from them where name='''stquot';"
-database lookup required for select * from them where name='''stquot';
-PostgreSQL query: select * from them where name='''stquot';
-PGSQL using cached connection for localhost:1223/test/CALLER
-lookup yielded: name='stquot id=quote1 
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="servers=x:localhost; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="servers=x:localhost; select name from them where id='ph10';"
-database lookup required for servers=x:localhost; select name from them where id='ph10';
-PostgreSQL query: servers=x:localhost; select name from them where id='ph10';
-lookup deferred: PostgreSQL server "x" not found in pgsql_servers
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="servers=localhost::1223:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="servers=localhost::1223:x; select name from them where id='ph10';"
-database lookup required for servers=localhost::1223:x; select name from them where id='ph10';
-PostgreSQL query: servers=localhost::1223:x; select name from them where id='ph10';
-PGSQL using cached connection for localhost:1223/test/CALLER
-lookup yielded: Philip Hazel
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';"
-database lookup required for servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';
-PostgreSQL query: servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';
-PGSQL using cached connection for localhost:1223/test/CALLER
-lookup yielded: Philip Hazel
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';"
-database lookup required for servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';
-PostgreSQL query: servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';
-PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER
-lookup yielded: Philip Hazel
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');"
-database lookup required for SELECT name FROM them WHERE id IN ('ph10', 'aaaa');
-PostgreSQL query: SELECT name FROM them WHERE id IN ('ph10', 'aaaa');
-PGSQL using cached connection for localhost:1223/test/CALLER
-lookup yielded: Philip Hazel
-Aristotle
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');"
-database lookup required for SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');
-PostgreSQL query: SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');
-PGSQL using cached connection for localhost:1223/test/CALLER
-lookup yielded: name="Philip Hazel" id=ph10 
-name=Aristotle id=aaaa 
-search_open: pgsql "NULL"
-  cached open
-search_find: file="NULL"
-  key="delete from them where id='aaaa'" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="delete from them where id='aaaa'"
-database lookup required for delete from them where id='aaaa'
-PostgreSQL query: delete from them where id='aaaa'
-PGSQL using cached connection for localhost:1223/test/CALLER
-PGSQL: command does not return any data but was successful. Rows affected: 1
-lookup forced cache cleanup
-lookup yielded: 1
+dropping to exim gid; retaining priv uid
+ search_open: pgsql "NULL"
+ search_find: file="NULL"
+   key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id='ph10';" opts=NULL
+ database lookup required for select name from them where id='ph10';
+ PostgreSQL query: "select name from them where id='ph10';" opts 'NULL'
+ PGSQL new connection: host=localhost port=1223 database=test user=CALLER
+ lookup yielded: Philip Hazel
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id='ph10';" opts=NULL
+ cached data used for lookup of select name from them where id='ph10';
+ lookup yielded: Philip Hazel
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="select name from them where id='xxxx';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id='xxxx';" opts=NULL
+ database lookup required for select name from them where id='xxxx';
+ PostgreSQL query: "select name from them where id='xxxx';" opts 'NULL'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ PGSQL: no data found
+ lookup failed
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="select name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id='nothing';" opts=NULL
+ database lookup required for select name from them where id='nothing';
+ PostgreSQL query: "select name from them where id='nothing';" opts 'NULL'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ lookup yielded: 
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="select id,name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select id,name from them where id='nothing';" opts=NULL
+ database lookup required for select id,name from them where id='nothing';
+ PostgreSQL query: "select id,name from them where id='nothing';" opts 'NULL'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ lookup yielded: id=nothing name="" 
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="delete from them where id='nonexist';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="delete from them where id='nonexist';" opts=NULL
+ database lookup required for delete from them where id='nonexist';
+ PostgreSQL query: "delete from them where id='nonexist';" opts 'NULL'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ PGSQL: command does not return any data but was successful. Rows affected: 0
+ lookup forced cache cleanup
+ lookup yielded: 0
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="select * from them where id='quote2';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select * from them where id='quote2';" opts=NULL
+ database lookup required for select * from them where id='quote2';
+ PostgreSQL query: "select * from them where id='quote2';" opts 'NULL'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ lookup yielded: name="\"stquot" id=quote2 
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="select * from them where id='newline';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select * from them where id='newline';" opts=NULL
+ database lookup required for select * from them where id='newline';
+ PostgreSQL query: "select * from them where id='newline';" opts 'NULL'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ lookup yielded: name="before\r
+ after" id=newline 
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="select * from them where id='tab';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select * from them where id='tab';" opts=NULL
+ database lookup required for select * from them where id='tab';
+ PostgreSQL query: "select * from them where id='tab';" opts 'NULL'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ lookup yielded: name="x       x" id=tab 
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="select * from them where name='''stquot';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select * from them where name='''stquot';" opts=NULL
+ database lookup required for select * from them where name='''stquot';
+ PostgreSQL query: "select * from them where name='''stquot';" opts 'NULL'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ lookup yielded: name='stquot id=quote1 
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="servers=x:localhost; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="servers=x:localhost; select name from them where id='ph10';" opts=NULL
+ database lookup required for servers=x:localhost; select name from them where id='ph10';
+ PostgreSQL query: "servers=x:localhost; select name from them where id='ph10';" opts 'NULL'
+ lookup deferred: PostgreSQL server "x" not found in pgsql_servers
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="servers=localhost::1223:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="servers=localhost::1223:x; select name from them where id='ph10';" opts=NULL
+ database lookup required for servers=localhost::1223:x; select name from them where id='ph10';
+ PostgreSQL query: "servers=localhost::1223:x; select name from them where id='ph10';" opts 'NULL'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ lookup yielded: Philip Hazel
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';" opts=NULL
+ database lookup required for servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';
+ PostgreSQL query: "servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';" opts 'NULL'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ lookup yielded: Philip Hazel
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';" opts=NULL
+ database lookup required for servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';
+ PostgreSQL query: "servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';" opts 'NULL'
+ PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER
+ lookup yielded: Philip Hazel
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" opts=NULL
+ database lookup required for SELECT name FROM them WHERE id IN ('ph10', 'aaaa');
+ PostgreSQL query: "SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" opts 'NULL'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ lookup yielded: Philip Hazel
+ Aristotle
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');" opts=NULL
+ database lookup required for SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');
+ PostgreSQL query: "SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');" opts 'NULL'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ lookup yielded: name="Philip Hazel" id=ph10 
+ name=Aristotle id=aaaa 
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="delete from them where id='aaaa'" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="delete from them where id='aaaa'" opts=NULL
+ database lookup required for delete from them where id='aaaa'
+ PostgreSQL query: "delete from them where id='aaaa'" opts 'NULL'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ PGSQL: command does not return any data but was successful. Rows affected: 1
+ lookup forced cache cleanup
+ lookup yielded: 1
 search_tidyup called
 close PGSQL connection: (TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER
 close PGSQL connection: localhost:1223/test/CALLER
->>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
   uid=uuuu gid=CALLER_GID pid=pppp
@@ -232,28 +233,107 @@ 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 25)
+processing "warn" (TESTSUITE/test-config 27)
+ search_open: pgsql "NULL"
+ search_find: file="NULL"
+   key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id = 'c'" opts=NULL
+ database lookup required for select name from them where id = 'c'
+ PostgreSQL query: "select name from them where id = 'c'" opts 'NULL'
+ PGSQL new connection: host=localhost port=1223 database=test user=CALLER
+ PGSQL: no data found
+ lookup failed
+check set acl_m0 = ok:   ${lookup pgsql                    {select name from them where id = '$local_part'}}
+                 = ok:   
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="servers=SSPEC"
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id = 'c'" opts="servers=SSPEC"
+ cached data found but wrong opts;  database lookup required for select name from them where id = 'c'
+ PostgreSQL query: "select name from them where id = 'c'" opts 'servers=SSPEC'
+ lookup deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+warn: condition test deferred in ACL "check_recipient"
+LOG: MAIN
+  H=[10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+processing "warn" (TESTSUITE/test-config 38)
+check set acl_m0 = ok:   hostlist
+check hosts = net-pgsql;select * from them where id='$local_part'
+search_open: pgsql "NULL"
+  cached open
+search_find: file="NULL"
+  key="select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts=NULL
+LRU list:
+internal_search_find: file="NULL"
+  type=pgsql key="select * from them where id='c'" opts=NULL
+database lookup required for select * from them where id='c'
+PostgreSQL query: "select * from them where id='c'" opts 'NULL'
+PGSQL using cached connection for localhost:1223/test/CALLER
+PGSQL: no data found
+lookup failed
+host in "net-pgsql;select * from them where id='c'"? no (end of list)
+warn: condition test failed in ACL "check_recipient"
+processing "warn" (TESTSUITE/test-config 41)
+check set acl_m0 = FAIL: hostlist
+check hosts = <& net-pgsql;servers=SSPEC; select * from them where id='$local_part'
+search_open: pgsql "NULL"
+  cached open
+search_find: file="NULL"
+  key="servers=SSPEC; select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts=NULL
+LRU list:
+internal_search_find: file="NULL"
+  type=pgsql key="servers=SSPEC; select * from them where id='c'" opts=NULL
+database lookup required for servers=SSPEC; select * from them where id='c'
+PostgreSQL query: "servers=SSPEC; select * from them where id='c'" opts 'NULL'
+lookup deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+host in "<& net-pgsql;servers=SSPEC; select * from them where id='c'"? list match deferred for net-pgsql;servers=SSPEC; select * from them where id='c'
+warn: condition test deferred in ACL "check_recipient"
+LOG: MAIN
+  H=[10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+processing "warn" (TESTSUITE/test-config 46)
+check set acl_m0 = FAIL: hostlist
+check hosts = <& net-pgsql,servers=SSPEC; select * from them where id='$local_part'
+search_open: pgsql "NULL"
+  cached open
+search_find: file="NULL"
+  key=" select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts="servers=SSPEC"
+LRU list:
+internal_search_find: file="NULL"
+  type=pgsql key=" select * from them where id='c'" opts="servers=SSPEC"
+database lookup required for  select * from them where id='c'
+PostgreSQL query: " select * from them where id='c'" opts 'servers=SSPEC'
+lookup deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+host in "<& net-pgsql,servers=SSPEC; select * from them where id='c'"? list match deferred for net-pgsql,servers=SSPEC; select * from them where id='c'
+warn: condition test deferred in ACL "check_recipient"
+LOG: MAIN
+  H=[10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+processing "accept" (TESTSUITE/test-config 49)
 check domains = +local_domains
 d in "@"? no (end of list)
 d in "+local_domains"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
-processing "accept" (TESTSUITE/test-config 26)
+processing "accept" (TESTSUITE/test-config 50)
 check hosts = +relay_hosts
 search_open: pgsql "NULL"
+  cached open
 search_find: file="NULL"
-  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0
+  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=pgsql key="select * from them where id='10.0.0.0'"
+  type=pgsql key="select * from them where id='10.0.0.0'" opts=NULL
 database lookup required for select * from them where id='10.0.0.0'
-PostgreSQL query: select * from them where id='10.0.0.0'
-PGSQL new connection: host=localhost port=1223 database=test user=CALLER
+PostgreSQL query: "select * from them where id='10.0.0.0'" opts 'NULL'
+PGSQL using cached connection for localhost:1223/test/CALLER
 PGSQL: no data found
 lookup failed
 host in "net-pgsql;select * from them where id='10.0.0.0'"? no (end of list)
 host in "+relay_hosts"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
-processing "deny" (TESTSUITE/test-config 27)
+processing "deny" (TESTSUITE/test-config 51)
   message: relay not permitted
 deny: condition test succeeded in ACL "check_recipient"
 end of ACL "check_recipient": DENY
@@ -262,26 +342,99 @@ LOG: MAIN REJECT
   H=[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 25)
+processing "warn" (TESTSUITE/test-config 27)
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id = 'c'" opts=NULL
+ cached data used for lookup of select name from them where id = 'c'
+ lookup failed
+check set acl_m0 = ok:   ${lookup pgsql                    {select name from them where id = '$local_part'}}
+                 = ok:   
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="servers=SSPEC"
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id = 'c'" opts="servers=SSPEC"
+ cached data found but wrong opts;  database lookup required for select name from them where id = 'c'
+ PostgreSQL query: "select name from them where id = 'c'" opts 'servers=SSPEC'
+ lookup deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+warn: condition test deferred in ACL "check_recipient"
+LOG: MAIN
+  H=[10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+processing "warn" (TESTSUITE/test-config 38)
+check set acl_m0 = ok:   hostlist
+check hosts = net-pgsql;select * from them where id='$local_part'
+search_open: pgsql "NULL"
+  cached open
+search_find: file="NULL"
+  key="select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts=NULL
+LRU list:
+internal_search_find: file="NULL"
+  type=pgsql key="select * from them where id='c'" opts=NULL
+cached data used for lookup of select * from them where id='c'
+lookup failed
+host in "net-pgsql;select * from them where id='c'"? no (end of list)
+warn: condition test failed in ACL "check_recipient"
+processing "warn" (TESTSUITE/test-config 41)
+check set acl_m0 = FAIL: hostlist
+check hosts = <& net-pgsql;servers=SSPEC; select * from them where id='$local_part'
+search_open: pgsql "NULL"
+  cached open
+search_find: file="NULL"
+  key="servers=SSPEC; select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts=NULL
+LRU list:
+internal_search_find: file="NULL"
+  type=pgsql key="servers=SSPEC; select * from them where id='c'" opts=NULL
+database lookup required for servers=SSPEC; select * from them where id='c'
+PostgreSQL query: "servers=SSPEC; select * from them where id='c'" opts 'NULL'
+lookup deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+host in "<& net-pgsql;servers=SSPEC; select * from them where id='c'"? list match deferred for net-pgsql;servers=SSPEC; select * from them where id='c'
+warn: condition test deferred in ACL "check_recipient"
+LOG: MAIN
+  H=[10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+processing "warn" (TESTSUITE/test-config 46)
+check set acl_m0 = FAIL: hostlist
+check hosts = <& net-pgsql,servers=SSPEC; select * from them where id='$local_part'
+search_open: pgsql "NULL"
+  cached open
+search_find: file="NULL"
+  key=" select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts="servers=SSPEC"
+LRU list:
+internal_search_find: file="NULL"
+  type=pgsql key=" select * from them where id='c'" opts="servers=SSPEC"
+database lookup required for  select * from them where id='c'
+PostgreSQL query: " select * from them where id='c'" opts 'servers=SSPEC'
+lookup deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+host in "<& net-pgsql,servers=SSPEC; select * from them where id='c'"? list match deferred for net-pgsql,servers=SSPEC; select * from them where id='c'
+warn: condition test deferred in ACL "check_recipient"
+LOG: MAIN
+  H=[10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+processing "accept" (TESTSUITE/test-config 49)
 check domains = +local_domains
 d in "@"? no (end of list)
 d in "+local_domains"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
-processing "accept" (TESTSUITE/test-config 26)
+processing "accept" (TESTSUITE/test-config 50)
 check hosts = +relay_hosts
 search_open: pgsql "NULL"
   cached open
 search_find: file="NULL"
-  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0
+  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts=NULL
 LRU list:
 internal_search_find: file="NULL"
-  type=pgsql key="select * from them where id='10.0.0.0'"
+  type=pgsql key="select * from them where id='10.0.0.0'" opts=NULL
 cached data used for lookup of select * from them where id='10.0.0.0'
 lookup failed
 host in "net-pgsql;select * from them where id='10.0.0.0'"? no (end of list)
 host in "+relay_hosts"? no (end of list)
 accept: condition test failed in ACL "check_recipient"
-processing "deny" (TESTSUITE/test-config 27)
+processing "deny" (TESTSUITE/test-config 51)
   message: relay not permitted
 deny: condition test succeeded in ACL "check_recipient"
 end of ACL "check_recipient": DENY
@@ -294,7 +447,7 @@ LOG: smtp_connection MAIN
   SMTP connection from [10.0.0.0] closed by QUIT
 search_tidyup called
 close PGSQL connection: localhost:1223/test/CALLER
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
   uid=uuuu gid=CALLER_GID pid=pppp
@@ -330,24 +483,22 @@ P Received: from CALLER by myhost.test.ex with local (Exim x.yz)
        (envelope-from <CALLER@myhost.test.ex>)
        id 10HmaX-0005vi-00
        for CALLER@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: |CALLER@myhost.test.ex| errorsto: |NULL| orcpt: |NULL| dsn_flags: 0
+Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-0005vi-00
+DSN: **** SPOOL_OUT - address: <CALLER@myhost.test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
 Renaming spool header file: TESTSUITE/spool//input//10HmaX-0005vi-00-H
 Size of headers = sss
 LOG: MAIN
   <= CALLER@myhost.test.ex U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
 search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -MCd local-accept-delivery -odi -Mc 10HmaX-0005vi-00
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
   uid=uuuu gid=EXIM_GID pid=pppp
 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
@@ -362,7 +513,7 @@ Empty Tree
 recipients_count=1
 **** SPOOL_IN - No additional fields
 body_linecount=1 message_linecount=7
-DSN: set orcpt:   flags: 0
+DSN: set orcpt:   flags: 0x0
 Delivery address list:
   CALLER@myhost.test.ex 
  locking TESTSUITE/spool/db/retry.lockfile
@@ -383,16 +534,16 @@ routing CALLER@myhost.test.ex
 --------> r1 router <--------
 local_part=CALLER domain=myhost.test.ex
 processing address_data
-search_open: pgsql "NULL"
-search_find: file="NULL"
-  key="select name from them where id='ph10'" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="select name from them where id='ph10'"
-database lookup required for select name from them where id='ph10'
-PostgreSQL query: select name from them where id='ph10'
-PGSQL new connection: host=localhost port=1223 database=test user=CALLER
-lookup yielded: Philip Hazel
+ search_open: pgsql "NULL"
+ search_find: file="NULL"
+   key="select name from them where id='ph10'" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id='ph10'" opts=NULL
+ database lookup required for select name from them where id='ph10'
+ PostgreSQL query: "select name from them where id='ph10'" opts 'NULL'
+ PGSQL new connection: host=localhost port=1223 database=test user=CALLER
+ lookup yielded: Philip Hazel
 calling r1 router
 r1 router called for CALLER@myhost.test.ex
   domain = myhost.test.ex
@@ -400,7 +551,7 @@ set transport t1
 queued for t1 transport: local_part = CALLER
 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: CALLER@myhost.test.ex
   transport: t1
@@ -427,16 +578,16 @@ changed uid/gid: local delivery to CALLER <CALLER@myhost.test.ex> transport=t1
   home=NULL current=/
 set_process_info: pppp delivering 10HmaX-0005vi-00 to CALLER using t1
 appendfile transport entered
-search_open: pgsql "NULL"
-search_find: file="NULL"
-  key="select id from them where id='ph10'" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="select id from them where id='ph10'"
-database lookup required for select id from them where id='ph10'
-PostgreSQL query: select id from them where id='ph10'
-PGSQL new connection: host=localhost port=1223 database=test user=CALLER
-lookup yielded: ph10
+ search_open: pgsql "NULL"
+ search_find: file="NULL"
+   key="select id from them where id='ph10'" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select id from them where id='ph10'" opts=NULL
+ database lookup required for select id from them where id='ph10'
+ PostgreSQL query: "select id from them where id='ph10'" opts 'NULL'
+ PGSQL new connection: host=localhost port=1223 database=test user=CALLER
+ lookup yielded: ph10
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   file=TESTSUITE/test-mail/ph10 format=unix
   message_prefix=From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n
@@ -474,7 +625,7 @@ end of retry processing
 DSN: processing router : r1
 DSN: processing successful delivery address: CALLER@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: CALLER@myhost.test.ex
 DSN: Remote SMTP server supports DSN: 0
@@ -484,24 +635,25 @@ LOG: MAIN
 end delivery of 10HmaX-0005vi-00
 search_tidyup called
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 admin user
-search_open: pgsql "NULL"
-search_find: file="NULL"
-  key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=pgsql key="select name from them where id='ph10';"
-database lookup required for select name from them where id='ph10';
-PostgreSQL query: select name from them where id='ph10';
-PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER
-lookup yielded: Philip Hazel
+dropping to exim gid; retaining priv uid
+ search_open: pgsql "NULL"
+ search_find: file="NULL"
+   key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id='ph10';" opts=NULL
+ database lookup required for select name from them where id='ph10';
+ PostgreSQL query: "select name from them where id='ph10';" opts 'NULL'
+ PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER
+ lookup yielded: Philip Hazel
 search_tidyup called
 close PGSQL connection: (TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER
->>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 
 ******** SERVER ********