Lookups: sub-path for dsearch
[exim.git] / test / stderr / 2620
index eee26190d2eadb1ccbfd9ae7561011bcea2e70d5..6f244223dea5527d2e2cd52063b1a02d4254348d 100644 (file)
@@ -1,7 +1,6 @@
 
 WARNING: enabling "trust" authentication for local connections
 
 WARNING: enabling "trust" authentication for local connections
-You can change this by editing pg_hba.conf or using the option -A, or
---auth-local and --auth-host, the next time you run initdb.
+initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
 Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 admin user
 Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 admin user
@@ -14,9 +13,9 @@ dropping to exim gid; retaining priv uid
    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'
    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
+ PGSQL new connection: host=localhost port=PORT_N database=test user=CALLER
  creating new cache entry
  creating new cache entry
- lookup yielded: Philip Hazel
+ lookup yielded: PhilipHazel
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
@@ -25,7 +24,7 @@ dropping to exim gid; retaining priv uid
  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';
  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
+ lookup yielded: PhilipHazel
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
@@ -35,7 +34,7 @@ dropping to exim gid; retaining priv uid
    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'
    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 using cached connection for localhost:PORT_N/test/CALLER
  PGSQL: no data found
  creating new cache entry
  lookup failed
  PGSQL: no data found
  creating new cache entry
  lookup failed
@@ -48,7 +47,7 @@ dropping to exim gid; retaining priv uid
    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'
    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
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
  creating new cache entry
  lookup yielded: 
  search_open: pgsql "NULL"
  creating new cache entry
  lookup yielded: 
  search_open: pgsql "NULL"
@@ -60,9 +59,9 @@ dropping to exim gid; retaining priv uid
    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'
    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
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
  creating new cache entry
  creating new cache entry
- lookup yielded: id=nothing name="" 
+ lookup yielded: id=nothing░name=""░
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
@@ -72,7 +71,7 @@ dropping to exim gid; retaining priv uid
    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'
    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 using cached connection for localhost:PORT_N/test/CALLER
  PGSQL: command does not return any data but was successful. Rows affected: 0
  lookup forced cache cleanup
  lookup yielded: 0
  PGSQL: command does not return any data but was successful. Rows affected: 0
  lookup forced cache cleanup
  lookup yielded: 0
@@ -85,9 +84,9 @@ dropping to exim gid; retaining priv uid
    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'
    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
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
  creating new cache entry
  creating new cache entry
- lookup yielded: name="\"stquot" id=quote2 
+ lookup yielded: name="\"stquot"░id=quote2░
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
@@ -97,10 +96,10 @@ dropping to exim gid; retaining priv uid
    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'
    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
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
  creating new cache entry
  creating new cache entry
- lookup yielded: name="before\r
- after" id=newline 
+ lookup yielded: name="before␍↩
+ after"░id=newline░
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
@@ -110,9 +109,9 @@ dropping to exim gid; retaining priv uid
    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'
    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
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
  creating new cache entry
  creating new cache entry
- lookup yielded: name="x       x" id=tab 
+ lookup yielded: name="x␉x"░id=tab░
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
@@ -122,9 +121,9 @@ dropping to exim gid; retaining priv uid
    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'
    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
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
  creating new cache entry
  creating new cache entry
- lookup yielded: name='stquot id=quote1 
+ lookup yielded: name='stquot░id=quote1░
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
@@ -134,31 +133,40 @@ dropping to exim gid; retaining priv uid
    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'
    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'
+LOG: MAIN
+  Exim configuration error in line 78 of TESTSUITE/test-config:
+  WARNING: obsolete syntax used for lookup
  lookup deferred: PostgreSQL server "x" not found in pgsql_servers
  search_open: pgsql "NULL"
    cached open
  search_find: file="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
+   key="servers=localhost::PORT_N:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL
  LRU list:
  internal_search_find: file="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
+   type=pgsql key="servers=localhost::PORT_N:x; select name from them where id='ph10';" opts=NULL
+ database lookup required for servers=localhost::PORT_N:x; select name from them where id='ph10';
+ PostgreSQL query: "servers=localhost::PORT_N:x; select name from them where id='ph10';" opts 'NULL'
+LOG: MAIN
+  Exim configuration error in line 78 of TESTSUITE/test-config:
+  WARNING: obsolete syntax used for lookup
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
  creating new cache entry
  creating new cache entry
