r1:
driver = accept
+ # this tests that quoting survived being passed via spoolfile
debug_print = acl_m_qtest: <$acl_m_qtest> lkup: <${lookup mysql{select name from them where id='$acl_m_qtest'}}>
# this tests the unquoted case, but will need enhancement when we enforce (vs. just logging), else no transport call
- address_data = ${lookup mysql{select name from them where id='$local_part'}}
+ address_data = ${lookup mysql{select name from them where id='$local_part' limit 1}}
transport = t1
-1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmaX-000000005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss
1999-03-02 09:44:33 Start queue run: pid=p1234 -qf
-1999-03-02 09:44:33 10HmaX-0005vi-00 => user6@h2.test.ex R=client T=send_to_server2 H=::1 [::1] C="250 OK id=10HmaY-0005vi-00"
-1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
+1999-03-02 09:44:33 10HmaX-000000005vi-00 => user6@h2.test.ex R=client T=send_to_server2 H=::1 [::1] C="250 OK id=10HmaY-0005vi-00"
+1999-03-02 09:44:33 10HmaX-000000005vi-00 Completed
1999-03-02 09:44:33 End queue run: pid=p1234 -qf
******** SERVER ********
1999-03-02 09:44:33 exim x.yz daemon started: pid=p1235, no queue runs, listening for SMTP on port PORT_D (IPv6 and IPv4)
-1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip6:ip6:ip6:ip6:ip6:ip6:ip6:ip6] P=esmtp S=sss id=E10HmaX-0005vi-00@myhost.test.ex
+1999-03-02 09:44:33 10HmaY-000000005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip6:ip6:ip6:ip6:ip6:ip6:ip6:ip6] P=esmtp S=sss id=E10HmaX-0005vi-00@myhost.test.ex
1999-03-02 09:44:33 10HmaX-000000005vi-0000 <= CALLER@myhost.test.ex 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'
-1999-03-02 09:44:33 10HmaX-000000005vi-0000 tainted search query is not properly quoted (transport t1, TESTSUITE/test-config 79): 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 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 => ph10 <ph10@myhost.test.ex> R=r1 T=t1
1999-03-02 09:44:33 10HmaX-000000005vi-0000 Completed
-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'
+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
# ======== IP error numbers and messages ========
# These vary between operating systems
- s/Can(no|')t assign requested address/Netwk addr not available/;
+ s/(?:Can(?:no|')t assign requested address|Address not available)/Netwk addr not available/;
s/Operation timed out/Connection timed out/;
s/Address family not supported by protocol family/Network Error/;
- s/Network( is)? unreachable/Network unreachable/;
+ s/Network is unreachable/Network unreachable/;
s/Invalid argument/Network Error/;
s/\(\d+\): Network/(dd): Network/;
# Only check that we logged the right number of messages; don't care
# about ordering or mistakes in wrong message-id
sudo perl
-system "egrep -v '(Completed|<=|=>|is locked)' DIR/spool/log/mainlog 1>&2";
+system "grep -E -v '(Completed|<=|=>|is locked)' DIR/spool/log/mainlog 1>&2";
system "awk '/OK id=/{i++} END{print i, \"messages in\"}' DIR/test-stdout 1>&2";
system "grep 'notify' DIR/spool/log/servermainlog 1>&2";
system "grep -q '=> bob' DIR/spool/log/servermainlog && echo 'daemon did make at least one delivery' 1>&2";
search_open: mysql "NULL"
cached open
search_find: file="NULL"
- key="select name from them where id='ph10'" partial=-1 affix=NULL starflags=0 opts=NULL
+ key="select name from them where id='ph10' limit 1" partial=-1 affix=NULL starflags=0 opts=NULL
LRU list:
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'
+ type=mysql key="select name from them where id='ph10' limit 1" opts=NULL
+ 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'
+ tainted search query is not properly quoted (router r1, TESTSUITE/test-config 66): 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'" opts 'NULL'
+ 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
creating new cache entry
lookup yielded: Philip Hazel
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 79): select id from them where id='ph10'
+ tainted search query is not properly quoted (transport t1, TESTSUITE/test-config 80): 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