Testsuite: fix pgsql testcase
authorJeremy Harris <jgh146exb@wizmail.org>
Sun, 9 Jan 2022 20:53:57 +0000 (20:53 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 9 Jan 2022 20:53:57 +0000 (20:53 +0000)
test/confs/2620
test/stderr/2620

index e63fca28617f19ddc46074f2fc99882aa488690f..85d25035f9c6150a5d1314a7ae4116e4b881f8c8 100644 (file)
@@ -28,23 +28,23 @@ check_recipient:
          # 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'}}
+         set acl_m0 =  ok:   ${lookup pgsql,servers=SERVERS    {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'}}
+         set acl_m0 =  FAIL: ${lookup pgsql     {servers=SERVERS; 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'
+         hosts =       <& net-pgsql;servers=SERVERS; 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'
+         hosts =       <& net-pgsql,servers=SERVERS; select * from them where id='$local_part'
 
   accept  domains = +local_domains
   accept  hosts = +relay_hosts
index 620aa86b1d42f44ee994cd527ec9c20ac5e7c5bd..992a60904fcd0ecdb5a908b55ecb257e9996fb71 100644 (file)
@@ -270,16 +270,46 @@ check set acl_m0 = ok:   ${lookup pgsql                    {select name from the
  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::1223/test/CALLER/"
  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::1223/test/CALLER/"
  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
+ PostgreSQL query: "select name from them where id = 'c'" opts 'servers=localhost::1223/test/CALLER/'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ PGSQL: no data found
+ replacing old cache entry
+ lookup failed
+check set acl_m0 = ok:   ${lookup pgsql,servers=localhost::1223/test/CALLER/    {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=localhost::1223"
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id = 'c'" opts="servers=localhost::1223"
+ 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=localhost::1223'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ PGSQL: no data found
+ replacing old cache entry
+ lookup failed
+check set acl_m0 = ok:   ${lookup pgsql,servers=localhost::1223    {select name from them where id = '$local_part'}}
+                 = ok:   
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="servers=localhost::1223/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::1223/test/CALLER/; select name from them where id = 'c'" opts=NULL
+ database lookup required for servers=localhost::1223/test/CALLER/; select name from them where id = 'c'
+ PostgreSQL query: "servers=localhost::1223/test/CALLER/; select name from them where id = 'c'" opts 'NULL'
+ lookup deferred: Tainted PostgreSQL server 'localhost:1223/test/CALLER/'
 warn: condition test deferred in ACL "check_recipient"
 LOG: MAIN
-  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: Tainted PostgreSQL server 'localhost:1223/test/CALLER/'
 processing "warn" (TESTSUITE/test-config 38)
 check set acl_m0 = ok:   hostlist
 check hosts = net-pgsql;select * from them where id='$local_part'
@@ -300,38 +330,38 @@ 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'
+check hosts = <& net-pgsql;servers=localhost::1223/test/CALLER/; 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
+  key="servers=localhost::1223/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=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'
+  type=pgsql key="servers=localhost::1223/test/CALLER/; select * from them where id='c'" opts=NULL
+database lookup required for servers=localhost::1223/test/CALLER/; select * from them where id='c'
+PostgreSQL query: "servers=localhost::1223/test/CALLER/; select * from them where id='c'" opts 'NULL'
+lookup deferred: Tainted PostgreSQL server 'localhost:1223/test/CALLER/'
+host in "<& net-pgsql;servers=localhost::1223/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
-  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: Tainted PostgreSQL server 'localhost:1223/test/CALLER/'
 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'
+check hosts = <& net-pgsql,servers=localhost::1223/test/CALLER/; 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"
+  key=" select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts="servers=localhost::1223/test/CALLER/"
 LRU list:
 internal_search_find: file="NULL"
-  type=pgsql key=" select * from them where id='c'" opts="servers=SSPEC"
+  type=pgsql key=" select * from them where id='c'" opts="servers=localhost::1223/test/CALLER/"
 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'
+PostgreSQL query: " select * from them where id='c'" opts 'servers=localhost::1223/test/CALLER/'
+lookup deferred: Tainted PostgreSQL server 'localhost:1223/test/CALLER/'
+host in "<& net-pgsql,servers=localhost::1223/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
-  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: Tainted PostgreSQL server 'localhost:1223/test/CALLER/'
 processing "accept" (TESTSUITE/test-config 49)
 check domains = +local_domains
 d in "@"? no (end of list)
@@ -372,23 +402,57 @@ 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
- 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'
+ PostgreSQL query: "select name from them where id = 'c'" opts 'NULL'
+ PGSQL using cached connection for localhost:1223/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 = '$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"
+   key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="servers=localhost::1223/test/CALLER/"
  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::1223/test/CALLER/"
  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
+ PostgreSQL query: "select name from them where id = 'c'" opts 'servers=localhost::1223/test/CALLER/'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ PGSQL: no data found
+ replacing old cache entry
+ lookup failed
+check set acl_m0 = ok:   ${lookup pgsql,servers=localhost::1223/test/CALLER/    {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=localhost::1223"
+ LRU list:
+ internal_search_find: file="NULL"
+   type=pgsql key="select name from them where id = 'c'" opts="servers=localhost::1223"
+ 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=localhost::1223'
+ PGSQL using cached connection for localhost:1223/test/CALLER
+ PGSQL: no data found
+ replacing old cache entry
+ lookup failed
+check set acl_m0 = ok:   ${lookup pgsql,servers=localhost::1223    {select name from them where id = '$local_part'}}
+                 = ok:   
+ search_open: pgsql "NULL"
+   cached open
+ search_find: file="NULL"
+   key="servers=localhost::1223/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::1223/test/CALLER/; select name from them where id = 'c'" opts=NULL
+ database lookup required for servers=localhost::1223/test/CALLER/; select name from them where id = 'c'
+ PostgreSQL query: "servers=localhost::1223/test/CALLER/; select name from them where id = 'c'" opts 'NULL'
+ lookup deferred: Tainted PostgreSQL server 'localhost:1223/test/CALLER/'
 warn: condition test deferred in ACL "check_recipient"
 LOG: MAIN
-  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: Tainted PostgreSQL server 'localhost:1223/test/CALLER/'
 processing "warn" (TESTSUITE/test-config 38)
 check set acl_m0 = ok:   hostlist
 check hosts = net-pgsql;select * from them where id='$local_part'
@@ -405,38 +469,38 @@ 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'
+check hosts = <& net-pgsql;servers=localhost::1223/test/CALLER/; 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
+  key="servers=localhost::1223/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=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'
+  type=pgsql key="servers=localhost::1223/test/CALLER/; select * from them where id='c'" opts=NULL
+database lookup required for servers=localhost::1223/test/CALLER/; select * from them where id='c'
+PostgreSQL query: "servers=localhost::1223/test/CALLER/; select * from them where id='c'" opts 'NULL'
+lookup deferred: Tainted PostgreSQL server 'localhost:1223/test/CALLER/'
+host in "<& net-pgsql;servers=localhost::1223/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
-  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: Tainted PostgreSQL server 'localhost:1223/test/CALLER/'
 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'
+check hosts = <& net-pgsql,servers=localhost::1223/test/CALLER/; 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"
+  key=" select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts="servers=localhost::1223/test/CALLER/"
 LRU list:
 internal_search_find: file="NULL"
-  type=pgsql key=" select * from them where id='c'" opts="servers=SSPEC"
+  type=pgsql key=" select * from them where id='c'" opts="servers=localhost::1223/test/CALLER/"
 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'
+PostgreSQL query: " select * from them where id='c'" opts 'servers=localhost::1223/test/CALLER/'
+lookup deferred: Tainted PostgreSQL server 'localhost:1223/test/CALLER/'
+host in "<& net-pgsql,servers=localhost::1223/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
-  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "SSPEC" not found in pgsql_servers
+  H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: Tainted PostgreSQL server 'localhost:1223/test/CALLER/'
 processing "accept" (TESTSUITE/test-config 49)
 check domains = +local_domains
 d in "@"? no (end of list)