- lookup yielded: Philip Hazel
+ lookup yielded: PhilipHazel
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
  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
+   key="servers=localhost::PORT_N/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"
  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
+   type=pgsql key="servers=localhost::PORT_N/test/CALLER/:x; select name from them where id='ph10';" opts=NULL
+ database lookup required for servers=localhost::PORT_N/test/CALLER/:x; select name from them where id='ph10';
+ PostgreSQL query: "servers=localhost::PORT_N/test/CALLER/:x; select name from them where id='ph10';" opts 'NULL'
+LOG: MAIN
+  Exim configuration error in line 78 of TESTSUITE/test-config:
+  WARNING: obsolete syntax used for lookup
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
  creating new cache entry
  creating new cache entry
- lookup yielded: Philip Hazel
+ lookup yielded: PhilipHazel
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
@@ -168,9 +176,12 @@ dropping to exim gid; retaining priv uid
    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'
    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'
+LOG: MAIN
+  Exim configuration error in line 78 of TESTSUITE/test-config:
+  WARNING: obsolete syntax used for lookup
  PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER
  creating new cache entry
  PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER
  creating new cache entry
- lookup yielded: Philip Hazel
+ lookup yielded: PhilipHazel
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
@@ -180,9 +191,9 @@ dropping to exim gid; retaining priv uid
    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'
    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
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
  creating new cache entry
  creating new cache entry
- lookup yielded: Philip Hazel
+ lookup yielded: Philip░Hazel↩
  Aristotle
  search_open: pgsql "NULL"
    cached open
  Aristotle
  search_open: pgsql "NULL"
    cached open
@@ -193,10 +204,10 @@ dropping to exim gid; retaining priv uid
    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'
    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
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
  creating new cache entry
  creating new cache entry
- lookup yielded: name="Philip Hazel" id=ph10 
- name=Aristotle id=aaaa 
+ lookup yielded: name="Philip░Hazel"░id=ph10░↩
+ name=Aristotle░id=aaaa░
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
@@ -206,21 +217,21 @@ dropping to exim gid; retaining priv uid
    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'
    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 using cached connection for localhost:PORT_N/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
  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 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
+close PGSQL connection: localhost:PORT_N/test/CALLER
+>>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
 Exim version x.yz ....
 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
 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
@@ -240,6 +251,15 @@ 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<< 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
@@ -254,108 +274,190 @@ processing "warn" (TESTSUITE/test-config 27)
  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'
  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'
+                              (tainted, quoted:pgsql)
  PostgreSQL query: "select name from them where id = 'c'" opts 'NULL'
  PostgreSQL query: "select name from them where id = 'c'" opts 'NULL'
- PGSQL new connection: host=localhost port=1223 database=test user=CALLER
+ PGSQL new connection: host=localhost port=PORT_N database=test user=CALLER
  PGSQL: no data found
  creating new cache entry
  lookup failed
  PGSQL: no data found
  creating new cache entry
  lookup failed
