diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2020-04-06 00:28:06 +0100 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2020-04-06 13:14:05 +0100 |
commit | 0b4dfe7aa1f12214abdfa1037497d6c49a471612 (patch) | |
tree | 7a033655ce31568e0fd78417b4b98fa3143668cd /test | |
parent | ba74fb8d95d2e9af2122e0a95c4d5334b4f0466c (diff) |
MySQL, pgsql: per-query server options outside the lookup string. Bug 2546
Diffstat (limited to 'test')
-rw-r--r-- | test/confs/2610 | 27 | ||||
-rw-r--r-- | test/confs/2620 | 26 | ||||
-rw-r--r-- | test/stderr/2610 | 155 | ||||
-rw-r--r-- | test/stderr/2620 | 206 |
4 files changed, 361 insertions, 53 deletions
diff --git a/test/confs/2610 b/test/confs/2610 index 9e2217215..5a964276e 100644 --- a/test/confs/2610 +++ b/test/confs/2610 @@ -11,7 +11,9 @@ hostlist relay_hosts = net-mysql;select * from them where id='$sender_host_add acl_smtp_rcpt = check_recipient -mysql_servers = 127.0.0.1::PORT_N/test/root/ +PARTIAL = 127.0.0.1::PORT_N +SSPEC = PARTIAL/test/root/ +mysql_servers = SSPEC # ----- ACL ----- @@ -19,6 +21,29 @@ mysql_servers = 127.0.0.1::PORT_N/test/root/ begin acl check_recipient: + # Tainted-data checks + warn + # taint only in lookup string + set acl_m0 = ok: ${lookup mysql {select name from them where id = '$local_part'}} + # option on lookup type unaffected + set acl_m0 = ok: ${lookup mysql,servers=SSPEC {select name from them where id = '$local_part'}} + # partial server-spec, indexing main-option, works + set acl_m0 = ok: ${lookup mysql,servers=PARTIAL {select name from them where id = '$local_part'}} + # oldstyle server spec, prepended to lookup string, fails with taint + set acl_m0 = FAIL: ${lookup mysql {servers=SSPEC; select name from them where id = '$local_part'}} + + # In list-stle lookup, tainted lookup string is ok if server spec comes from main-option + warn set acl_m0 = ok: hostlist + hosts = net-mysql;select * from them where id='$local_part' + # ... but setting a per-query servers spec fails due to the taint + warn set acl_m0 = FAIL: hostlist + hosts = <& net-mysql;servers=SSPEC; select * from them where id='$local_part' + + # The newer server-list-as-option-to-lookup-type is not a solution to tainted data in the lookup, because + # string-expansion is done before list-expansion so the taint contaminates the entire list. + warn set acl_m0 = FAIL: hostlist + hosts = <& net-mysql,servers=SSPEC; select * from them where id='$local_part' + accept domains = +local_domains accept hosts = +relay_hosts deny message = relay not permitted diff --git a/test/confs/2620 b/test/confs/2620 index 009e74fd8..e63fca286 100644 --- a/test/confs/2620 +++ b/test/confs/2620 @@ -1,6 +1,7 @@ # Exim test configuration 2620 -SERVERS=localhost::PORT_N/test/CALLER/ +PARTIAL=localhost::PORT_N +SERVERS=PARTIAL/test/CALLER/ .include DIR/aux-var/std_conf_prefix @@ -22,6 +23,29 @@ pgsql_servers = SERVERS begin acl check_recipient: + # Tainted-data checks + warn + # taint only in lookup string + set acl_m0 = ok: ${lookup pgsql {select name from them where id = '$local_part'}} + # option on lookup type unaffected + set acl_m0 = ok: ${lookup pgsql,servers=SSPEC {select name from them where id = '$local_part'}} + # partial server-spec, indexing main-option, works + set acl_m0 = ok: ${lookup pgsql,servers=PARTIAL {select name from them where id = '$local_part'}} + # oldstyle server spec, prepended to lookup string, fails with taint + set acl_m0 = FAIL: ${lookup pgsql {servers=SSPEC; select name from them where id = '$local_part'}} + + # In list-stle lookup, tainted lookup string is ok if server spec comes from main-option + warn set acl_m0 = ok: hostlist + hosts = net-pgsql;select * from them where id='$local_part' + # ... but setting a per-query servers spec fails due to the taint + warn set acl_m0 = FAIL: hostlist + hosts = <& net-pgsql;servers=SSPEC; select * from them where id='$local_part' + + # The newer server-list-as-option-to-lookup-type is not a solution to tainted data in the lookup, because + # string-expansion is done before list-expansion so the taint contaminates the entire list. + warn set acl_m0 = FAIL: hostlist + hosts = <& net-pgsql,servers=SSPEC; select * from them where id='$local_part' + accept domains = +local_domains accept hosts = +relay_hosts deny message = relay not permitted diff --git a/test/stderr/2610 b/test/stderr/2610 index a59624c15..951ddecff 100644 --- a/test/stderr/2610 +++ b/test/stderr/2610 @@ -9,7 +9,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="select name from them where id='ph10';" opts=NULL database lookup required for select name from them where id='ph10'; - MySQL query: select name from them where id='ph10'; + MySQL query: "select name from them where id='ph10';" opts 'NULL' MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root lookup yielded: Philip Hazel search_open: mysql "NULL" @@ -29,7 +29,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="select name from them where id='xxxx';" opts=NULL database lookup required for select name from them where id='xxxx'; - MySQL query: select name from them where id='xxxx'; + MySQL query: "select name from them where id='xxxx';" opts 'NULL' MYSQL using cached connection for 127.0.0.1:1223/test/root MYSQL: no data found lookup failed @@ -41,7 +41,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="select name from them where id='nothing';" opts=NULL database lookup required for select name from them where id='nothing'; - MySQL query: select name from them where id='nothing'; + MySQL query: "select name from them where id='nothing';" opts 'NULL' MYSQL using cached connection for 127.0.0.1:1223/test/root lookup yielded: search_open: mysql "NULL" @@ -52,7 +52,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="select id,name from them where id='nothing';" opts=NULL database lookup required for select id,name from them where id='nothing'; - MySQL query: select id,name from them where id='nothing'; + MySQL query: "select id,name from them where id='nothing';" opts 'NULL' MYSQL using cached connection for 127.0.0.1:1223/test/root lookup yielded: id=nothing name="" search_open: mysql "NULL" @@ -63,7 +63,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="delete from them where id='nonexist';" opts=NULL database lookup required for delete from them where id='nonexist'; - MySQL query: delete from them where id='nonexist'; + MySQL query: "delete from them where id='nonexist';" opts 'NULL' MYSQL using cached connection for 127.0.0.1:1223/test/root MYSQL: query was not one that returns data lookup forced cache cleanup @@ -76,7 +76,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="select * from them where id='quote';" opts=NULL database lookup required for select * from them where id='quote'; - MySQL query: select * from them where id='quote'; + MySQL query: "select * from them where id='quote';" opts 'NULL' MYSQL using cached connection for 127.0.0.1:1223/test/root MYSQL: no data found lookup failed @@ -88,7 +88,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="select * from them where id='filter';" opts=NULL database lookup required for select * from them where id='filter'; - MySQL query: select * from them where id='filter'; + MySQL query: "select * from them where id='filter';" opts 'NULL' MYSQL using cached connection for 127.0.0.1:1223/test/root MYSQL: no data found lookup failed @@ -100,7 +100,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="select * from them where id='quote2';" opts=NULL database lookup required for select * from them where id='quote2'; - MySQL query: select * from them where id='quote2'; + MySQL query: "select * from them where id='quote2';" opts 'NULL' MYSQL using cached connection for 127.0.0.1:1223/test/root lookup yielded: name="\"stquot" id=quote2 search_open: mysql "NULL" @@ -111,7 +111,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="select * from them where id='nlonly';" opts=NULL database lookup required for select * from them where id='nlonly'; - MySQL query: select * from them where id='nlonly'; + MySQL query: "select * from them where id='nlonly';" opts 'NULL' MYSQL using cached connection for 127.0.0.1:1223/test/root MYSQL: no data found lookup failed @@ -123,7 +123,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="servers=x:127.0.0.1::1223; select name from them where id='ph10';" opts=NULL database lookup required for servers=x:127.0.0.1::1223; select name from them where id='ph10'; - MySQL query: servers=x:127.0.0.1::1223; select name from them where id='ph10'; + MySQL query: "servers=x:127.0.0.1::1223; select name from them where id='ph10';" opts 'NULL' lookup deferred: MySQL server "x" not found in mysql_servers search_open: mysql "NULL" cached open @@ -133,7 +133,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="servers=127.0.0.1::1223:x; select name from them where id='ph10';" opts=NULL database lookup required for servers=127.0.0.1::1223:x; select name from them where id='ph10'; - MySQL query: servers=127.0.0.1::1223:x; select name from them where id='ph10'; + MySQL query: "servers=127.0.0.1::1223:x; select name from them where id='ph10';" opts 'NULL' MYSQL using cached connection for 127.0.0.1:1223/test/root lookup yielded: Philip Hazel search_open: mysql "NULL" @@ -144,7 +144,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10';" opts=NULL database lookup required for servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10'; - MySQL query: servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10'; + MySQL query: "servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10';" opts 'NULL' MYSQL using cached connection for 127.0.0.1:1223/test/root lookup yielded: Philip Hazel search_open: mysql "NULL" @@ -155,7 +155,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10';" opts=NULL database lookup required for servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10'; - MySQL query: servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10'; + MySQL query: "servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10';" opts 'NULL' MYSQL new connection: host=ip4.ip4.ip4.ip4 port=1223 socket=NULL database=test user=root lookup yielded: Philip Hazel search_open: mysql "NULL" @@ -166,7 +166,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10';" opts=NULL database lookup required for servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10'; - MySQL query: servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10'; + MySQL query: "servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10';" opts 'NULL' MYSQL new connection: host=localhost port=0 socket=TESTSUITE/mysql/sock database=test user=root lookup yielded: Philip Hazel search_open: mysql "NULL" @@ -177,7 +177,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql 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'); - MySQL query: SELECT name FROM them WHERE id IN ('ph10', 'aaaa'); + MySQL query: "SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" opts 'NULL' MYSQL using cached connection for 127.0.0.1:1223/test/root lookup yielded: Philip Hazel Aristotle @@ -189,7 +189,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="SELECT * FROM them WHERE id IN ('ph10', 'aaaa');" opts=NULL database lookup required for SELECT * FROM them WHERE id IN ('ph10', 'aaaa'); - MySQL query: SELECT * FROM them WHERE id IN ('ph10', 'aaaa'); + MySQL query: "SELECT * FROM them WHERE id IN ('ph10', 'aaaa');" opts 'NULL' MYSQL using cached connection for 127.0.0.1:1223/test/root lookup yielded: name="Philip Hazel" id=ph10 name=Aristotle id=aaaa @@ -201,7 +201,7 @@ dropping to exim gid; retaining priv uid internal_search_find: file="NULL" type=mysql key="delete from them where id='aaaa'" opts=NULL database lookup required for delete from them where id='aaaa' - MySQL query: delete from them where id='aaaa' + MySQL query: "delete from them where id='aaaa'" opts 'NULL' MYSQL using cached connection for 127.0.0.1:1223/test/root MYSQL: query was not one that returns data lookup forced cache cleanup @@ -243,28 +243,135 @@ 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 22) +processing "warn" (TESTSUITE/test-config 25) + search_open: mysql "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=mysql key="select name from them where id = 'c'" opts=NULL + database lookup required for select name from them where id = 'c' + MySQL query: "select name from them where id = 'c'" opts 'NULL' + MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root + MYSQL: no data found + lookup failed +check set acl_m0 = ok: ${lookup mysql {select name from them where id = '$local_part'}} + = ok: + search_open: mysql "NULL" + cached open + search_find: file="NULL" + key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="servers=127.0.0.1::1223/test/root/" + LRU list: + internal_search_find: file="NULL" + type=mysql key="select name from them where id = 'c'" opts="servers=127.0.0.1::1223/test/root/" + cached data found but either wrong opts or dated; database lookup required for select name from them where id = 'c' + MySQL query: "select name from them where id = 'c'" opts 'servers=127.0.0.1::1223/test/root/' + MYSQL using cached connection for 127.0.0.1:1223/test/root + MYSQL: no data found + lookup failed +check set acl_m0 = ok: ${lookup mysql,servers=127.0.0.1::1223/test/root/ {select name from them where id = '$local_part'}} + = ok: + search_open: mysql "NULL" + cached open + search_find: file="NULL" + key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="servers=127.0.0.1::1223" + LRU list: + internal_search_find: file="NULL" + type=mysql key="select name from them where id = 'c'" opts="servers=127.0.0.1::1223" + cached data found but either wrong opts or dated; database lookup required for select name from them where id = 'c' + MySQL query: "select name from them where id = 'c'" opts 'servers=127.0.0.1::1223' + MYSQL using cached connection for 127.0.0.1:1223/test/root + MYSQL: no data found + lookup failed +check set acl_m0 = ok: ${lookup mysql,servers=127.0.0.1::1223 {select name from them where id = '$local_part'}} + = ok: + search_open: mysql "NULL" + cached open + search_find: file="NULL" + key="servers=127.0.0.1::1223/test/root/; select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=mysql key="servers=127.0.0.1::1223/test/root/; select name from them where id = 'c'" opts=NULL + database lookup required for servers=127.0.0.1::1223/test/root/; select name from them where id = 'c' + MySQL query: "servers=127.0.0.1::1223/test/root/; select name from them where id = 'c'" opts 'NULL' + lookup deferred: MySQL server "127.0.0.1:1223/test/root/" is tainted +warn: condition test deferred in ACL "check_recipient" +LOG: MAIN + H=[10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: MySQL server "127.0.0.1:1223/test/root/" is tainted +processing "warn" (TESTSUITE/test-config 36) +check set acl_m0 = ok: hostlist +check hosts = net-mysql;select * from them where id='$local_part' +search_open: mysql "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=mysql key="select * from them where id='c'" opts=NULL +database lookup required for select * from them where id='c' +MySQL query: "select * from them where id='c'" opts 'NULL' +MYSQL using cached connection for 127.0.0.1:1223/test/root +MYSQL: no data found +lookup failed +host in "net-mysql;select * from them where id='c'"? no (end of list) +warn: condition test failed in ACL "check_recipient" +processing "warn" (TESTSUITE/test-config 39) +check set acl_m0 = FAIL: hostlist +check hosts = <& net-mysql;servers=127.0.0.1::1223/test/root/; select * from them where id='$local_part' +search_open: mysql "NULL" + cached open +search_find: file="NULL" + key="servers=127.0.0.1::1223/test/root/; select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts=NULL +LRU list: +internal_search_find: file="NULL" + type=mysql key="servers=127.0.0.1::1223/test/root/; select * from them where id='c'" opts=NULL +database lookup required for servers=127.0.0.1::1223/test/root/; select * from them where id='c' +MySQL query: "servers=127.0.0.1::1223/test/root/; select * from them where id='c'" opts 'NULL' +lookup deferred: MySQL server "127.0.0.1:1223/test/root/" is tainted +host in "<& net-mysql;servers=127.0.0.1::1223/test/root/; select * from them where id='c'"? list match deferred for net-mysql;servers=127.0.0.1::1223/test/root/; 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: MySQL server "127.0.0.1:1223/test/root/" is tainted +processing "warn" (TESTSUITE/test-config 44) +check set acl_m0 = FAIL: hostlist +check hosts = <& net-mysql,servers=127.0.0.1::1223/test/root/; select * from them where id='$local_part' +search_open: mysql "NULL" + cached open +search_find: file="NULL" + key=" select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts="servers=127.0.0.1::1223/test/root/" +LRU list: +internal_search_find: file="NULL" + type=mysql key=" select * from them where id='c'" opts="servers=127.0.0.1::1223/test/root/" +database lookup required for select * from them where id='c' +MySQL query: " select * from them where id='c'" opts 'servers=127.0.0.1::1223/test/root/' +lookup deferred: MySQL server "127.0.0.1:1223/test/root/" is tainted +host in "<& net-mysql,servers=127.0.0.1::1223/test/root/; select * from them where id='c'"? list match deferred for net-mysql,servers=127.0.0.1::1223/test/root/; 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: MySQL server "127.0.0.1:1223/test/root/" is tainted +processing "accept" (TESTSUITE/test-config 47) 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 23) +processing "accept" (TESTSUITE/test-config 48) check hosts = +relay_hosts search_open: mysql "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=mysql 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' -MySQL query: select * from them where id='10.0.0.0' -MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root +MySQL query: "select * from them where id='10.0.0.0'" opts 'NULL' +MYSQL using cached connection for 127.0.0.1:1223/test/root MYSQL: no data found lookup failed host in "net-mysql;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 24) +processing "deny" (TESTSUITE/test-config 49) message: relay not permitted deny: condition test succeeded in ACL "check_recipient" end of ACL "check_recipient": DENY @@ -374,7 +481,7 @@ processing address_data internal_search_find: file="NULL" type=mysql key="select name from them where id='ph10'" opts=NULL database lookup required for select name from them where id='ph10' - MySQL query: select name from them where id='ph10' + MySQL query: "select name from them where id='ph10'" opts 'NULL' MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root lookup yielded: Philip Hazel calling r1 router @@ -418,7 +525,7 @@ appendfile transport entered internal_search_find: file="NULL" type=mysql key="select id from them where id='ph10'" opts=NULL database lookup required for select id from them where id='ph10' - MySQL query: select id from them where id='ph10' + MySQL query: "select id from them where id='ph10'" opts 'NULL' MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root lookup yielded: ph10 appendfile: mode=600 notify_comsat=0 quota=0 warning=0 diff --git a/test/stderr/2620 b/test/stderr/2620 index 2eae8eeca..337d51850 100644 --- a/test/stderr/2620 +++ b/test/stderr/2620 @@ -13,7 +13,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 database lookup required for select name from them where id='ph10'; - PostgreSQL query: 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" @@ -33,7 +33,7 @@ dropping to exim gid; retaining priv uid 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'; + 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 @@ -45,7 +45,7 @@ dropping to exim gid; retaining priv uid 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'; + 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" @@ -56,7 +56,7 @@ dropping to exim gid; retaining priv uid 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'; + 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" @@ -67,7 +67,7 @@ dropping to exim gid; retaining priv uid 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'; + 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 @@ -80,7 +80,7 @@ dropping to exim gid; retaining priv uid 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'; + 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" @@ -91,7 +91,7 @@ dropping to exim gid; retaining priv uid 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'; + PostgreSQL query: "select * from them where id='newline';" opts 'NULL' PGSQL using cached connection for localhost:1223/test/CALLER lookup yielded: name="before
after" id=newline @@ -103,7 +103,7 @@ dropping to exim gid; retaining priv uid 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'; + 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" @@ -114,7 +114,7 @@ dropping to exim gid; retaining priv uid 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'; + 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" @@ -125,7 +125,7 @@ dropping to exim gid; retaining priv uid 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'; + 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 @@ -135,7 +135,7 @@ dropping to exim gid; retaining priv uid 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'; + 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" @@ -146,7 +146,7 @@ dropping to exim gid; retaining priv uid 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'; + 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" @@ -157,7 +157,7 @@ dropping to exim gid; retaining priv uid 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'; + 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" @@ -168,7 +168,7 @@ dropping to exim gid; retaining priv uid 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'); + 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 @@ -180,7 +180,7 @@ dropping to exim gid; retaining priv uid 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'); + 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 @@ -192,7 +192,7 @@ dropping to exim gid; retaining priv uid 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' + 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 @@ -233,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 either wrong opts or dated; 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 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' -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 @@ -263,12 +342,85 @@ 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 either wrong opts or dated; 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 @@ -282,7 +434,7 @@ 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 @@ -392,7 +544,7 @@ processing address_data 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' + 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 @@ -436,7 +588,7 @@ appendfile transport entered 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' + 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 @@ -500,7 +652,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 database lookup required for select name from them where id='ph10'; - PostgreSQL query: 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 |