From b8514d1960e259d49ab2c84c89eba52ab993da3f Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Sat, 6 Jun 2020 18:04:36 +0100 Subject: Sqlite: new-style option to specify db file --- test/confs/2600 | 6 ++ test/runtest | 12 +-- test/scripts/2600-SQLite/2600 | 28 ++++--- test/stderr/2600 | 175 +++++++++++++++++++++++++++++++++++------- test/stdout/2600 | 12 +++ 5 files changed, 188 insertions(+), 45 deletions(-) (limited to 'test') diff --git a/test/confs/2600 b/test/confs/2600 index e42cbe33c..29f5afbbe 100644 --- a/test/confs/2600 +++ b/test/confs/2600 @@ -7,9 +7,15 @@ primary_hostname = myhost.test.ex # ----- Main settings ----- domainlist local_domains = @ +.ifdef OPT +hostlist relay_hosts = sqlite,file=DIR/aux-fixed/sqlitedb; \ + select * from them where \ + id='$sender_host_address' +.else hostlist relay_hosts = sqlite;DIR/aux-fixed/sqlitedb \ select * from them where \ id='$sender_host_address' +.endif acl_smtp_rcpt = check_recipient sqlite_lock_timeout = 2 diff --git a/test/runtest b/test/runtest index e4cf7ad6d..93aa82fc9 100755 --- a/test/runtest +++ b/test/runtest @@ -951,12 +951,6 @@ RESET_AFTER_EXTRA_LINE_READ: s/^\d\d\d(?=[PFS*])/ddd/; - # ========= Exim lookups ================== - # Lookups have a char which depends on the number of lookup types compiled in, - # in stderr output. Replace with a "0". Recognising this while avoiding - # other output is fragile; perhaps the debug output should be revised instead. - s%(? +rcpt to: +rcpt to: +quit **** exim -d -bh 10.0.0.0 mail from: @@ -23,7 +31,7 @@ rcpt to: rcpt to: quit **** -exim -odi -d userx +exim -DOPT=y -odi -d userx Test message . **** diff --git a/test/stderr/2600 b/test/stderr/2600 index e5dd60a27..ecc3c2091 100644 --- a/test/stderr/2600 +++ b/test/stderr/2600 @@ -4,10 +4,10 @@ admin user dropping to exim gid; retaining priv uid search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" search_find: file="TESTSUITE/aux-fixed/sqlitedb" - key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts=NULL + key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb" LRU list: internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb" - type=sqlite key="select name from them where id='userx';" opts=NULL + type=sqlite key="select name from them where id='userx';" opts="file=TESTSUITE/aux-fixed/sqlitedb" file lookup required for select name from them where id='userx'; in TESTSUITE/aux-fixed/sqlitedb creating new cache entry @@ -19,16 +19,38 @@ dropping to exim gid; retaining priv uid LRU list: internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb" type=sqlite key="select name from them where id='userx';" opts=NULL + cached data found but wrong opts; file lookup required for select name from them where id='userx'; + c in TESTSUITE/aux-fixed/sqlitedb + replacing old cache entry + lookup yielded: Ayen Other + search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" + cached open + search_find: file="TESTSUITE/aux-fixed/sqlitedb" + key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb" + LRU list: + internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb" + type=sqlite key="select name from them where id='userx';" opts="file=TESTSUITE/aux-fixed/sqlitedb" + cached data found but wrong opts; file lookup required for select name from them where id='userx'; + c in TESTSUITE/aux-fixed/sqlitedb + replacing old cache entry + lookup yielded: Ayen Other + search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" + cached open + search_find: file="TESTSUITE/aux-fixed/sqlitedb" + key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb" + LRU list: + internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb" + type=sqlite key="select name from them where id='userx';" opts="file=TESTSUITE/aux-fixed/sqlitedb" cached data used for lookup of select name from them where id='userx'; in TESTSUITE/aux-fixed/sqlitedb lookup yielded: Ayen Other search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" cached open search_find: file="TESTSUITE/aux-fixed/sqlitedb" - key="select name from them where id='xxxx';" partial=-1 affix=NULL starflags=0 opts=NULL + key="select name from them where id='xxxx';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb" LRU list: internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb" - type=sqlite key="select name from them where id='xxxx';" opts=NULL + type=sqlite key="select name from them where id='xxxx';" opts="file=TESTSUITE/aux-fixed/sqlitedb" file lookup required for select name from them where id='xxxx'; in TESTSUITE/aux-fixed/sqlitedb lookup forced cache cleanup @@ -36,10 +58,10 @@ dropping to exim gid; retaining priv uid search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" cached open search_find: file="TESTSUITE/aux-fixed/sqlitedb" - key="select name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts=NULL + key="select name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb" LRU list: internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb" - type=sqlite key="select name from them where id='nothing';" opts=NULL + type=sqlite key="select name from them where id='nothing';" opts="file=TESTSUITE/aux-fixed/sqlitedb" file lookup required for select name from them where id='nothing'; in TESTSUITE/aux-fixed/sqlitedb creating new cache entry @@ -47,10 +69,10 @@ dropping to exim gid; retaining priv uid search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" cached open search_find: file="TESTSUITE/aux-fixed/sqlitedb" - key="select id,name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts=NULL + key="select id,name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb" LRU list: internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb" - type=sqlite key="select id,name from them where id='nothing';" opts=NULL + type=sqlite key="select id,name from them where id='nothing';" opts="file=TESTSUITE/aux-fixed/sqlitedb" file lookup required for select id,name from them where id='nothing'; in TESTSUITE/aux-fixed/sqlitedb creating new cache entry @@ -58,10 +80,10 @@ dropping to exim gid; retaining priv uid search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" cached open search_find: file="TESTSUITE/aux-fixed/sqlitedb" - key="select * from them where id='quote2';" partial=-1 affix=NULL starflags=0 opts=NULL + key="select * from them where id='quote2';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb" LRU list: internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb" - type=sqlite key="select * from them where id='quote2';" opts=NULL + type=sqlite key="select * from them where id='quote2';" opts="file=TESTSUITE/aux-fixed/sqlitedb" file lookup required for select * from them where id='quote2'; in TESTSUITE/aux-fixed/sqlitedb creating new cache entry @@ -69,10 +91,10 @@ dropping to exim gid; retaining priv uid search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" cached open search_find: file="TESTSUITE/aux-fixed/sqlitedb" - key="select * from them where id='newline';" partial=-1 affix=NULL starflags=0 opts=NULL + key="select * from them where id='newline';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb" LRU list: internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb" - type=sqlite key="select * from them where id='newline';" opts=NULL + type=sqlite key="select * from them where id='newline';" opts="file=TESTSUITE/aux-fixed/sqlitedb" file lookup required for select * from them where id='newline'; in TESTSUITE/aux-fixed/sqlitedb creating new cache entry @@ -81,10 +103,10 @@ dropping to exim gid; retaining priv uid search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" cached open search_find: file="TESTSUITE/aux-fixed/sqlitedb" - key="select * from them where id='tab';" partial=-1 affix=NULL starflags=0 opts=NULL + key="select * from them where id='tab';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb" LRU list: internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb" - type=sqlite key="select * from them where id='tab';" opts=NULL + type=sqlite key="select * from them where id='tab';" opts="file=TESTSUITE/aux-fixed/sqlitedb" file lookup required for select * from them where id='tab'; in TESTSUITE/aux-fixed/sqlitedb creating new cache entry @@ -92,10 +114,10 @@ dropping to exim gid; retaining priv uid search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" cached open search_find: file="TESTSUITE/aux-fixed/sqlitedb" - key="select * from them where id='its';" partial=-1 affix=NULL starflags=0 opts=NULL + key="select * from them where id='its';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb" LRU list: internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb" - type=sqlite key="select * from them where id='its';" opts=NULL + type=sqlite key="select * from them where id='its';" opts="file=TESTSUITE/aux-fixed/sqlitedb" file lookup required for select * from them where id='its'; in TESTSUITE/aux-fixed/sqlitedb creating new cache entry @@ -103,10 +125,10 @@ dropping to exim gid; retaining priv uid search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" cached open search_find: file="TESTSUITE/aux-fixed/sqlitedb" - key="select * from them where name='it''s';" partial=-1 affix=NULL starflags=0 opts=NULL + key="select * from them where name='it''s';" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb" LRU list: internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb" - type=sqlite key="select * from them where name='it''s';" opts=NULL + type=sqlite key="select * from them where name='it''s';" opts="file=TESTSUITE/aux-fixed/sqlitedb" file lookup required for select * from them where name='it''s'; in TESTSUITE/aux-fixed/sqlitedb creating new cache entry @@ -145,12 +167,107 @@ log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 SMTP>> 250 OK SMTP<< rcpt to: using ACL "check_recipient" -processing "accept" (TESTSUITE/test-config 26) +processing "accept" (TESTSUITE/test-config 32) +check domains = +local_domains +d in "@"? no (end of list) +d in "+local_domains"? no (end of list) +accept: condition test failed in ACL "check_recipient" +processing "accept" (TESTSUITE/test-config 33) +check hosts = +relay_hosts +search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" +search_find: file="TESTSUITE/aux-fixed/sqlitedb" + key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb" +LRU list: +internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb" + type=sqlite key="select * from them where id='10.0.0.0'" opts="file=TESTSUITE/aux-fixed/sqlitedb" +file lookup required for select * from them where id='10.0.0.0' + in TESTSUITE/aux-fixed/sqlitedb +lookup forced cache cleanup +lookup failed +host in "sqlite,file=TESTSUITE/aux-fixed/sqlitedb; select * from them where id='10.0.0.0'"? no (end of list) +host in "+relay_hosts"? no (end of list) +accept: condition test failed in ACL "check_recipient" +processing "deny" (TESTSUITE/test-config 34) + message: relay not permitted +deny: condition test succeeded in ACL "check_recipient" +end of ACL "check_recipient": DENY +SMTP>> 550 relay not permitted +LOG: MAIN REJECT + H=[10.0.0.0] F= rejected RCPT : relay not permitted +SMTP<< rcpt to: +using ACL "check_recipient" +processing "accept" (TESTSUITE/test-config 32) +check domains = +local_domains +d in "@"? no (end of list) +d in "+local_domains"? no (end of list) +accept: condition test failed in ACL "check_recipient" +processing "accept" (TESTSUITE/test-config 33) +check hosts = +relay_hosts +search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" + cached open +search_find: file="TESTSUITE/aux-fixed/sqlitedb" + key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts="file=TESTSUITE/aux-fixed/sqlitedb" +LRU list: +internal_search_find: file="TESTSUITE/aux-fixed/sqlitedb" + type=sqlite key="select * from them where id='10.0.0.0'" opts="file=TESTSUITE/aux-fixed/sqlitedb" +file lookup required for select * from them where id='10.0.0.0' + in TESTSUITE/aux-fixed/sqlitedb +lookup forced cache cleanup +lookup failed +host in "sqlite,file=TESTSUITE/aux-fixed/sqlitedb; select * from them where id='10.0.0.0'"? no (end of list) +host in "+relay_hosts"? no (end of list) +accept: condition test failed in ACL "check_recipient" +processing "deny" (TESTSUITE/test-config 34) + message: relay not permitted +deny: condition test succeeded in ACL "check_recipient" +end of ACL "check_recipient": DENY +SMTP>> 550 relay not permitted +LOG: MAIN REJECT + H=[10.0.0.0] F= rejected RCPT : relay not permitted +SMTP<< quit +SMTP>> 221 myhost.test.ex closing connection +LOG: smtp_connection MAIN + SMTP connection from [10.0.0.0] closed by QUIT +search_tidyup called +>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> +Exim version x.yz .... +changed uid/gid: forcing real = effective + uid=uuuu gid=CALLER_GID pid=pppp +configuration file is TESTSUITE/test-config +admin user +changed uid/gid: privilege not needed + uid=EXIM_UID gid=EXIM_GID pid=pppp +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@myhost.test.ex +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<< mail from: +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: +using ACL "check_recipient" +processing "accept" (TESTSUITE/test-config 32) check domains = +local_domains d in "@"? no (end of list) d in "+local_domains"? no (end of list) accept: condition test failed in ACL "check_recipient" -processing "accept" (TESTSUITE/test-config 27) +processing "accept" (TESTSUITE/test-config 33) check hosts = +relay_hosts search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" search_find: file="TESTSUITE/aux-fixed/sqlitedb" @@ -165,7 +282,7 @@ lookup failed host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.0.0.0'"? no (end of list) host in "+relay_hosts"? no (end of list) accept: condition test failed in ACL "check_recipient" -processing "deny" (TESTSUITE/test-config 28) +processing "deny" (TESTSUITE/test-config 34) message: relay not permitted deny: condition test succeeded in ACL "check_recipient" end of ACL "check_recipient": DENY @@ -174,12 +291,12 @@ LOG: MAIN REJECT H=[10.0.0.0] F= rejected RCPT : relay not permitted SMTP<< rcpt to: using ACL "check_recipient" -processing "accept" (TESTSUITE/test-config 26) +processing "accept" (TESTSUITE/test-config 32) check domains = +local_domains d in "@"? no (end of list) d in "+local_domains"? no (end of list) accept: condition test failed in ACL "check_recipient" -processing "accept" (TESTSUITE/test-config 27) +processing "accept" (TESTSUITE/test-config 33) check hosts = +relay_hosts search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" cached open @@ -195,7 +312,7 @@ lookup failed host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.0.0.0'"? no (end of list) host in "+relay_hosts"? no (end of list) accept: condition test failed in ACL "check_recipient" -processing "deny" (TESTSUITE/test-config 28) +processing "deny" (TESTSUITE/test-config 34) message: relay not permitted deny: condition test succeeded in ACL "check_recipient" end of ACL "check_recipient": DENY @@ -240,12 +357,12 @@ log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 SMTP>> 250 OK SMTP<< rcpt to: using ACL "check_recipient" -processing "accept" (TESTSUITE/test-config 26) +processing "accept" (TESTSUITE/test-config 32) check domains = +local_domains d in "@"? no (end of list) d in "+local_domains"? no (end of list) accept: condition test failed in ACL "check_recipient" -processing "accept" (TESTSUITE/test-config 27) +processing "accept" (TESTSUITE/test-config 33) check hosts = +relay_hosts search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" search_find: file="TESTSUITE/aux-fixed/sqlitedb" @@ -264,12 +381,12 @@ end of ACL "check_recipient": ACCEPT SMTP>> 250 Accepted SMTP<< rcpt to: using ACL "check_recipient" -processing "accept" (TESTSUITE/test-config 26) +processing "accept" (TESTSUITE/test-config 32) check domains = +local_domains d in "@"? no (end of list) d in "+local_domains"? no (end of list) accept: condition test failed in ACL "check_recipient" -processing "accept" (TESTSUITE/test-config 27) +processing "accept" (TESTSUITE/test-config 33) check hosts = +relay_hosts search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb" cached open @@ -335,7 +452,7 @@ LOG: MAIN <= CALLER@myhost.test.ex U=CALLER P=local S=sss created log directory TESTSUITE/spool/log search_tidyup called -exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -MCd local-accept-delivery -odi -Mc 10HmaX-0005vi-00 +exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -DOPT=y -C TESTSUITE/test-config -d=0xf7715cfd -MCd local-accept-delivery -odi -Mc 10HmaX-0005vi-00 Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=EXIM_GID pid=pppp diff --git a/test/stdout/2600 b/test/stdout/2600 index 53d6b9b23..c21783b86 100644 --- a/test/stdout/2600 +++ b/test/stdout/2600 @@ -1,5 +1,7 @@ > Ayen Other > Ayen Other +> Ayen Other +> Ayen Other > > > id=nothing name="" @@ -21,6 +23,16 @@ after" id=newline 550 relay not permitted 221 myhost.test.ex closing connection +**** SMTP testing session as if from host 10.0.0.0 +**** but without any ident (RFC 1413) callback. +**** This is not for real! + +220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 +250 OK +550 relay not permitted +550 relay not permitted +221 myhost.test.ex closing connection + **** SMTP testing session as if from host 10.10.10.10 **** but without any ident (RFC 1413) callback. **** This is not for real! -- cgit v1.2.3