-check set acl_m0 = ok:   ${lookup pgsql                    {select name from them where id = '$local_part'}}
+check set acl_m0 = ok:   ${lookup pgsql                    {select name from them where id = '${quote_pgsql:$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="cache=no_rd"
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id = 'c'" opts=NULL
+ cached data found but no_rd option set;  database lookup required for select name from them where id = 'c'
+                              (tainted)
+LOG: MAIN PANIC
+  tainted search query is not properly quoted (ACL warn, TESTSUITE/test-config 27): select name from them where id = 'c'
+ search_type NN (pgsql) quoting -1 (none)
+ PostgreSQL query: "select name from them where id = 'c'" opts 'NULL'
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
+ PGSQL: no data found
+ replacing old cache entry
+ lookup failed
+check set acl_m0 = FAIL: ${lookup pgsql,cache=no_rd        {select name from them where id = '$local_part'}}
+                 = FAIL: 
+warn: condition test succeeded in ACL "check_recipient"
+processing "warn" (TESTSUITE/test-config 32)
+ 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=localhost::PORT_N/test/CALLER/"
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id = 'c'" opts="servers=localhost::PORT_N/test/CALLER/"
+ cached data found but wrong opts;  database lookup required for select name from them where id = 'c'
+                              (tainted, quoted:pgsql)
+ PostgreSQL query: "select name from them where id = 'c'" opts 'servers=localhost::PORT_N/test/CALLER/'
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
+ PGSQL: no data found
+ replacing old cache entry
+ lookup failed
+check set acl_m0 = ok:   ${lookup pgsql,servers=localhost::PORT_N/test/CALLER/      {select name from them where id = '${quote_pgsql:$local_part}'}}
                  = ok:   
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
                  = 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"
+   key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="servers=localhost::PORT_N"
  LRU list:
  internal_search_find: file="NULL"
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="select name from them where id = 'c'" opts="servers=SSPEC"
+   type=pgsql key="select name from them where id = 'c'" opts="servers=localhost::PORT_N"
  cached data found but wrong opts;  database lookup required for select name from them where id = 'c'
  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
+                              (tainted, quoted:pgsql)
+ PostgreSQL query: "select name from them where id = 'c'" opts 'servers=localhost::PORT_N'
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
+ PGSQL: no data found
+ replacing old cache entry
+ lookup failed
+check set acl_m0 = ok:   ${lookup pgsql,servers=localhost::PORT_N    {select name from them where id = '${quote_pgsql:$local_part}'}}
+                 = ok:   
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="servers=localhost::PORT_N/test/CALLER/; 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="servers=localhost::PORT_N/test/CALLER/; select name from them where id = 'c'" opts=NULL
+ database lookup required for servers=localhost::PORT_N/test/CALLER/; select name from them where id = 'c'
+                              (tainted, quoted:pgsql)
+ PostgreSQL query: "servers=localhost::PORT_N/test/CALLER/; select name from them where id = 'c'" opts 'NULL'
+LOG: MAIN
+  Exim configuration error in line 78 of TESTSUITE/test-config:
+  WARNING: obsolete syntax used for lookup
+ lookup deferred: PostgreSQL server "localhost:PORT_N/test" is tainted
 warn: condition test deferred in ACL "check_recipient"
 LOG: MAIN
 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)
+  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:PORT_N/test" is tainted
+processing "warn" (TESTSUITE/test-config 41)
 check set acl_m0 = ok:   hostlist
 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
-creating new cache entry
-lookup failed
+check hosts = net-pgsql;select * from them where id='${quote_pgsql:$local_part}'
+host in "net-pgsql;select * from them where id='c'"?
+ list element: net-pgsql;select░*░from░them░where░id='c'
+ 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'
+                              (tainted, quoted:pgsql)
+ PostgreSQL query: "select * from them where id='c'" opts 'NULL'
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
+ PGSQL: no data found
+ creating new cache entry
+ lookup failed
 host in "net-pgsql;select * from them where id='c'"? no (end of list)
 warn: condition test failed in ACL "check_recipient"
 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)
+processing "warn" (TESTSUITE/test-config 44)
 check set acl_m0 = FAIL: hostlist
 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'
+check hosts = <& net-pgsql;servers=localhost::PORT_N/test/CALLER/; select * from them where id='${quote_pgsql:$local_part}'
+host in "<& net-pgsql;servers=localhost::PORT_N/test/CALLER/; select * from them where id='c'"?
+ list element: net-pgsql;servers=localhost::PORT_N/test/CALLER/;░select░*░from░them░where░id='c'
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="servers=localhost::PORT_N/test/CALLER/; 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=localhost::PORT_N/test/CALLER/; select * from them where id='c'" opts=NULL
+ database lookup required for servers=localhost::PORT_N/test/CALLER/; select * from them where id='c'
+                              (tainted, quoted:pgsql)
+ PostgreSQL query: "servers=localhost::PORT_N/test/CALLER/; select * from them where id='c'" opts 'NULL'
+LOG: MAIN
+  Exim configuration error in line 78 of TESTSUITE/test-config:
+  WARNING: obsolete syntax used for lookup
+ lookup deferred: PostgreSQL server "localhost:PORT_N/test" is tainted
+host in "<& net-pgsql;servers=localhost::PORT_N/test/CALLER/; select * from them where id='c'"? list match deferred for net-pgsql;servers=localhost::1223/test/CALLER/; select * from them where id='c'
 warn: condition test deferred in ACL "check_recipient"
 LOG: MAIN
 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)
