Gitweb:
https://git.exim.org/exim.git/commitdiff/f2738aab2d72569b6d47b788099f6ebab701b2b2
Commit: f2738aab2d72569b6d47b788099f6ebab701b2b2
Parent: 46ad960434683b3e15eb17edf3b2d748c191fbc4
Author: Jeremy Harris <jgh146exb@???>
AuthorDate: Wed Feb 28 13:46:56 2024 +0000
Committer: Jeremy Harris <jgh146exb@???>
CommitDate: Wed Feb 28 14:47:51 2024 +0000
Lookups: avoid leaking user/passwd from server spec to log. Bug 3066
---
doc/doc-txt/ChangeLog | 4 +-
src/src/acl.c | 10 +-
src/src/lookups/lf_sqlperform.c | 49 ++-
src/src/receive.c | 5 +-
src/src/search.c | 48 ++-
test/confs/2610 | 20 +-
test/log/2610 | 4 +-
test/paniclog/2610 | 2 +-
test/runtest | 4 +-
test/scripts/2610-MySQL/2610 | 2 +-
test/stderr/2610 | 756 ++++++++++++++++++++++++++--------------
test/stderr/2620 | 51 ++-
test/stdout/2620 | 7 +
13 files changed, 629 insertions(+), 333 deletions(-)
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index c261e13c7..20dcd1348 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -116,7 +116,9 @@ JH/21 Bug 3059: Fix crash in smtp transport. When running for a message for
dealt with. Thanks to Wolfgand Breyha for debug runs.
JH/22 The ESMTP_LIMITS facility (RFC 9422) is promoted from experimental status
- and is now controlled by the build-time option DISABLE_ESMTP_LIMITS..
+ and is now controlled by the build-time option DISABLE_ESMTP_LIMITS.
+
+JH/23 Bug 3066: Avoid leaking lookup database credentials to log.
Exim version 4.97
diff --git a/src/src/acl.c b/src/src/acl.c
index ecba07b25..f4d65464e 100644
--- a/src/src/acl.c
+++ b/src/src/acl.c
@@ -1146,9 +1146,9 @@ Returns: nothing
*/
static void
-acl_warn(int where, uschar *user_message, uschar *log_message)
+acl_warn(int where, uschar * user_message, uschar * log_message)
{
-if (log_message != NULL && log_message != user_message)
+if (log_message && log_message != user_message)
{
uschar *text;
string_item *logged;
@@ -1159,9 +1159,9 @@ if (log_message != NULL && log_message != user_message)
/* If a sender verification has failed, and the log message is "sender verify
failed", add the failure message. */
- if (sender_verified_failed != NULL &&
- sender_verified_failed->message != NULL &&
- strcmpic(log_message, US"sender verify failed") == 0)
+ if ( sender_verified_failed
+ && sender_verified_failed->message
+ && strcmpic(log_message, US"sender verify failed") == 0)
text = string_sprintf("%s: %s", text, sender_verified_failed->message);
/* Search previously logged warnings. They are kept in malloc
diff --git a/src/src/lookups/lf_sqlperform.c b/src/src/lookups/lf_sqlperform.c
index d5bb8d297..0f3984ba7 100644
--- a/src/src/lookups/lf_sqlperform.c
+++ b/src/src/lookups/lf_sqlperform.c
@@ -13,6 +13,15 @@
+static int
+server_len_for_logging(const uschar * server)
+{
+const uschar * s = Ustrchr(server, '/');
+if (!s) return 64;
+if (!(s = Ustrchr(s+1, '/'))) return 64;
+return (int) (s - server);
+}
+
/*************************************************
* Call SQL server(s) to run an actual query *
*************************************************/
@@ -30,6 +39,7 @@ Arguments:
result where to pass back the result
errmsg where to pass back an error message
do_cache to be set zero if data is changed
+ opts options (which suffixed the lookup name, minus cache-control ones) or NULL
func the lookup function to call
Returns: the return from the lookup function, or DEFER
@@ -42,21 +52,19 @@ lf_sqlperform(const uschar *name, const uschar *optionname,
int(*fn)(const uschar *, uschar *, uschar **, uschar **, BOOL *, uint *, const uschar *))
{
int rc;
-uschar *server;
+uschar * server;
BOOL defer_break = FALSE;
DEBUG(D_lookup) debug_printf_indent("%s query: \"%s\" opts '%s'\n", name, query, opts);
-/* Handle queries that do have server information at the start. */
+/* Handle queries that do have server information at the start (old style). */
if (Ustrncmp(query, "servers", 7) == 0)
{
int qsep = 0;
- const uschar *s, *ss;
- const uschar *qserverlist;
- uschar *qserver;
+ const uschar * s, * ss, * qserverlist;
- log_write(0, LOG_MAIN|LOG_CONFIG_IN, "WARNING: obslete syntax used for lookup\n");
+ log_write(0, LOG_MAIN|LOG_CONFIG_IN, "WARNING: obsolete syntax used for lookup");
s = query + 7;
skip_whitespace(&s);
@@ -83,35 +91,37 @@ if (Ustrncmp(query, "servers", 7) == 0)
}
qserverlist = string_sprintf("%.*s", (int)(ss - s), s);
+ query = ss + 1;
- while ((qserver = string_nextinlist(&qserverlist, &qsep, NULL, 0)))
+ for (uschar * qsrv; qsrv = string_nextinlist(&qserverlist, &qsep, NULL, 0); )
{
- if (Ustrchr(qserver, '/'))
- server = qserver;
+ if (Ustrchr(qsrv, '/'))
+ server = qsrv; /* full server spec */
else
- {
- int len = Ustrlen(qserver);
+ { /* only name; search in option list */
+ int len = Ustrlen(qsrv);
const uschar * serverlist = optserverlist;
for (int sep = 0; server = string_nextinlist(&serverlist, &sep, NULL, 0);)
- if (Ustrncmp(server, qserver, len) == 0 && server[len] == '/')
+ if (Ustrncmp(server, qsrv, len) == 0 && server[len] == '/')
break;
if (!server)
{
- *errmsg = string_sprintf("%s server \"%s\" not found in %s", name,
- qserver, optionname);
+ *errmsg = string_sprintf("%s server \"%.*s\" not found in %s",
+ name, server_len_for_logging(qsrv), qsrv, optionname);
return DEFER;
}
}
if (is_tainted(server))
{
- *errmsg = string_sprintf("%s server \"%s\" is tainted", name, server);
+ *errmsg = string_sprintf("%s server \"%.*s\" is tainted",
+ name, server_len_for_logging(server), server);
return DEFER;
}
- rc = (*fn)(ss+1, server, result, errmsg, &defer_break, do_cache, opts);
+ rc = (*fn)(query, server, result, errmsg, &defer_break, do_cache, opts);
if (rc != DEFER || defer_break) return rc;
}
}
@@ -139,7 +149,7 @@ else
*errmsg = string_sprintf("no %s servers defined (%s option)", name,
optionname);
else
- for (int d = 0; (server = string_nextinlist(&serverlist, &d, NULL, 0)); )
+ for (int d = 0; server = string_nextinlist(&serverlist, &d, NULL, 0); )
{
/* If not a full spec assume from options; scan main list for matching
hostname */
@@ -163,7 +173,8 @@ else
if (is_tainted(server))
{
- *errmsg = string_sprintf("%s server \"%s\" is tainted", name, server);
+ *errmsg = string_sprintf("%s server \"%.*s\" is tainted",
+ name, server_len_for_logging(server), server);
return DEFER;
}
@@ -176,3 +187,5 @@ return DEFER;
}
/* End of lf_sqlperform.c */
+/* vi: aw ai sw=2
+*/
diff --git a/src/src/receive.c b/src/src/receive.c
index abac05c56..a56ff473e 100644
--- a/src/src/receive.c
+++ b/src/src/receive.c
@@ -290,12 +290,11 @@ Returns: FALSE if there isn't enough space, or if the information cannot
BOOL
receive_check_fs(int msg_size)
{
-int_eximarith_t space;
int inodes;
if (check_spool_space > 0 || msg_size > 0 || check_spool_inodes > 0)
{
- space = receive_statvfs(TRUE, &inodes);
+ int_eximarith_t space = receive_statvfs(TRUE, &inodes);
DEBUG(D_receive)
debug_printf("spool directory space = " PR_EXIM_ARITH "K inodes = %d "
@@ -313,7 +312,7 @@ if (check_spool_space > 0 || msg_size > 0 || check_spool_inodes > 0)
if (check_log_space > 0 || check_log_inodes > 0)
{
- space = receive_statvfs(FALSE, &inodes);
+ int_eximarith_t space = receive_statvfs(FALSE, &inodes);
DEBUG(D_receive)
debug_printf("log directory space = " PR_EXIM_ARITH "K inodes = %d "
diff --git a/src/src/search.c b/src/src/search.c
index 52dcab2b7..62416da76 100644
--- a/src/src/search.c
+++ b/src/src/search.c
@@ -590,35 +590,48 @@ else
is either untainted or properly quoted for the lookup type.
XXX Should we this move into lf_sqlperform() ? The server-taint check is there.
+ Also it already knows about looking for a "servers" spec in the query string.
+ Passing search_type down that far is an issue.
*/
if ( !filename && lookup_list[search_type]->quote
&& is_tainted(keystring) && !is_quoted_like(keystring, search_type))
{
- uschar * s = acl_current_verb();
- if (!s) s = authenticator_current_name(); /* must be before transport */
- if (!s) s = transport_current_name(); /* must be before router */
- if (!s) s = router_current_name(); /* GCC ?: would be good, but not in clang */
- if (!s) s = US"";
+ const uschar * ks = keystring;
+ uschar * loc = acl_current_verb();
+ if (!loc) loc = authenticator_current_name(); /* must be before transport */
+ if (!loc) loc = transport_current_name(); /* must be before router */
+ if (!loc) loc = router_current_name(); /* GCC ?: would be good, but not in clang */
+ if (!loc) loc = US"";
+
+ if (Ustrncmp(ks, "servers", 7) == 0) /* Avoid logging server/password */
+ if ((ks = Ustrchr(keystring, ';')))
+ while (isspace(*++ks))
+ ;
+ else
+ ks = US"";
+
#ifdef enforce_quote_protection_notyet
search_error_message = string_sprintf(
"tainted search query is not properly quoted%s: %s%s",
- s, keystring);
+ loc, ks);
f.search_find_defer = TRUE;
+ goto out;
#else
- {
- int q = quoter_for_address(keystring);
- /* If we're called from a transport, no privs to open the paniclog;
- the logging punts to using stderr - and that seems to stop the debug
- stream. */
- log_write(0,
- transport_name ? LOG_MAIN : LOG_MAIN|LOG_PANIC,
- "tainted search query is not properly quoted%s: %s", s, keystring);
-
- DEBUG(D_lookup) debug_printf_indent("search_type %d (%s) quoting %d (%s)\n",
+ /* If we're called from a transport, no privs to open the paniclog;
+ the logging punts to using stderr - and that seems to stop the debug
+ stream. */
+ log_write(0,
+ transport_name ? LOG_MAIN : LOG_MAIN|LOG_PANIC,
+ "tainted search query is not properly quoted%s: %s", loc, ks);
+
+ DEBUG(D_lookup)
+ {
+ int q = quoter_for_address(ks);
+ debug_printf_indent("search_type %d (%s) quoting %d (%s)\n",
search_type, lookup_list[search_type]->name,
q, is_real_quoter(q) ? lookup_list[q]->name : US"none");
- }
+ }
#endif
}
@@ -669,6 +682,7 @@ pointer to NULL here, because we cannot release the store at this stage. */
}
}
+out:
DEBUG(D_lookup)
{
if (data)
diff --git a/test/confs/2610 b/test/confs/2610
index 3f75d44a2..94be1b91f 100644
--- a/test/confs/2610
+++ b/test/confs/2610
@@ -14,7 +14,7 @@ acl_not_smtp = check_notsmtp
PARTIAL = 127.0.0.1::PORT_N
SSPEC = PARTIAL/test/root/pass
-mysql_servers = SSPEC
+hide mysql_servers = SSPEC
# ----- ACL -----
@@ -25,27 +25,29 @@ check_recipient:
# Tainted-data checks
warn
# taint only in lookup string, properly quoted
- set acl_m0 = ok: ${lookup mysql {select name from them where id = '${quote_mysql:$local_part}'}}
+ set acl_m0 = ok: ${lookup mysql {select name from them where id = '${quote_mysql:$local_part}'}}
# taint only in lookup string, but not quoted
- set acl_m0 = FAIL: ${lookup mysql,no_rd {select name from them where id = '$local_part'}}
+ set acl_m0 = FAIL1: ${lookup mysql,no_rd {select name from them where id = '$local_part'}}
warn
# option on lookup type unaffected
- set acl_m0 = ok: ${lookup mysql,servers=SSPEC {select name from them where id = '${quote_mysql:$local_part}'}}
+ set acl_m0 = ok: ${lookup mysql,servers=SSPEC {select name from them where id = '${quote_mysql:$local_part}'}}
# partial server-spec, indexing main-option, works
- set acl_m0 = ok: ${lookup mysql,servers=PARTIAL {select name from them where id = '${quote_mysql:$local_part}'}}
+ set acl_m0 = ok: ${lookup mysql,servers=PARTIAL {select name from them where id = '${quote_mysql:$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 = '${quote_mysql:$local_part}'}}
+ set acl_m0 = FAIL2: ${lookup mysql {servers=SSPEC; select name from them where id = '${quote_mysql:$local_part}'}}
+ # oldstyle partial server spec, prepended to lookup string, indexing main-option, but not quoted
+ warn set acl_m0 = FAIL3: ${lookup mysql {servers=PARTIAL; select name from them where id = '$local_part'}}
# In list-style lookup, tainted lookup string is ok if server spec comes from main-option
- warn set acl_m0 = ok: hostlist
+ warn set acl_m0 = ok: hostlist
hosts = net-mysql;select * from them where id='${quote_mysql:$local_part}'
# ... but setting a per-query servers spec fails due to the taint
- warn set acl_m0 = FAIL: hostlist
+ warn set acl_m0 = FAIL4: hostlist
hosts = <& net-mysql;servers=SSPEC; select * from them where id='${quote_mysql:$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
+ warn set acl_m0 = FAIL5: hostlist
hosts = <& net-mysql,servers=SSPEC; select * from them where id='${quote_mysql:$local_part}'
accept domains = +local_domains
diff --git a/test/log/2610 b/test/log/2610
index cd0e6e9dd..4acbbd873 100644
--- a/test/log/2610
+++ b/test/log/2610
@@ -1,5 +1,5 @@
1999-03-02 09:44:33 10HmaX-000000005vi-0000 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmaX-000000005vi-0000 tainted search query is not properly quoted (router r1, TESTSUITE/test-config 66): select name from them where id='ph10' limit 1
-1999-03-02 09:44:33 10HmaX-000000005vi-0000 tainted search query is not properly quoted (transport t1, TESTSUITE/test-config 80): select id from them where id='ph10'
+1999-03-02 09:44:33 10HmaX-000000005vi-0000 tainted search query is not properly quoted (router r1, TESTSUITE/test-config 68): select name from them where id='ph10' limit 1
+1999-03-02 09:44:33 10HmaX-000000005vi-0000 tainted search query is not properly quoted (transport t1, TESTSUITE/test-config 82): select id from them where id='ph10'
1999-03-02 09:44:33 10HmaX-000000005vi-0000 => ph10 <ph10@???> R=r1 T=t1
1999-03-02 09:44:33 10HmaX-000000005vi-0000 Completed
diff --git a/test/paniclog/2610 b/test/paniclog/2610
index 3573be261..917a0a801 100644
--- a/test/paniclog/2610
+++ b/test/paniclog/2610
@@ -1 +1 @@
-1999-03-02 09:44:33 10HmaX-000000005vi-0000 tainted search query is not properly quoted (router r1, TESTSUITE/test-config 66): select name from them where id='ph10' limit 1
+1999-03-02 09:44:33 10HmaX-000000005vi-0000 tainted search query is not properly quoted (router r1, TESTSUITE/test-config 68): select name from them where id='ph10' limit 1
diff --git a/test/runtest b/test/runtest
index cdf7bd339..07c499fa4 100755
--- a/test/runtest
+++ b/test/runtest
@@ -1260,7 +1260,7 @@ RESET_AFTER_EXTRA_LINE_READ:
# drop pdkim debugging header
next if /^DKIM( <<<<<<<<<<<<<<<<<<<<<<<<<<<<<+|: no signatures)$/;
- # Some platforms have TIOCOUTome do not
+ # Some platforms have TIOCOUT, some do not
next if /\d+ bytes remain in socket output buffer$/;
# Various other IPv6 lines must be omitted too
@@ -1434,7 +1434,7 @@ RESET_AFTER_EXTRA_LINE_READ:
s/^cmd buf flush \d+ bytes/cmd buf flush ddd bytes/;
# Spool filesystem free space changes on different systems.
- s/^((?:spool|log) directory space =) -?\d+K (inodes =)\s*-?\d+/$1 nnnnnK $2 nnnnn/;
+ s/((?:spool|log) directory space =) -?\d+K (inodes =)\s*-?\d+/$1 nnnnnK $2 nnnnn/;
# Non-TLS builds have different expansions for received_header_text
if (s/(with \$received_protocol)\}\} \$\{if def:tls_cipher \{\(\$tls_cipher\)\n$/$1/)
diff --git a/test/scripts/2610-MySQL/2610 b/test/scripts/2610-MySQL/2610
index 91a3f6be3..597504a59 100644
--- a/test/scripts/2610-MySQL/2610
+++ b/test/scripts/2610-MySQL/2610
@@ -81,7 +81,7 @@ ${lookup mysql {SELECT name FROM them WHERE id IN ('ph10', 'aaaa');}}
${lookup mysql {SELECT * FROM them WHERE id IN ('ph10', 'aaaa');}}
${lookup mysql {delete from them where id='aaaa'}}
****
-exim -d -bh 10.0.0.0
+exim -d+all -bh 10.0.0.0
helo test
mail from:<a@b>
rcpt to:<c@d>
diff --git a/test/stderr/2610 b/test/stderr/2610
index 667d8bba9..dd45d50c3 100644
--- a/test/stderr/2610
+++ b/test/stderr/2610
@@ -136,9 +136,8 @@ dropping to exim gid; retaining priv uid
database lookup required for servers=x:127.0.0.1::PORT_N; select name from them where id='ph10';
MySQL query: "servers=x:127.0.0.1::PORT_N; select name from them where id='ph10';" opts 'NULL'
LOG: MAIN
- Exim configuration error in line 87 of TESTSUITE/test-config:
- WARNING: obslete syntax used for lookup
-
+ Exim configuration error in line 89 of TESTSUITE/test-config:
+ WARNING: obsolete syntax used for lookup
lookup deferred: MySQL server "x" not found in mysql_servers
search_open: mysql "NULL"
cached open
@@ -150,9 +149,8 @@ LOG: MAIN
database lookup required for servers=127.0.0.1::PORT_N:x; select name from them where id='ph10';
MySQL query: "servers=127.0.0.1::PORT_N:x; select name from them where id='ph10';" opts 'NULL'
LOG: MAIN
- Exim configuration error in line 87 of TESTSUITE/test-config:
- WARNING: obslete syntax used for lookup
-
+ Exim configuration error in line 89 of TESTSUITE/test-config:
+ WARNING: obsolete syntax used for lookup
MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
creating new cache entry
lookup yielded: Philip Hazel
@@ -166,9 +164,8 @@ LOG: MAIN
database lookup required for servers=127.0.0.1::PORT_N/test/root/:x; select name from them where id='ph10';
MySQL query: "servers=127.0.0.1::PORT_N/test/root/:x; select name from them where id='ph10';" opts 'NULL'
LOG: MAIN
- Exim configuration error in line 87 of TESTSUITE/test-config:
- WARNING: obslete syntax used for lookup
-
+ Exim configuration error in line 89 of TESTSUITE/test-config:
+ WARNING: obsolete syntax used for lookup
MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
creating new cache entry
lookup yielded: Philip Hazel
@@ -182,9 +179,8 @@ LOG: MAIN
database lookup required for servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::PORT_N; select name from them where id='ph10';
MySQL query: "servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::PORT_N; select name from them where id='ph10';" opts 'NULL'
LOG: MAIN
- Exim configuration error in line 87 of TESTSUITE/test-config:
- WARNING: obslete syntax used for lookup
-
+ Exim configuration error in line 89 of TESTSUITE/test-config:
+ WARNING: obsolete syntax used for lookup
MYSQL new connection: host=ip4.ip4.ip4.ip4 port=PORT_N socket=NULL database=test user=root
creating new cache entry
lookup yielded: Philip Hazel
@@ -198,9 +194,8 @@ LOG: MAIN
database lookup required for servers=localhost(TESTSUITE/mysql/sock)/test/root/pass; select name from them where id='ph10';
MySQL query: "servers=localhost(TESTSUITE/mysql/sock)/test/root/pass; select name from them where id='ph10';" opts 'NULL'
LOG: MAIN
- Exim configuration error in line 87 of TESTSUITE/test-config:
- WARNING: obslete syntax used for lookup
-
+ Exim configuration error in line 89 of TESTSUITE/test-config:
+ WARNING: obsolete syntax used for lookup
MYSQL new connection: host=localhost port=0 socket=TESTSUITE/mysql/sock database=test user=root
creating new cache entry
lookup yielded: Philip Hazel
@@ -248,248 +243,489 @@ close MYSQL connection: localhost(TESTSUITE/mysql/sock)/test/root
close MYSQL connection: ip4.ip4.ip4.ip4:1223/test/root
close MYSQL connection: 127.0.0.1:PORT_N/test/root
>>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
-Exim version x.yz ....
-changed uid/gid: forcing real = effective
- uid=uuuu gid=CALLER_GID pid=p1235
-configuration file is TESTSUITE/test-config
-admin user
-changed uid/gid: privilege not needed
- uid=EXIM_UID gid=EXIM_GID pid=p1235
-seeking password data for user "CALLER": cache not available
-getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
-originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
-sender address = CALLER@???
-sender_fullhost = [10.0.0.0]
-sender_rcvhost = [10.0.0.0]
-host in hosts_connection_nolog? no (option unset)
-LOG: smtp_connection MAIN
- SMTP connection from [10.0.0.0]
-host in host_lookup? no (option unset)
-set_process_info: pppp handling incoming connection from [10.0.0.0]
-host in host_reject_connection? no (option unset)
-host in sender_unqualified_hosts? no (option unset)
-host in recipient_unqualified_hosts? no (option unset)
-host in helo_verify_hosts? no (option unset)
-host in helo_try_verify_hosts? no (option unset)
-host in helo_accept_junk_hosts? no (option unset)
-SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
-smtp_setup_msg entered
-SMTP<< helo test
-test in helo_lookup_domains?
- list element: @
- list element: @[]
-test in helo_lookup_domains? no (end of list)
-sender_fullhost = (test) [10.0.0.0]
-sender_rcvhost = [10.0.0.0] (helo=test)
-set_process_info: pppp handling incoming connection from (test) [10.0.0.0]
-SMTP>> 250 myhost.test.ex Hello test [10.0.0.0]
-SMTP<< mail from:<a@b>
-spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
-log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
-SMTP>> 250 OK
-SMTP<< rcpt to:<c@d>
-using ACL "check_recipient"
-processing "warn" (TESTSUITE/test-config 26)
- 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'
- (tainted, quoted:mysql)
- MySQL query: "select name from them where id = 'c'" opts 'NULL'
- MYSQL new connection: host=127.0.0.1 port=PORT_N socket=NULL database=test user=root
- MYSQL: no data found
- creating new cache entry
- lookup failed
-check set acl_m0 = ok: ${lookup mysql {select name from them where id = '${quote_mysql:$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="no_rd"
- LRU list:
- internal_search_find: file="NULL"
- type=mysql key="select name from them where id = 'c'" opts="no_rd"
- cached data found but wrong opts; 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 26): select name from them where id = 'c'
- search_type NN (mysql) quoting -1 (none)
- MySQL query: "select name from them where id = 'c'" opts 'no_rd'
- MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
- MYSQL: no data found
- replacing old cache entry
- lookup failed
-check set acl_m0 = FAIL: ${lookup mysql,no_rd {select name from them where id = '$local_part'}}
- = FAIL:
-warn: condition test succeeded in ACL "check_recipient"
-processing "warn" (TESTSUITE/test-config 31)
- 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::PORT_N/test/root/pass"
- LRU list:
- internal_search_find: file="NULL"
- type=mysql key="select name from them where id = 'c'" opts="servers=127.0.0.1::PORT_N/test/root/pass"
- cached data found but wrong opts; database lookup required for select name from them where id = 'c'
- (tainted, quoted:mysql)
- MySQL query: "select name from them where id = 'c'" opts 'servers=127.0.0.1::PORT_N/test/root/pass'
- MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
- MYSQL: no data found
- replacing old cache entry
- lookup failed
-check set acl_m0 = ok: ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass {select name from them where id = '${quote_mysql:$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::PORT_N"
- LRU list:
- internal_search_find: file="NULL"
- type=mysql key="select name from them where id = 'c'" opts="servers=127.0.0.1::PORT_N"
- cached data found but wrong opts; database lookup required for select name from them where id = 'c'
- (tainted, quoted:mysql)
- MySQL query: "select name from them where id = 'c'" opts 'servers=127.0.0.1::PORT_N'
- MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
- MYSQL: no data found
- replacing old cache entry
- lookup failed
-check set acl_m0 = ok: ${lookup mysql,servers=127.0.0.1::PORT_N {select name from them where id = '${quote_mysql:$local_part}'}}
- = ok:
- search_open: mysql "NULL"
- cached open
- search_find: file="NULL"
- key="servers=127.0.0.1::PORT_N/test/root/pass; 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::PORT_N/test/root/pass; select name from them where id = 'c'" opts=NULL
- database lookup required for servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = 'c'
- (tainted, quoted:mysql)
- MySQL query: "servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = 'c'" opts 'NULL'
-LOG: MAIN
- Exim configuration error in line 87 of TESTSUITE/test-config:
- WARNING: obslete syntax used for lookup
-
- lookup deferred: MySQL server "127.0.0.1:PORT_N/test/root/pass" is tainted
-warn: condition test deferred in ACL "check_recipient"
-LOG: MAIN
- H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: MySQL server "127.0.0.1:PORT_N/test/root/pass" is tainted
-processing "warn" (TESTSUITE/test-config 40)
-check set acl_m0 = ok: hostlist
-check hosts = net-mysql;select * from them where id='${quote_mysql:$local_part}'
-host in "net-mysql;select * from them where id='c'"?
- list element: net-mysql;select * from them where id='c'
- 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'
- (tainted, quoted:mysql)
- MySQL query: "select * from them where id='c'" opts 'NULL'
- MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
- MYSQL: no data found
- creating new cache entry
- 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 43)
-check set acl_m0 = FAIL: hostlist
-check hosts = <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
-host in "<& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"?
- list element: net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
- search_open: mysql "NULL"
- cached open
- search_find: file="NULL"
- key="servers=127.0.0.1::PORT_N/test/root/pass; 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::PORT_N/test/root/pass; select * from them where id='c'" opts=NULL
- database lookup required for servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
- (tainted, quoted:mysql)
- MySQL query: "servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'" opts 'NULL'
-LOG: MAIN
- Exim configuration error in line 87 of TESTSUITE/test-config:
- WARNING: obslete syntax used for lookup
-
- lookup deferred: MySQL server "127.0.0.1:PORT_N/test/root/pass" is tainted
-host in "<& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"? list match deferred for net-mysql;servers=127.0.0.1::1223/test/root/pass; 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: MySQL server "127.0.0.1:PORT_N/test/root/pass" is tainted
-processing "warn" (TESTSUITE/test-config 48)
-check set acl_m0 = FAIL: hostlist
-check hosts = <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
-host in "<& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"?
- list element: net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
- 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::PORT_N/test/root/pass"
- LRU list:
- internal_search_find: file="NULL"
- type=mysql key=" select * from them where id='c'" opts="servers=127.0.0.1::PORT_N/test/root/pass"
- database lookup required for select * from them where id='c'
- (tainted, quoted:mysql)
- MySQL query: " select * from them where id='c'" opts 'servers=127.0.0.1::PORT_N/test/root/pass'
- lookup deferred: MySQL server "127.0.0.1:PORT_N/test/root/pass" is tainted
-host in "<& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"? list match deferred for net-mysql,servers=127.0.0.1::1223/test/root/pass; 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: MySQL server "127.0.0.1:PORT_N/test/root/pass" is tainted
-processing "accept" (TESTSUITE/test-config 51)
-check domains = +local_domains
-d in "+local_domains"?
- list element: +local_domains
- start sublist local_domains
- d in "@"?
- ╎list element: @
- d in "@"? no (end of list)
- end sublist local_domains
-d in "+local_domains"? no (end of list)
-accept: condition test failed in ACL "check_recipient"
-processing "accept" (TESTSUITE/test-config 54)
-check hosts = +relay_hosts
-host in "+relay_hosts"?
- list element: +relay_hosts
- start sublist relay_hosts
- host in "net-mysql;select * from them where id='10.0.0.0'"?
- ╎list element: net-mysql;select * from them where id='10.0.0.0'
- ╎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'" opts 'NULL'
- ╎MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
- ╎MYSQL: no data found
- ╎creating new cache entry
- ╎lookup failed
- host in "net-mysql;select * from them where id='10.0.0.0'"? no (end of list)
- end sublist relay_hosts
-host in "+relay_hosts"? no (end of list)
-accept: condition test failed in ACL "check_recipient"
-processing "deny" (TESTSUITE/test-config 55)
- message: relay not permitted
-deny: condition test succeeded in ACL "check_recipient"
-end of ACL "check_recipient": DENY
-SMTP>> 550 relay not permitted
-LOG: MAIN REJECT
- H=(test) [10.0.0.0] F=<a@b> rejected RCPT <c@d>: relay not permitted
-SMTP<< quit
-SMTP>> 221 myhost.test.ex closing connection
-LOG: smtp_connection MAIN
- SMTP connection from (test) [10.0.0.0] D=qqs closed by QUIT
-search_tidyup called
-close MYSQL connection: 127.0.0.1:PORT_N/test/root
->>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
+01:01:01 p1235 Exim version x.yz uid=CALLER_UID gid=CALLER_GID pid=p1235 D=fff9ffff
+01:01:01 p1235 macros_trusted overridden to true by whitelisting
+01:01:01 p1235 changed uid/gid: forcing real = effective
+01:01:01 p1235 uid=uuuu gid=CALLER_GID pid=p1235
+01:01:01 p1235 environment after trimming:
+01:01:01 p1235 PATH=<munged>
+01:01:01 p1235 adding SSLKEYLOGFILE=TESTSUITE/spool/sslkeys
+01:01:01 p1235 configuration file is TESTSUITE/test-config
+01:01:01 p1235 admin user
+01:01:01 p1235 changed uid/gid: privilege not needed
+01:01:01 p1235 uid=EXIM_UID gid=EXIM_GID pid=p1235
+01:01:01 p1235 seeking password data for user "CALLER": cache not available
+01:01:01 p1235 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
+01:01:01 p1235 try option gecos_pattern
+01:01:01 p1235 try option gecos_name
+01:01:01 p1235 try option unknown_login
+01:01:01 p1235 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
+01:01:01 p1235 sender address = CALLER@???
+01:01:01 p1235 try option smtp_active_hostname
+01:01:01 p1235 sender_fullhost = [10.0.0.0]
+01:01:01 p1235 sender_rcvhost = [10.0.0.0]
+01:01:01 p1235 host in hosts_connection_nolog? no (option unset)
+01:01:01 p1235 LOG: smtp_connection MAIN
+01:01:01 p1235 SMTP connection from [10.0.0.0]
+01:01:01 p1235 try option message_size_limit
+01:01:01 p1235 host in host_lookup? no (option unset)
+01:01:01 p1235 set_process_info: pppp handling incoming connection from [10.0.0.0]
+01:01:01 p1235 host in host_reject_connection? no (option unset)
+01:01:01 p1235 host in sender_unqualified_hosts? no (option unset)
+01:01:01 p1235 host in recipient_unqualified_hosts? no (option unset)
+01:01:01 p1235 host in helo_verify_hosts? no (option unset)
+01:01:01 p1235 host in helo_try_verify_hosts? no (option unset)
+01:01:01 p1235 host in helo_accept_junk_hosts? no (option unset)
+01:01:01 p1235 try option acl_smtp_connect
+01:01:01 p1235 try option smtp_banner
+01:01:01 p1235 ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+01:01:01 p1235 ├──────value: myhost.test.ex
+01:01:01 p1235 ├considering: ESMTP Exim $version_number $tod_full
+01:01:01 p1235 ├───────text: ESMTP Exim
+01:01:01 p1235 ├considering: $version_number $tod_full
+01:01:01 p1235 ├──────value: x.yz
+01:01:01 p1235 ├considering: $tod_full
+01:01:01 p1235 ├───────text:
+01:01:01 p1235 ├considering: $tod_full
+01:01:01 p1235 ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
+01:01:01 p1235 ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+01:01:01 p1235 ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+01:01:01 p1235 host in pipelining_connect_advertise_hosts?
+01:01:01 p1235 list element:
+01:01:01 p1235 SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+01:01:01 p1235 smtp_setup_msg entered
+01:01:01 p1235 SMTP<< helo test
+01:01:01 p1235 test in helo_lookup_domains?
+01:01:01 p1235 list element: @
+01:01:01 p1235 list element: @[]
+01:01:01 p1235 test in helo_lookup_domains? no (end of list)
+01:01:01 p1235 sender_fullhost = (test) [10.0.0.0]
+01:01:01 p1235 sender_rcvhost = [10.0.0.0] (helo=test)
+01:01:01 p1235 set_process_info: pppp handling incoming connection from (test) [10.0.0.0]
+01:01:01 p1235 spf_conn_init: test 10.0.0.0
+01:01:01 p1235 SPF_dns_exim_new
+01:01:01 p1235 try option acl_smtp_helo
+01:01:01 p1235 SMTP>> 250 myhost.test.ex Hello test [10.0.0.0]
+01:01:01 p1235 SMTP<< mail from:<a@b>
+01:01:01 p1235 spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
+01:01:01 p1235 log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
+01:01:01 p1235 try option acl_smtp_mail
+01:01:01 p1235 SMTP>> 250 OK
+01:01:01 p1235 SMTP<< rcpt to:<c@d>
+01:01:01 p1235 try option acl_smtp_rcpt
+01:01:01 p1235 using ACL "check_recipient"
+01:01:01 p1235 processing "warn" (TESTSUITE/test-config 26)
+01:01:01 p1235 ╭considering: ok: ${lookup mysql {select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ├───────text: ok:
+01:01:01 p1235 ├considering: ${lookup mysql {select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ╭considering: select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ├───────text: select name from them where id = '
+01:01:01 p1235 ├considering: ${quote_mysql:$local_part}'}}
+01:01:01 p1235 ╭considering: $local_part}'}}
+01:01:01 p1235 ├──────value: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├considering: }'}}
+01:01:01 p1235 ├──expanding: $local_part
+01:01:01 p1235 ╰─────result: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├─────op-res: c
+01:01:01 p1235 ╰──(tainted, quoted:mysql)
+01:01:01 p1235 ├considering: '}}
+01:01:01 p1235 ├───────text: '
+01:01:01 p1235 ├considering: }}
+01:01:01 p1235 ├──expanding: select name from them where id = '${quote_mysql:$local_part}'
+01:01:01 p1235 ╰─────result: select name from them where id = 'c'
+01:01:01 p1235 ╰──(tainted, quoted:mysql)
+01:01:01 p1235 search_open: mysql "NULL"
+01:01:01 p1235 search_find: file="NULL"
+01:01:01 p1235 key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts=NULL
+01:01:01 p1235 LRU list:
+01:01:01 p1235 internal_search_find: file="NULL"
+01:01:01 p1235 type=mysql key="select name from them where id = 'c'" opts=NULL
+01:01:01 p1235 database lookup required for select name from them where id = 'c'
+01:01:01 p1235 (tainted, quoted:mysql)
+01:01:01 p1235 MySQL query: "select name from them where id = 'c'" opts 'NULL'
+01:01:01 p1235 MYSQL new connection: host=127.0.0.1 port=PORT_N socket=NULL database=test user=root
+01:01:01 p1235 MYSQL: no data found
+01:01:01 p1235 creating new cache entry
+01:01:01 p1235 lookup failed
+01:01:01 p1235 ├───item-res:
+01:01:01 p1235 ├──expanding: ok: ${lookup mysql {select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ╰─────result: ok:
+01:01:01 p1235 check set acl_m0 = ok: ${lookup mysql {select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 = ok:
+01:01:01 p1235 ╭considering: FAIL1: ${lookup mysql,no_rd {select name from them where id = '$local_part'}}
+01:01:01 p1235 ├───────text: FAIL1:
+01:01:01 p1235 ├considering: ${lookup mysql,no_rd {select name from them where id = '$local_part'}}
+01:01:01 p1235 ╭considering: select name from them where id = '$local_part'}}
+01:01:01 p1235 ├───────text: select name from them where id = '
+01:01:01 p1235 ├considering: $local_part'}}
+01:01:01 p1235 ├──────value: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├considering: '}}
+01:01:01 p1235 ├───────text: '
+01:01:01 p1235 ├considering: }}
+01:01:01 p1235 ├──expanding: select name from them where id = '$local_part'
+01:01:01 p1235 ╰─────result: select name from them where id = 'c'
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 search_open: mysql "NULL"
+01:01:01 p1235 cached open
+01:01:01 p1235 search_find: file="NULL"
+01:01:01 p1235 key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="no_rd"
+01:01:01 p1235 LRU list:
+01:01:01 p1235 internal_search_find: file="NULL"
+01:01:01 p1235 type=mysql key="select name from them where id = 'c'" opts="no_rd"
+01:01:01 p1235 cached data found but wrong opts; database lookup required for select name from them where id = 'c'
+01:01:01 p1235 (tainted)
+01:01:01 p1235 LOG: MAIN PANIC
+01:01:01 p1235 tainted search query is not properly quoted (ACL warn, TESTSUITE/test-config 26): select name from them where id = 'c'
+01:01:01 p1235 search_type 13 (mysql) quoting -1 (none)
+01:01:01 p1235 MySQL query: "select name from them where id = 'c'" opts 'no_rd'
+01:01:01 p1235 MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
+01:01:01 p1235 MYSQL: no data found
+01:01:01 p1235 replacing old cache entry
+01:01:01 p1235 lookup failed
+01:01:01 p1235 ├───item-res:
+01:01:01 p1235 ├──expanding: FAIL1: ${lookup mysql,no_rd {select name from them where id = '$local_part'}}
+01:01:01 p1235 ╰─────result: FAIL1:
+01:01:01 p1235 check set acl_m0 = FAIL1: ${lookup mysql,no_rd {select name from them where id = '$local_part'}}
+01:01:01 p1235 = FAIL1:
+01:01:01 p1235 warn: condition test succeeded in ACL "check_recipient"
+01:01:01 p1235 processing "warn" (TESTSUITE/test-config 31)
+01:01:01 p1235 ╭considering: ok: ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass {select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ├───────text: ok:
+01:01:01 p1235 ├considering: ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass {select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ╭considering: select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ├───────text: select name from them where id = '
+01:01:01 p1235 ├considering: ${quote_mysql:$local_part}'}}
+01:01:01 p1235 ╭considering: $local_part}'}}
+01:01:01 p1235 ├──────value: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├considering: }'}}
+01:01:01 p1235 ├──expanding: $local_part
+01:01:01 p1235 ╰─────result: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├─────op-res: c
+01:01:01 p1235 ╰──(tainted, quoted:mysql)
+01:01:01 p1235 ├considering: '}}
+01:01:01 p1235 ├───────text: '
+01:01:01 p1235 ├considering: }}
+01:01:01 p1235 ├──expanding: select name from them where id = '${quote_mysql:$local_part}'
+01:01:01 p1235 ╰─────result: select name from them where id = 'c'
+01:01:01 p1235 ╰──(tainted, quoted:mysql)
+01:01:01 p1235 search_open: mysql "NULL"
+01:01:01 p1235 cached open
+01:01:01 p1235 search_find: file="NULL"
+01:01:01 p1235 key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="servers=127.0.0.1::PORT_N/test/root/pass"
+01:01:01 p1235 LRU list:
+01:01:01 p1235 internal_search_find: file="NULL"
+01:01:01 p1235 type=mysql key="select name from them where id = 'c'" opts="servers=127.0.0.1::PORT_N/test/root/pass"
+01:01:01 p1235 cached data found but wrong opts; database lookup required for select name from them where id = 'c'
+01:01:01 p1235 (tainted, quoted:mysql)
+01:01:01 p1235 MySQL query: "select name from them where id = 'c'" opts 'servers=127.0.0.1::PORT_N/test/root/pass'
+01:01:01 p1235 MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
+01:01:01 p1235 MYSQL: no data found
+01:01:01 p1235 replacing old cache entry
+01:01:01 p1235 lookup failed
+01:01:01 p1235 ├───item-res:
+01:01:01 p1235 ├──expanding: ok: ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass {select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ╰─────result: ok:
+01:01:01 p1235 check set acl_m0 = ok: ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass {select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 = ok:
+01:01:01 p1235 ╭considering: ok: ${lookup mysql,servers=127.0.0.1::PORT_N {select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ├───────text: ok:
+01:01:01 p1235 ├considering: ${lookup mysql,servers=127.0.0.1::PORT_N {select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ╭considering: select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ├───────text: select name from them where id = '
+01:01:01 p1235 ├considering: ${quote_mysql:$local_part}'}}
+01:01:01 p1235 ╭considering: $local_part}'}}
+01:01:01 p1235 ├──────value: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├considering: }'}}
+01:01:01 p1235 ├──expanding: $local_part
+01:01:01 p1235 ╰─────result: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├─────op-res: c
+01:01:01 p1235 ╰──(tainted, quoted:mysql)
+01:01:01 p1235 ├considering: '}}
+01:01:01 p1235 ├───────text: '
+01:01:01 p1235 ├considering: }}
+01:01:01 p1235 ├──expanding: select name from them where id = '${quote_mysql:$local_part}'
+01:01:01 p1235 ╰─────result: select name from them where id = 'c'
+01:01:01 p1235 ╰──(tainted, quoted:mysql)
+01:01:01 p1235 search_open: mysql "NULL"
+01:01:01 p1235 cached open
+01:01:01 p1235 search_find: file="NULL"
+01:01:01 p1235 key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="servers=127.0.0.1::PORT_N"
+01:01:01 p1235 LRU list:
+01:01:01 p1235 internal_search_find: file="NULL"
+01:01:01 p1235 type=mysql key="select name from them where id = 'c'" opts="servers=127.0.0.1::PORT_N"
+01:01:01 p1235 cached data found but wrong opts; database lookup required for select name from them where id = 'c'
+01:01:01 p1235 (tainted, quoted:mysql)
+01:01:01 p1235 MySQL query: "select name from them where id = 'c'" opts 'servers=127.0.0.1::PORT_N'
+01:01:01 p1235 MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
+01:01:01 p1235 MYSQL: no data found
+01:01:01 p1235 replacing old cache entry
+01:01:01 p1235 lookup failed
+01:01:01 p1235 ├───item-res:
+01:01:01 p1235 ├──expanding: ok: ${lookup mysql,servers=127.0.0.1::PORT_N {select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ╰─────result: ok:
+01:01:01 p1235 check set acl_m0 = ok: ${lookup mysql,servers=127.0.0.1::PORT_N {select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 = ok:
+01:01:01 p1235 ╭considering: FAIL2: ${lookup mysql {servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ├───────text: FAIL2:
+01:01:01 p1235 ├considering: ${lookup mysql {servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ╭considering: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ├───────text: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '
+01:01:01 p1235 ├considering: ${quote_mysql:$local_part}'}}
+01:01:01 p1235 ╭considering: $local_part}'}}
+01:01:01 p1235 ├──────value: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├considering: }'}}
+01:01:01 p1235 ├──expanding: $local_part
+01:01:01 p1235 ╰─────result: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├─────op-res: c
+01:01:01 p1235 ╰──(tainted, quoted:mysql)
+01:01:01 p1235 ├considering: '}}
+01:01:01 p1235 ├───────text: '
+01:01:01 p1235 ├considering: }}
+01:01:01 p1235 ├──expanding: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'
+01:01:01 p1235 ╰─────result: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = 'c'
+01:01:01 p1235 ╰──(tainted, quoted:mysql)
+01:01:01 p1235 search_open: mysql "NULL"
+01:01:01 p1235 cached open
+01:01:01 p1235 search_find: file="NULL"
+01:01:01 p1235 key="servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts=NULL
+01:01:01 p1235 LRU list:
+01:01:01 p1235 internal_search_find: file="NULL"
+01:01:01 p1235 type=mysql key="servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = 'c'" opts=NULL
+01:01:01 p1235 database lookup required for servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = 'c'
+01:01:01 p1235 (tainted, quoted:mysql)
+01:01:01 p1235 MySQL query: "servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = 'c'" opts 'NULL'
+01:01:01 p1235 LOG: MAIN
+01:01:01 p1235 Exim configuration error in line 89 of TESTSUITE/test-config:
+01:01:01 p1235 WARNING: obsolete syntax used for lookup
+01:01:01 p1235 lookup deferred: MySQL server "127.0.0.1:PORT_N/test" is tainted
+01:01:01 p1235 ├failed to expand: FAIL2: ${lookup mysql {servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'}}
+01:01:01 p1235 ╰───error message: lookup of "servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = 'c'" gave DEFER: MySQL server "127.0.0.1:1223/test" is tainted
+01:01:01 p1235 warn: condition test deferred in ACL "check_recipient"
+01:01:01 p1235 LOG: MAIN
+01:01:01 p1235 H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: MySQL server "127.0.0.1:PORT_N/test" is tainted
+01:01:01 p1235 processing "warn" (TESTSUITE/test-config 39)
+01:01:01 p1235 ╭considering: FAIL3: ${lookup mysql {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
+01:01:01 p1235 ├───────text: FAIL3:
+01:01:01 p1235 ├considering: ${lookup mysql {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
+01:01:01 p1235 ╭considering: servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
+01:01:01 p1235 ├───────text: servers=127.0.0.1::PORT_N; select name from them where id = '
+01:01:01 p1235 ├considering: $local_part'}}
+01:01:01 p1235 ├──────value: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├considering: '}}
+01:01:01 p1235 ├───────text: '
+01:01:01 p1235 ├considering: }}
+01:01:01 p1235 ├──expanding: servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'
+01:01:01 p1235 ╰─────result: servers=127.0.0.1::PORT_N; select name from them where id = 'c'
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 search_open: mysql "NULL"
+01:01:01 p1235 cached open
+01:01:01 p1235 search_find: file="NULL"
+01:01:01 p1235 key="servers=127.0.0.1::PORT_N; select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts=NULL
+01:01:01 p1235 LRU list:
+01:01:01 p1235 internal_search_find: file="NULL"
+01:01:01 p1235 type=mysql key="servers=127.0.0.1::PORT_N; select name from them where id = 'c'" opts=NULL
+01:01:01 p1235 database lookup required for servers=127.0.0.1::PORT_N; select name from them where id = 'c'
+01:01:01 p1235 (tainted)
+01:01:01 p1235 LOG: MAIN PANIC
+01:01:01 p1235 tainted search query is not properly quoted (ACL warn, TESTSUITE/test-config 39): select name from them where id = 'c'
+01:01:01 p1235 search_type 13 (mysql) quoting -1 (none)
+01:01:01 p1235 MySQL query: "servers=127.0.0.1::PORT_N; select name from them where id = 'c'" opts 'NULL'
+01:01:01 p1235 LOG: MAIN
+01:01:01 p1235 Exim configuration error in line 89 of TESTSUITE/test-config:
+01:01:01 p1235 WARNING: obsolete syntax used for lookup
+01:01:01 p1235 MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
+01:01:01 p1235 MYSQL: no data found
+01:01:01 p1235 creating new cache entry
+01:01:01 p1235 lookup failed
+01:01:01 p1235 ├───item-res:
+01:01:01 p1235 ├──expanding: FAIL3: ${lookup mysql {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
+01:01:01 p1235 ╰─────result: FAIL3:
+01:01:01 p1235 check set acl_m0 = FAIL3: ${lookup mysql {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
+01:01:01 p1235 = FAIL3:
+01:01:01 p1235 warn: condition test succeeded in ACL "check_recipient"
+01:01:01 p1235 processing "warn" (TESTSUITE/test-config 42)
+01:01:01 p1235 check set acl_m0 = ok: hostlist
+01:01:01 p1235 check hosts = net-mysql;select * from them where id='${quote_mysql:$local_part}'
+01:01:01 p1235 ╭considering: net-mysql;select * from them where id='${quote_mysql:$local_part}'
+01:01:01 p1235 ├───────text: net-mysql;select * from them where id='
+01:01:01 p1235 ├considering: ${quote_mysql:$local_part}'
+01:01:01 p1235 ╭considering: $local_part}'
+01:01:01 p1235 ├──────value: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├considering: }'
+01:01:01 p1235 ├──expanding: $local_part
+01:01:01 p1235 ╰─────result: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├─────op-res: c
+01:01:01 p1235 ╰──(tainted, quoted:mysql)
+01:01:01 p1235 ├considering: '
+01:01:01 p1235 ├───────text: '
+01:01:01 p1235 ├──expanding: net-mysql;select * from them where id='${quote_mysql:$local_part}'
+01:01:01 p1235 ╰─────result: net-mysql;select * from them where id='c'
+01:01:01 p1235 ╰──(tainted, quoted:mysql)
+01:01:01 p1235 host in "net-mysql;select * from them where id='c'"?
+01:01:01 p1235 list element: net-mysql;select * from them where id='c'
+01:01:01 p1235 search_open: mysql "NULL"
+01:01:01 p1235 cached open
+01:01:01 p1235 search_find: file="NULL"
+01:01:01 p1235 key="select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts=NULL
+01:01:01 p1235 LRU list:
+01:01:01 p1235 internal_search_find: file="NULL"
+01:01:01 p1235 type=mysql key="select * from them where id='c'" opts=NULL
+01:01:01 p1235 database lookup required for select * from them where id='c'
+01:01:01 p1235 (tainted, quoted:mysql)
+01:01:01 p1235 MySQL query: "select * from them where id='c'" opts 'NULL'
+01:01:01 p1235 MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
+01:01:01 p1235 MYSQL: no data found
+01:01:01 p1235 creating new cache entry
+01:01:01 p1235 lookup failed
+01:01:01 p1235 host in "net-mysql;select * from them where id='c'"? no (end of list)
+01:01:01 p1235 warn: condition test failed in ACL "check_recipient"
+01:01:01 p1235 processing "warn" (TESTSUITE/test-config 45)
+01:01:01 p1235 check set acl_m0 = FAIL4: hostlist
+01:01:01 p1235 check hosts = <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
+01:01:01 p1235 ╭considering: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
+01:01:01 p1235 ├───────text: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='
+01:01:01 p1235 ├considering: ${quote_mysql:$local_part}'
+01:01:01 p1235 ╭considering: $local_part}'
+01:01:01 p1235 ├──────value: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├considering: }'
+01:01:01 p1235 ├──expanding: $local_part
+01:01:01 p1235 ╰─────result: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├─────op-res: c
+01:01:01 p1235 ╰──(tainted, quoted:mysql)
+01:01:01 p1235 ├considering: '
+01:01:01 p1235 ├───────text: '
+01:01:01 p1235 ├──expanding: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
+01:01:01 p1235 ╰─────result: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
+01:01:01 p1235 ╰──(tainted, quoted:mysql)
+01:01:01 p1235 host in "<& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"?
+01:01:01 p1235 list element: net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
+01:01:01 p1235 search_open: mysql "NULL"
+01:01:01 p1235 cached open
+01:01:01 p1235 search_find: file="NULL"
+01:01:01 p1235 key="servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts=NULL
+01:01:01 p1235 LRU list:
+01:01:01 p1235 internal_search_find: file="NULL"
+01:01:01 p1235 type=mysql key="servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'" opts=NULL
+01:01:01 p1235 database lookup required for servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
+01:01:01 p1235 (tainted, quoted:mysql)
+01:01:01 p1235 MySQL query: "servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'" opts 'NULL'
+01:01:01 p1235 LOG: MAIN
+01:01:01 p1235 Exim configuration error in line 89 of TESTSUITE/test-config:
+01:01:01 p1235 WARNING: obsolete syntax used for lookup
+01:01:01 p1235 lookup deferred: MySQL server "127.0.0.1:PORT_N/test" is tainted
+01:01:01 p1235 host in "<& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"? list match deferred for net-mysql;servers=127.0.0.1::1223/test/root/pass; select * from them where id='c'
+01:01:01 p1235 warn: condition test deferred in ACL "check_recipient"
+01:01:01 p1235 LOG: MAIN
+01:01:01 p1235 H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: MySQL server "127.0.0.1:PORT_N/test" is tainted
+01:01:01 p1235 processing "warn" (TESTSUITE/test-config 50)
+01:01:01 p1235 check set acl_m0 = FAIL5: hostlist
+01:01:01 p1235 check hosts = <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
+01:01:01 p1235 ╭considering: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
+01:01:01 p1235 ├───────text: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='
+01:01:01 p1235 ├considering: ${quote_mysql:$local_part}'
+01:01:01 p1235 ╭considering: $local_part}'
+01:01:01 p1235 ├──────value: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├considering: }'
+01:01:01 p1235 ├──expanding: $local_part
+01:01:01 p1235 ╰─────result: c
+01:01:01 p1235 ╰──(tainted)
+01:01:01 p1235 ├─────op-res: c
+01:01:01 p1235 ╰──(tainted, quoted:mysql)
+01:01:01 p1235 ├considering: '
+01:01:01 p1235 ├───────text: '
+01:01:01 p1235 ├──expanding: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
+01:01:01 p1235 ╰─────result: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
+01:01:01 p1235 ╰──(tainted, quoted:mysql)
+01:01:01 p1235 host in "<& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"?
+01:01:01 p1235 list element: net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
+01:01:01 p1235 search_open: mysql "NULL"
+01:01:01 p1235 cached open
+01:01:01 p1235 search_find: file="NULL"
+01:01:01 p1235 key=" select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts="servers=127.0.0.1::PORT_N/test/root/pass"
+01:01:01 p1235 LRU list:
+01:01:01 p1235 internal_search_find: file="NULL"
+01:01:01 p1235 type=mysql key=" select * from them where id='c'" opts="servers=127.0.0.1::PORT_N/test/root/pass"
+01:01:01 p1235 database lookup required for select * from them where id='c'
+01:01:01 p1235 (tainted, quoted:mysql)
+01:01:01 p1235 MySQL query: " select * from them where id='c'" opts 'servers=127.0.0.1::PORT_N/test/root/pass'
+01:01:01 p1235 lookup deferred: MySQL server "127.0.0.1:PORT_N/test" is tainted
+01:01:01 p1235 host in "<& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"? list match deferred for net-mysql,servers=127.0.0.1::1223/test/root/pass; select * from them where id='c'
+01:01:01 p1235 warn: condition test deferred in ACL "check_recipient"
+01:01:01 p1235 LOG: MAIN
+01:01:01 p1235 H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: MySQL server "127.0.0.1:PORT_N/test" is tainted
+01:01:01 p1235 processing "accept" (TESTSUITE/test-config 53)
+01:01:01 p1235 check domains = +local_domains
+01:01:01 p1235 d in "+local_domains"?
+01:01:01 p1235 list element: +local_domains
+01:01:01 p1235 start sublist local_domains
+01:01:01 p1235 d in "@"?
+01:01:01 p1235 ╎list element: @
+01:01:01 p1235 d in "@"? no (end of list)
+01:01:01 p1235 end sublist local_domains
+01:01:01 p1235 d in "+local_domains"? no (end of list)
+01:01:01 p1235 accept: condition test failed in ACL "check_recipient"
+01:01:01 p1235 processing "accept" (TESTSUITE/test-config 56)
+01:01:01 p1235 check hosts = +relay_hosts
+01:01:01 p1235 host in "+relay_hosts"?
+01:01:01 p1235 list element: +relay_hosts
+01:01:01 p1235 start sublist relay_hosts
+01:01:01 p1235 ╎╭considering: net-mysql;select * from them where id='$sender_host_address'
+01:01:01 p1235 ╎├───────text: net-mysql;select * from them where id='
+01:01:01 p1235 ╎├considering: $sender_host_address'
+01:01:01 p1235 ╎├──────value: 10.0.0.0
+01:01:01 p1235 ╎├considering: '
+01:01:01 p1235 ╎├───────text: '
+01:01:01 p1235 ╎├──expanding: net-mysql;select * from them where id='$sender_host_address'
+01:01:01 p1235 ╎╰─────result: net-mysql;select * from them where id='10.0.0.0'
+01:01:01 p1235 host in "net-mysql;select * from them where id='10.0.0.0'"?
+01:01:01 p1235 ╎list element: net-mysql;select * from them where id='10.0.0.0'
+01:01:01 p1235 ╎search_open: mysql "NULL"
+01:01:01 p1235 ╎ cached open
+01:01:01 p1235 ╎search_find: file="NULL"
+01:01:01 p1235 ╎ key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts=NULL
+01:01:01 p1235 ╎LRU list:
+01:01:01 p1235 ╎internal_search_find: file="NULL"
+01:01:01 p1235 ╎ type=mysql key="select * from them where id='10.0.0.0'" opts=NULL
+01:01:01 p1235 ╎database lookup required for select * from them where id='10.0.0.0'
+01:01:01 p1235 ╎MySQL query: "select * from them where id='10.0.0.0'" opts 'NULL'
+01:01:01 p1235 ╎MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
+01:01:01 p1235 ╎MYSQL: no data found
+01:01:01 p1235 ╎creating new cache entry
+01:01:01 p1235 ╎lookup failed
+01:01:01 p1235 host in "net-mysql;select * from them where id='10.0.0.0'"? no (end of list)
+01:01:01 p1235 end sublist relay_hosts
+01:01:01 p1235 host in "+relay_hosts"? no (end of list)
+01:01:01 p1235 accept: condition test failed in ACL "check_recipient"
+01:01:01 p1235 processing "deny" (TESTSUITE/test-config 57)
+01:01:01 p1235 message: relay not permitted
+01:01:01 p1235 deny: condition test succeeded in ACL "check_recipient"
+01:01:01 p1235 end of ACL "check_recipient": DENY
+01:01:01 p1235 SMTP>> 550 relay not permitted
+01:01:01 p1235 LOG: MAIN REJECT
+01:01:01 p1235 H=(test) [10.0.0.0] F=<a@b> rejected RCPT <c@d>: relay not permitted
+01:01:01 p1235 SMTP<< quit
+01:01:01 p1235 try option acl_smtp_quit
+01:01:01 p1235 SMTP>> 221 myhost.test.ex closing connection
+01:01:01 p1235 LOG: smtp_connection MAIN
+01:01:01 p1235 SMTP connection from (test) [10.0.0.0] D=qqs closed by QUIT
+01:01:01 p1235 search_tidyup called
+01:01:01 p1235 close MYSQL connection: 127.0.0.1:PORT_N/test/root
+01:01:01 p1235 >>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=CALLER_GID pid=p1236
@@ -530,7 +766,7 @@ P Received: from CALLER by myhost.test.ex with local (Exim x.yz)
for ph10@???;
Tue, 2 Mar 1999 09:44:33 +0000
using ACL "check_notsmtp"
-processing "accept" (TESTSUITE/test-config 58)
+processing "accept" (TESTSUITE/test-config 60)
check set acl_m_qtest = ${quote_mysql:$recipients}
= ph10@???
accept: condition test succeeded in ACL "check_notsmtp"
@@ -609,7 +845,7 @@ processing address_data
database lookup required for select name from them where id='ph10' limit 1
(tainted)
LOG: MAIN PANIC
- tainted search query is not properly quoted (router r1, TESTSUITE/test-config 66): select name from them where id='ph10' limit 1
+ tainted search query is not properly quoted (router r1, TESTSUITE/test-config 68): select name from them where id='ph10' limit 1
search_type NN (mysql) quoting -1 (none)
MySQL query: "select name from them where id='ph10' limit 1" opts 'NULL'
MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
@@ -658,7 +894,7 @@ appendfile transport entered
database lookup required for select id from them where id='ph10'
(tainted)
LOG: MAIN
- tainted search query is not properly quoted (transport t1, TESTSUITE/test-config 80): select id from them where id='ph10'
+ tainted search query is not properly quoted (transport t1, TESTSUITE/test-config 82): select id from them where id='ph10'
search_type NN (mysql) quoting -1 (none)
MySQL query: "select id from them where id='ph10'" opts 'NULL'
MYSQL new connection: host=127.0.0.1 port=PORT_N socket=NULL database=test user=root
diff --git a/test/stderr/2620 b/test/stderr/2620
index bafb175df..4b4bd1ccf 100644
--- a/test/stderr/2620
+++ b/test/stderr/2620
@@ -1,7 +1,6 @@
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
@@ -134,6 +133,9 @@ 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'
+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
@@ -144,6 +146,9 @@ dropping to exim gid; retaining priv uid
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
lookup yielded: Philip Hazel
@@ -156,6 +161,9 @@ dropping to exim gid; retaining priv uid
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
lookup yielded: Philip Hazel
@@ -168,6 +176,9 @@ 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'
+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
lookup yielded: Philip Hazel
@@ -334,10 +345,13 @@ check set acl_m0 = ok: ${lookup pgsql,servers=localhost::PORT_N {select nam
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'
- lookup deferred: PostgreSQL server "localhost:PORT_N/test/CALLER/" is tainted
+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
- H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:PORT_N/test/CALLER/" is tainted
+ 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 hosts = net-pgsql;select * from them where id='${quote_pgsql:$local_part}'
@@ -374,11 +388,14 @@ host in "<& net-pgsql;servers=localhost::PORT_N/test/CALLER/; select * from them
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'
- lookup deferred: PostgreSQL server "localhost:PORT_N/test/CALLER/" is tainted
+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
- H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:PORT_N/test/CALLER/" is tainted
+ 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 hosts = <& net-pgsql,servers=localhost::PORT_N/test/CALLER/; select * from them where id='${quote_pgsql:$local_part}'
@@ -394,11 +411,11 @@ host in "<& net-pgsql,servers=localhost::PORT_N/test/CALLER/; select * from them
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/CALLER/" is tainted
+ 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
- H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:PORT_N/test/CALLER/" is tainted
+ 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
d in "+local_domains"?
@@ -523,10 +540,13 @@ check set acl_m0 = ok: ${lookup pgsql,servers=localhost::PORT_N {select nam
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'
- lookup deferred: PostgreSQL server "localhost:PORT_N/test/CALLER/" is tainted
+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
- H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:PORT_N/test/CALLER/" is tainted
+ 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 hosts = net-pgsql;select * from them where id='${quote_pgsql:$local_part}'
@@ -558,11 +578,14 @@ host in "<& net-pgsql;servers=localhost::PORT_N/test/CALLER/; select * from them
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'
- lookup deferred: PostgreSQL server "localhost:PORT_N/test/CALLER/" is tainted
+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
- H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:PORT_N/test/CALLER/" is tainted
+ 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 hosts = <& net-pgsql,servers=localhost::PORT_N/test/CALLER/; select * from them where id='${quote_pgsql:$local_part}'
@@ -578,11 +601,11 @@ host in "<& net-pgsql,servers=localhost::PORT_N/test/CALLER/; select * from them
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/CALLER/" is tainted
+ 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
- H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:PORT_N/test/CALLER/" is tainted
+ 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
d in "+local_domains"?
diff --git a/test/stdout/2620 b/test/stdout/2620
index 13020359a..f0796ae6f 100644
--- a/test/stdout/2620
+++ b/test/stdout/2620
@@ -25,6 +25,13 @@ Success. You can now start the database server using:
pg_ctl: server is running (PID: p1234)
POSTGRES "-D" "TESTSUITE/pgsql/data" "-p" "1223" "-k" "TESTSUITE/pgsql"
+CREATE TABLE
+INSERT 0 1
+INSERT 0 1
+INSERT 0 1
+INSERT 0 1
+INSERT 0 1
+INSERT 0 1
INSERT 0 1
> Philip Hazel
> Philip Hazel
--
## subscription configuration (requires account):
##
https://lists.exim.org/mailman3/postorius/lists/exim-cvs.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-cvs-unsubscribe@???
## Exim details at
http://www.exim.org/
## Please use the Wiki with this list -
http://wiki.exim.org/