+  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:PORT_N/test" is tainted
+processing "warn" (TESTSUITE/test-config 49)
 check set acl_m0 = FAIL: hostlist
 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'
+check hosts = <& net-pgsql,servers=localhost::PORT_N/test/CALLER/; select * from them where id='${quote_pgsql:$local_part}'
+host in "<& net-pgsql,servers=localhost::PORT_N/test/CALLER/; select * from them where id='c'"?
+ list element: net-pgsql,servers=localhost::PORT_N/test/CALLER/;░select░*░from░them░where░id='c'
+ 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=localhost::PORT_N/test/CALLER/"
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key=" select * from them where id='c'" opts="servers=localhost::PORT_N/test/CALLER/"
+ database lookup required for  select * from them where id='c'
+                              (tainted, quoted:pgsql)
+ PostgreSQL query: " select * from them where id='c'" opts 'servers=localhost::PORT_N/test/CALLER/'
+ lookup deferred: PostgreSQL server "localhost:PORT_N/test" is tainted
+host in "<& net-pgsql,servers=localhost::PORT_N/test/CALLER/; select * from them where id='c'"? list match deferred for net-pgsql,servers=localhost::1223/test/CALLER/; select * from them where id='c'
 warn: condition test deferred in ACL "check_recipient"
 LOG: MAIN
 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)
+  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:PORT_N/test" is tainted
+processing "accept" (TESTSUITE/test-config 52)
 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" (TESTSUITE/test-config 50)
+processing "accept" (TESTSUITE/test-config 53)
 check hosts = +relay_hosts
 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 opts=NULL
-LRU list:
-internal_search_find: file="NULL"
-  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'" opts 'NULL'
-PGSQL using cached connection for localhost:1223/test/CALLER
-PGSQL: no data found
-creating new cache entry
-lookup failed
-host in "net-pgsql;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 "net-pgsql;select * from them where id='10.0.0.0'"?
+   ╎list element: net-pgsql;select░*░from░them░where░id='10.0.0.0'
+   ╎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 opts=NULL
+   ╎LRU list:
+   ╎internal_search_find: file="NULL"
+   ╎  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'" opts 'NULL'
+   ╎PGSQL using cached connection for localhost:PORT_N/test/CALLER
+   ╎PGSQL: no data found
+   ╎creating new cache entry
+   ╎lookup failed
+  host in "net-pgsql;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" (TESTSUITE/test-config 51)
+processing "deny" (TESTSUITE/test-config 54)
   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"
 processing "warn" (TESTSUITE/test-config 27)
 SMTP<< rcpt to:<c@d>
 using ACL "check_recipient"
 processing "warn" (TESTSUITE/test-config 27)
@@ -366,111 +468,196 @@ processing "warn" (TESTSUITE/test-config 27)
  LRU list:
  internal_search_find: file="NULL"
    type=pgsql key="select name from them where id = 'c'" 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'
+ cached data found but wrong opts;  database lookup required for select name from them where id = 'c'
+                              (tainted, quoted:pgsql)
+ PostgreSQL query: "select name from them where id = 'c'" opts 'NULL'
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
+ PGSQL: no data found
+ replacing old cache entry
+ lookup failed
+check set acl_m0 = ok:   ${lookup pgsql                    {select name from them where id = '${quote_pgsql:$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="cache=no_rd"
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id = 'c'" opts=NULL
+ cached data found but no_rd option set;  database lookup required for select name from them where id = 'c'
+                              (tainted)
+LOG: MAIN PANIC
+  tainted search query is not properly quoted (ACL warn, TESTSUITE/test-config 27): select name from them where id = 'c'
+ search_type NN (pgsql) quoting -1 (none)
+ PostgreSQL query: "select name from them where id = 'c'" opts 'NULL'
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
+ PGSQL: no data found
+ replacing old cache entry
  lookup failed
  lookup failed
-check set acl_m0 = ok:   ${lookup pgsql                    {select name from them where id = '$local_part'}}
+check set acl_m0 = FAIL: ${lookup pgsql,cache=no_rd        {select name from them where id = '$local_part'}}
+                 = FAIL: 
+warn: condition test succeeded in ACL "check_recipient"
+processing "warn" (TESTSUITE/test-config 32)
+ 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=localhost::PORT_N/test/CALLER/"
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id = 'c'" opts="servers=localhost::PORT_N/test/CALLER/"
+ cached data found but wrong opts;  database lookup required for select name from them where id = 'c'
+                              (tainted, quoted:pgsql)
+ PostgreSQL query: "select name from them where id = 'c'" opts 'servers=localhost::PORT_N/test/CALLER/'
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
+ PGSQL: no data found
+ replacing old cache entry
+ lookup failed
+check set acl_m0 = ok:   ${lookup pgsql,servers=localhost::PORT_N/test/CALLER/      {select name from them where id = '${quote_pgsql:$local_part}'}}
                  = ok:   
  search_open: pgsql "NULL"
    cached open
  search_find: file="NULL"
                  = 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"
+   key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="servers=localhost::PORT_N"
  LRU list:
  internal_search_find: file="NULL"
  LRU list:
  internal_search_find: file="NULL"
-   type=pgsql key="select name from them where id = 'c'" opts="servers=SSPEC"
+   type=pgsql key="select name from them where id = 'c'" opts="servers=localhost::PORT_N"
  cached data found but wrong opts;  database lookup required for select name from them where id = 'c'
  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
+                              (tainted, quoted:pgsql)
+ PostgreSQL query: "select name from them where id = 'c'" opts 'servers=localhost::PORT_N'
+ PGSQL using cached connection for localhost:PORT_N/test/CALLER
+ PGSQL: no data found
+ replacing old cache entry
+ lookup failed
+check set acl_m0 = ok:   ${lookup pgsql,servers=localhost::PORT_N    {select name from them where id = '${quote_pgsql:$local_part}'}}
+                 = ok:   
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="servers=localhost::PORT_N/test/CALLER/; 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="servers=localhost::PORT_N/test/CALLER/; select name from them where id = 'c'" opts=NULL
+ database lookup required for servers=localhost::PORT_N/test/CALLER/; select name from them where id = 'c'
+                              (tainted, quoted:pgsql)
+ PostgreSQL query: "servers=localhost::PORT_N/test/CALLER/; select name from them where id = 'c'" opts 'NULL'
+LOG: MAIN
+  Exim configuration error in line 78 of TESTSUITE/test-config:
+  WARNING: obsolete syntax used for lookup
+ lookup deferred: PostgreSQL server "localhost:PORT_N/test" is tainted
 warn: condition test deferred in ACL "check_recipient"
 LOG: MAIN
 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)
+  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:PORT_N/test" is tainted
+processing "warn" (TESTSUITE/test-config 41)
 check set acl_m0 = ok:   hostlist
 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
+check hosts = net-pgsql;select * from them where id='${quote_pgsql:$local_part}'
+host in "net-pgsql;select * from them where id='c'"?
+ list element: net-pgsql;select░*░from░them░where░id='c'
+ 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"
 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)
+processing "warn" (TESTSUITE/test-config 44)
 check set acl_m0 = FAIL: hostlist
 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'
+check hosts = <& net-pgsql;servers=localhost::PORT_N/test/CALLER/; select * from them where id='${quote_pgsql:$local_part}'
+host in "<& net-pgsql;servers=localhost::PORT_N/test/CALLER/; select * from them where id='c'"?
+ list element: net-pgsql;servers=localhost::PORT_N/test/CALLER/;░select░*░from░them░where░id='c'
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="servers=localhost::PORT_N/test/CALLER/; 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=localhost::PORT_N/test/CALLER/; select * from them where id='c'" opts=NULL
+ database lookup required for servers=localhost::PORT_N/test/CALLER/; select * from them where id='c'
+                              (tainted, quoted:pgsql)
+ PostgreSQL query: "servers=localhost::PORT_N/test/CALLER/; select * from them where id='c'" opts 'NULL'
+LOG: MAIN
+  Exim configuration error in line 78 of TESTSUITE/test-config:
+  WARNING: obsolete syntax used for lookup
+ lookup deferred: PostgreSQL server "localhost:PORT_N/test" is tainted
+host in "<& net-pgsql;servers=localhost::PORT_N/test/CALLER/; select * from them where id='c'"? list match deferred for net-pgsql;servers=localhost::1223/test/CALLER/; select * from them where id='c'
 warn: condition test deferred in ACL "check_recipient"
 LOG: MAIN
 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)
+  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:PORT_N/test" is tainted
+processing "warn" (TESTSUITE/test-config 49)
 check set acl_m0 = FAIL: hostlist
 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'
+check hosts = <& net-pgsql,servers=localhost::PORT_N/test/CALLER/; select * from them where id='${quote_pgsql:$local_part}'
+host in "<& net-pgsql,servers=localhost::PORT_N/test/CALLER/; select * from them where id='c'"?
+ list element: net-pgsql,servers=localhost::PORT_N/test/CALLER/;░select░*░from░them░where░id='c'
+ 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=localhost::PORT_N/test/CALLER/"
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key=" select * from them where id='c'" opts="servers=localhost::PORT_N/test/CALLER/"
+ database lookup required for  select * from them where id='c'
+                              (tainted, quoted:pgsql)
+ PostgreSQL query: " select * from them where id='c'" opts 'servers=localhost::PORT_N/test/CALLER/'
+ lookup deferred: PostgreSQL server "localhost:PORT_N/test" is tainted
+host in "<& net-pgsql,servers=localhost::PORT_N/test/CALLER/; select * from them where id='c'"? list match deferred for net-pgsql,servers=localhost::1223/test/CALLER/; select * from them where id='c'
 warn: condition test deferred in ACL "check_recipient"
 LOG: MAIN
 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)
+  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:PORT_N/test" is tainted
+processing "accept" (TESTSUITE/test-config 52)
 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" (TESTSUITE/test-config 50)
+processing "accept" (TESTSUITE/test-config 53)
 check hosts = +relay_hosts
 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 opts=NULL
-LRU list:
-internal_search_find: file="NULL"
-  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"?
+ list element: +relay_hosts
+  start sublist relay_hosts
+  host in "net-pgsql;select * from them where id='10.0.0.0'"?
+   ╎list element: net-pgsql;select░*░from░them░where░id='10.0.0.0'
+   ╎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 opts=NULL
+   ╎LRU list:
+   ╎internal_search_find: file="NULL"
+   ╎  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)
+  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" (TESTSUITE/test-config 51)
+processing "deny" (TESTSUITE/test-config 54)
   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
-close PGSQL connection: localhost:1223/test/CALLER
->>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
+close PGSQL connection: localhost:PORT_N/test/CALLER
+>>>>>>>>>>>>>>>> Exim pid=p1236 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
-  uid=uuuu gid=CALLER_GID pid=pppp
+  uid=uuuu gid=CALLER_GID pid=p1237
 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=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
@@ -484,33 +671,37 @@ 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 CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
-Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-0005vi-00
+       id 10HmaX-000000005vi-0000
+       for CALLER@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: <CALLER@myhost.test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
 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
+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=0xf7715cfd -MCd local-accept-delivery -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-000000005vi-0000
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
-  uid=uuuu gid=EXIM_GID pid=pppp
+  uid=uuuu gid=EXIM_GID pid=p1238
 configuration file is TESTSUITE/test-config
 trusted user
 admin user
 configuration file is TESTSUITE/test-config
 trusted user
 admin user
@@ -518,17 +709,17 @@ 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
+body_linecount=1 message_linecount=8
 DSN: set orcpt:   flags: 0x0
 Delivery address list:
   CALLER@myhost.test.ex 
 DSN: set orcpt:   flags: 0x0
 Delivery address list:
   CALLER@myhost.test.ex 
@@ -536,8 +727,7 @@ Delivery address list:
  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)
  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
+ failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: CALLER@myhost.test.ex
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: CALLER@myhost.test.ex
@@ -558,9 +748,9 @@ processing address_data
    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'
    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
+ PGSQL new connection: host=localhost port=PORT_N database=test user=CALLER
  creating new cache entry
  creating new cache entry
- lookup yielded: Philip Hazel
+ lookup yielded: PhilipHazel
 calling r1 router
 r1 router called for CALLER@myhost.test.ex
   domain = myhost.test.ex
 calling r1 router
 r1 router called for CALLER@myhost.test.ex
   domain = myhost.test.ex
@@ -568,7 +758,7 @@ set transport t1
 queued for t1 transport: local_part = CALLER
 domain = myhost.test.ex
   errors_to=NULL
 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
 routed by r1 router
   envelope to: CALLER@myhost.test.ex
   transport: t1
@@ -580,7 +770,7 @@ After routing:
   Failed addresses:
   Deferred addresses:
 search_tidyup called
   Failed addresses:
   Deferred addresses:
 search_tidyup called
-close PGSQL connection: localhost:1223/test/CALLER
+close PGSQL connection: localhost:PORT_N/test/CALLER
 >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
 --------> CALLER@myhost.test.ex <--------
  locking TESTSUITE/spool/db/retry.lockfile
 >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
 --------> CALLER@myhost.test.ex <--------
  locking TESTSUITE/spool/db/retry.lockfile
@@ -591,9 +781,9 @@ close PGSQL connection: localhost:1223/test/CALLER
 no retry data available
 search_tidyup called
 changed uid/gid: local delivery to CALLER <CALLER@myhost.test.ex> transport=t1
 no retry data available
 search_tidyup called
 changed uid/gid: local delivery to CALLER <CALLER@myhost.test.ex> transport=t1
-  uid=CALLER_UID gid=CALLER_GID pid=pppp
+  uid=CALLER_UID gid=CALLER_GID pid=p1239
   home=NULL current=/
   home=NULL current=/
-set_process_info: pppp delivering 10HmaX-0005vi-00 to CALLER using t1
+set_process_info: pppp delivering 10HmaX-000000005vi-0000 to CALLER using t1
 appendfile transport entered
  search_open: pgsql "NULL"
  search_find: file="NULL"
 appendfile transport entered
  search_open: pgsql "NULL"
  search_find: file="NULL"
@@ -603,7 +793,7 @@ appendfile transport entered
    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'
    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
+ PGSQL new connection: host=localhost port=PORT_N database=test user=CALLER
  creating new cache entry
  lookup yielded: ph10
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
  creating new cache entry
  lookup yielded: ph10
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
@@ -623,7 +813,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
-close PGSQL connection: localhost:1223/test/CALLER
+close PGSQL connection: localhost:PORT_N/test/CALLER
 journalling CALLER@myhost.test.ex
 t1 transport returned OK for CALLER@myhost.test.ex
 post-process CALLER@myhost.test.ex (0)
 journalling CALLER@myhost.test.ex
 t1 transport returned OK for CALLER@myhost.test.ex
 post-process CALLER@myhost.test.ex (0)
@@ -632,8 +822,8 @@ LOG: MAIN
   => CALLER <CALLER@myhost.test.ex> R=r1 T=t1
 >>>>>>>>>>>>>>>> deliveries are done >>>>>>>>>>>>>>>>
 changed uid/gid: post-delivery tidying
   => CALLER <CALLER@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=p1238
+set_process_info: pppp tidying up after delivering 10HmaX-000000005vi-0000
 Processing retry items
 Succeeded addresses:
  CALLER@myhost.test.ex: no retry items
 Processing retry items
 Succeeded addresses:
  CALLER@myhost.test.ex: no retry items
@@ -650,12 +840,12 @@ DSN: Remote SMTP server supports DSN: 0
 DSN: not sending DSN success message
 LOG: MAIN
   Completed
 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 (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1238 (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 search_tidyup called
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1237 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 admin user
 Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 admin user
@@ -670,9 +860,11 @@ dropping to exim gid; retaining priv uid
  PostgreSQL query: "select name from them where id='ph10';" opts 'NULL'
  PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER
  creating new cache entry
  PostgreSQL query: "select name from them where id='ph10';" opts 'NULL'
  PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER
  creating new cache entry
- lookup yielded: Philip Hazel
+ lookup yielded: PhilipHazel
 search_tidyup called
 close PGSQL connection: (TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER
 search_tidyup called
 close PGSQL connection: (TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER
->>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1240 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 
 ******** SERVER ********
 
 ******** SERVER ********
+2017-07-30 18:51:05.712 [pppp] LOG:  redirecting log output to logging collector process
+2017-07-30 18:51:05.712 [pppp] HINT:  Future log output will appear in directory "log".