X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/897024f1b30dfde19f8ed9477c49b7cd5a1f5512..a95acb1c19c2e3600ef327c71318e33316d34440:/test/stderr/2620 diff --git a/test/stderr/2620 b/test/stderr/2620 index 007612aba..dd3fa8844 100644 --- a/test/stderr/2620 +++ b/test/stderr/2620 @@ -5,201 +5,215 @@ You can change this by editing pg_hba.conf or using the option -A, or Exim version x.yz .... configuration file is TESTSUITE/test-config admin user -search_open: pgsql "NULL" -search_find: file="NULL" - key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="select name from them where id='ph10';" -database lookup required for select name from them where id='ph10'; -PostgreSQL query: select name from them where id='ph10'; -PGSQL new connection: host=localhost port=1223 database=test user=CALLER -lookup yielded: Philip Hazel -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="select name from them where id='ph10';" -cached data used for lookup of select name from them where id='ph10'; -lookup yielded: Philip Hazel -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="select name from them where id='xxxx';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="select name from them where id='xxxx';" -database lookup required for select name from them where id='xxxx'; -PostgreSQL query: select name from them where id='xxxx'; -PGSQL using cached connection for localhost:1223/test/CALLER -PGSQL: no data found -lookup failed -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="select name from them where id='nothing';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="select name from them where id='nothing';" -database lookup required for select name from them where id='nothing'; -PostgreSQL query: select name from them where id='nothing'; -PGSQL using cached connection for localhost:1223/test/CALLER -lookup yielded: -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="select id,name from them where id='nothing';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="select id,name from them where id='nothing';" -database lookup required for select id,name from them where id='nothing'; -PostgreSQL query: select id,name from them where id='nothing'; -PGSQL using cached connection for localhost:1223/test/CALLER -lookup yielded: id=nothing name="" -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="delete from them where id='nonexist';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="delete from them where id='nonexist';" -database lookup required for delete from them where id='nonexist'; -PostgreSQL query: delete from them where id='nonexist'; -PGSQL using cached connection for localhost:1223/test/CALLER -PGSQL: command does not return any data but was successful. Rows affected: 0 -lookup forced cache cleanup -lookup yielded: 0 -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="select * from them where id='quote2';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="select * from them where id='quote2';" -database lookup required for select * from them where id='quote2'; -PostgreSQL query: select * from them where id='quote2'; -PGSQL using cached connection for localhost:1223/test/CALLER -lookup yielded: name="\"stquot" id=quote2 -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="select * from them where id='newline';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="select * from them where id='newline';" -database lookup required for select * from them where id='newline'; -PostgreSQL query: select * from them where id='newline'; -PGSQL using cached connection for localhost:1223/test/CALLER -lookup yielded: name="before -after" id=newline -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="select * from them where id='tab';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="select * from them where id='tab';" -database lookup required for select * from them where id='tab'; -PostgreSQL query: select * from them where id='tab'; -PGSQL using cached connection for localhost:1223/test/CALLER -lookup yielded: name="x x" id=tab -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="select * from them where name='''stquot';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="select * from them where name='''stquot';" -database lookup required for select * from them where name='''stquot'; -PostgreSQL query: select * from them where name='''stquot'; -PGSQL using cached connection for localhost:1223/test/CALLER -lookup yielded: name='stquot id=quote1 -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="servers=x:localhost; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="servers=x:localhost; select name from them where id='ph10';" -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'; -lookup deferred: PostgreSQL server "x" not found in pgsql_servers -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="servers=localhost::1223:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="servers=localhost::1223:x; select name from them where id='ph10';" -database lookup required for servers=localhost::1223:x; select name from them where id='ph10'; -PostgreSQL query: servers=localhost::1223:x; select name from them where id='ph10'; -PGSQL using cached connection for localhost:1223/test/CALLER -lookup yielded: Philip Hazel -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';" -database lookup required for servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10'; -PostgreSQL query: servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10'; -PGSQL using cached connection for localhost:1223/test/CALLER -lookup yielded: Philip Hazel -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';" -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'; -PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER -lookup yielded: Philip Hazel -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" -database lookup required for SELECT name FROM them WHERE id IN ('ph10', 'aaaa'); -PostgreSQL query: SELECT name FROM them WHERE id IN ('ph10', 'aaaa'); -PGSQL using cached connection for localhost:1223/test/CALLER -lookup yielded: Philip Hazel -Aristotle -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="SELECT * FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="SELECT * FROM them WHERE id IN ('ph10', 'aaaa');" -database lookup required for SELECT * FROM them WHERE id IN ('ph10', 'aaaa'); -PostgreSQL query: SELECT * FROM them WHERE id IN ('ph10', 'aaaa'); -PGSQL using cached connection for localhost:1223/test/CALLER -lookup yielded: name="Philip Hazel" id=ph10 -name=Aristotle id=aaaa -search_open: pgsql "NULL" - cached open -search_find: file="NULL" - key="delete from them where id='aaaa'" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="delete from them where id='aaaa'" -database lookup required for delete from them where id='aaaa' -PostgreSQL query: delete from them where id='aaaa' -PGSQL using cached connection for localhost:1223/test/CALLER -PGSQL: command does not return any data but was successful. Rows affected: 1 -lookup forced cache cleanup -lookup yielded: 1 +dropping to exim gid; retaining priv uid + search_open: pgsql "NULL" + search_find: file="NULL" + key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select name from them where id='ph10';" opts=NULL + database lookup required for select name from them where id='ph10'; + PostgreSQL query: "select name from them where id='ph10';" opts 'NULL' + PGSQL new connection: host=localhost port=1223 database=test user=CALLER + creating new cache entry + lookup yielded: Philip Hazel + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select name from them where id='ph10';" opts=NULL + cached data used for lookup of select name from them where id='ph10'; + lookup yielded: Philip Hazel + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select name from them where id='xxxx';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select name from them where id='xxxx';" opts=NULL + database lookup required for select name from them where id='xxxx'; + PostgreSQL query: "select name from them where id='xxxx';" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + PGSQL: no data found + creating new cache entry + lookup failed + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select name from them where id='nothing';" opts=NULL + database lookup required for select name from them where id='nothing'; + PostgreSQL query: "select name from them where id='nothing';" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + creating new cache entry + lookup yielded: + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select id,name from them where id='nothing';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select id,name from them where id='nothing';" opts=NULL + database lookup required for select id,name from them where id='nothing'; + PostgreSQL query: "select id,name from them where id='nothing';" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + creating new cache entry + lookup yielded: id=nothing name="" + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="delete from them where id='nonexist';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="delete from them where id='nonexist';" opts=NULL + database lookup required for delete from them where id='nonexist'; + PostgreSQL query: "delete from them where id='nonexist';" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + PGSQL: command does not return any data but was successful. Rows affected: 0 + lookup forced cache cleanup + lookup yielded: 0 + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select * from them where id='quote2';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select * from them where id='quote2';" opts=NULL + database lookup required for select * from them where id='quote2'; + PostgreSQL query: "select * from them where id='quote2';" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + creating new cache entry + lookup yielded: name="\"stquot" id=quote2 + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select * from them where id='newline';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select * from them where id='newline';" opts=NULL + database lookup required for select * from them where id='newline'; + PostgreSQL query: "select * from them where id='newline';" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + creating new cache entry + lookup yielded: name="before + after" id=newline + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select * from them where id='tab';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select * from them where id='tab';" opts=NULL + database lookup required for select * from them where id='tab'; + PostgreSQL query: "select * from them where id='tab';" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + creating new cache entry + lookup yielded: name="x x" id=tab + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select * from them where name='''stquot';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select * from them where name='''stquot';" opts=NULL + database lookup required for select * from them where name='''stquot'; + PostgreSQL query: "select * from them where name='''stquot';" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + creating new cache entry + lookup yielded: name='stquot id=quote1 + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="servers=x:localhost; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="servers=x:localhost; select name from them where id='ph10';" opts=NULL + database lookup required for servers=x:localhost; select name from them where id='ph10'; + PostgreSQL query: "servers=x:localhost; select name from them where id='ph10';" opts 'NULL' + lookup deferred: PostgreSQL server "x" not found in pgsql_servers + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="servers=localhost::1223:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="servers=localhost::1223:x; select name from them where id='ph10';" opts=NULL + database lookup required for servers=localhost::1223:x; select name from them where id='ph10'; + PostgreSQL query: "servers=localhost::1223:x; select name from them where id='ph10';" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + creating new cache entry + lookup yielded: Philip Hazel + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';" opts=NULL + database lookup required for servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10'; + PostgreSQL query: "servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + creating new cache entry + lookup yielded: Philip Hazel + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';" opts=NULL + database lookup required for servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10'; + PostgreSQL query: "servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';" opts 'NULL' + PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER + creating new cache entry + lookup yielded: Philip Hazel + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" opts=NULL + database lookup required for SELECT name FROM them WHERE id IN ('ph10', 'aaaa'); + PostgreSQL query: "SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + creating new cache entry + lookup yielded: Philip Hazel + Aristotle + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="SELECT * FROM them WHERE id IN ('ph10', 'aaaa');" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="SELECT * FROM them WHERE id IN ('ph10', 'aaaa');" opts=NULL + database lookup required for SELECT * FROM them WHERE id IN ('ph10', 'aaaa'); + PostgreSQL query: "SELECT * FROM them WHERE id IN ('ph10', 'aaaa');" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + creating new cache entry + lookup yielded: name="Philip Hazel" id=ph10 + name=Aristotle id=aaaa + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="delete from them where id='aaaa'" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="delete from them where id='aaaa'" opts=NULL + database lookup required for delete from them where id='aaaa' + PostgreSQL query: "delete from them where id='aaaa'" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + PGSQL: command does not return any data but was successful. Rows affected: 1 + lookup forced cache cleanup + lookup yielded: 1 search_tidyup called close PGSQL connection: (TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER close PGSQL connection: localhost:1223/test/CALLER ->>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> 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 @@ -226,75 +240,355 @@ 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? 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: 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 25) +processing "warn" (TESTSUITE/test-config 27) + search_open: pgsql "NULL" + search_find: file="NULL" + key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select name from them where id = 'c'" opts=NULL + database lookup required for select name from them where id = 'c' + (tainted, quoted:pgsql) + PostgreSQL query: "select name from them where id = 'c'" opts 'NULL' + PGSQL new connection: host=localhost port=1223 database=test user=CALLER + PGSQL: no data found + creating new cache entry + lookup failed +check set acl_m0 = ok: ${lookup pgsql {select name from them where id = '${quote_pgsql:$local_part}'}} + = ok: + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="cache=no_rd" + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select name from them where id = 'c'" opts=NULL + cached data found but no_rd option set; 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 27): select name from them where id = 'c' + search_type NN (pgsql) quoting -1 (none) + PostgreSQL query: "select name from them where id = 'c'" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + PGSQL: no data found + replacing old cache entry + lookup failed +check set acl_m0 = FAIL: ${lookup pgsql,cache=no_rd {select name from them where id = '$local_part'}} + = FAIL: +warn: condition test succeeded in ACL "check_recipient" +processing "warn" (TESTSUITE/test-config 32) + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="servers=localhost::1223/test/CALLER/" + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select name from them where id = 'c'" opts="servers=localhost::1223/test/CALLER/" + cached data found but wrong opts; database lookup required for select name from them where id = 'c' + (tainted, quoted:pgsql) + PostgreSQL query: "select name from them where id = 'c'" opts 'servers=localhost::1223/test/CALLER/' + PGSQL using cached connection for localhost:1223/test/CALLER + PGSQL: no data found + replacing old cache entry + lookup failed +check set acl_m0 = ok: ${lookup pgsql,servers=localhost::1223/test/CALLER/ {select name from them where id = '${quote_pgsql:$local_part}'}} + = ok: + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="servers=localhost::1223" + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select name from them where id = 'c'" opts="servers=localhost::1223" + cached data found but wrong opts; database lookup required for select name from them where id = 'c' + (tainted, quoted:pgsql) + PostgreSQL query: "select name from them where id = 'c'" opts 'servers=localhost::1223' + PGSQL using cached connection for localhost:1223/test/CALLER + PGSQL: no data found + replacing old cache entry + lookup failed +check set acl_m0 = ok: ${lookup pgsql,servers=localhost::1223 {select name from them where id = '${quote_pgsql:$local_part}'}} + = ok: + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="servers=localhost::1223/test/CALLER/; select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="servers=localhost::1223/test/CALLER/; select name from them where id = 'c'" opts=NULL + database lookup required for servers=localhost::1223/test/CALLER/; select name from them where id = 'c' + (tainted, quoted:pgsql) + PostgreSQL query: "servers=localhost::1223/test/CALLER/; select name from them where id = 'c'" opts 'NULL' + lookup deferred: PostgreSQL server "localhost:1223/test/CALLER/" 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:1223/test/CALLER/" 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}' +search_open: pgsql "NULL" + cached open +search_find: file="NULL" + key="select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts=NULL +LRU list: +internal_search_find: file="NULL" + type=pgsql key="select * from them where id='c'" opts=NULL +database lookup required for select * from them where id='c' + (tainted, quoted:pgsql) +PostgreSQL query: "select * from them where id='c'" opts 'NULL' +PGSQL using cached connection for localhost:1223/test/CALLER +PGSQL: no data found +creating new cache entry +lookup failed +host in "net-pgsql;select * from them where id='c'"? no (end of list) +warn: condition test failed in ACL "check_recipient" +processing "warn" (TESTSUITE/test-config 44) +check set acl_m0 = FAIL: hostlist +check hosts = <& net-pgsql;servers=localhost::1223/test/CALLER/; select * from them where id='${quote_pgsql:$local_part}' +search_open: pgsql "NULL" + cached open +search_find: file="NULL" + key="servers=localhost::1223/test/CALLER/; select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts=NULL +LRU list: +internal_search_find: file="NULL" + type=pgsql key="servers=localhost::1223/test/CALLER/; select * from them where id='c'" opts=NULL +database lookup required for servers=localhost::1223/test/CALLER/; select * from them where id='c' + (tainted, quoted:pgsql) +PostgreSQL query: "servers=localhost::1223/test/CALLER/; select * from them where id='c'" opts 'NULL' +lookup deferred: PostgreSQL server "localhost:1223/test/CALLER/" is tainted +host in "<& net-pgsql;servers=localhost::1223/test/CALLER/; select * from them where id='c'"? list match deferred for net-pgsql;servers=localhost::1223/test/CALLER/; select * from them where id='c' +warn: condition test deferred in ACL "check_recipient" +LOG: MAIN + H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:1223/test/CALLER/" is tainted +processing "warn" (TESTSUITE/test-config 49) +check set acl_m0 = FAIL: hostlist +check hosts = <& net-pgsql,servers=localhost::1223/test/CALLER/; select * from them where id='${quote_pgsql:$local_part}' +search_open: pgsql "NULL" + cached open +search_find: file="NULL" + key=" select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts="servers=localhost::1223/test/CALLER/" +LRU list: +internal_search_find: file="NULL" + type=pgsql key=" select * from them where id='c'" opts="servers=localhost::1223/test/CALLER/" +database lookup required for select * from them where id='c' + (tainted, quoted:pgsql) +PostgreSQL query: " select * from them where id='c'" opts 'servers=localhost::1223/test/CALLER/' +lookup deferred: PostgreSQL server "localhost:1223/test/CALLER/" is tainted +host in "<& net-pgsql,servers=localhost::1223/test/CALLER/; select * from them where id='c'"? list match deferred for net-pgsql,servers=localhost::1223/test/CALLER/; select * from them where id='c' +warn: condition test deferred in ACL "check_recipient" +LOG: MAIN + H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:1223/test/CALLER/" is tainted +processing "accept" (TESTSUITE/test-config 52) check domains = +local_domains d in "@"? no (end of list) d in "+local_domains"? no (end of list) accept: condition test failed in ACL "check_recipient" -processing "accept" (TESTSUITE/test-config 26) +processing "accept" (TESTSUITE/test-config 53) check hosts = +relay_hosts search_open: pgsql "NULL" + cached open search_find: file="NULL" - key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 + key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts=NULL LRU list: internal_search_find: file="NULL" - type=pgsql key="select * from them where id='10.0.0.0'" + type=pgsql key="select * from them where id='10.0.0.0'" opts=NULL database lookup required for select * from them where id='10.0.0.0' -PostgreSQL query: select * from them where id='10.0.0.0' -PGSQL new connection: host=localhost port=1223 database=test user=CALLER +PostgreSQL query: "select * from them where id='10.0.0.0'" opts 'NULL' +PGSQL using cached connection for localhost:1223/test/CALLER PGSQL: no data found +creating new cache entry lookup failed host in "net-pgsql;select * from them where id='10.0.0.0'"? no (end of list) host in "+relay_hosts"? no (end of list) accept: condition test failed in ACL "check_recipient" -processing "deny" (TESTSUITE/test-config 27) +processing "deny" (TESTSUITE/test-config 54) 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 + H=(test) [10.0.0.0] F= rejected RCPT : relay not permitted SMTP<< rcpt to: using ACL "check_recipient" -processing "accept" (TESTSUITE/test-config 25) +processing "warn" (TESTSUITE/test-config 27) + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select name from them where id = 'c'" opts=NULL + cached data found but wrong opts; database lookup required for select name from them where id = 'c' + (tainted, quoted:pgsql) + PostgreSQL query: "select name from them where id = 'c'" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + PGSQL: no data found + replacing old cache entry + lookup failed +check set acl_m0 = ok: ${lookup pgsql {select name from them where id = '${quote_pgsql:$local_part}'}} + = ok: + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="cache=no_rd" + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select name from them where id = 'c'" opts=NULL + cached data found but no_rd option set; 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 27): select name from them where id = 'c' + search_type NN (pgsql) quoting -1 (none) + PostgreSQL query: "select name from them where id = 'c'" opts 'NULL' + PGSQL using cached connection for localhost:1223/test/CALLER + PGSQL: no data found + replacing old cache entry + lookup failed +check set acl_m0 = FAIL: ${lookup pgsql,cache=no_rd {select name from them where id = '$local_part'}} + = FAIL: +warn: condition test succeeded in ACL "check_recipient" +processing "warn" (TESTSUITE/test-config 32) + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="servers=localhost::1223/test/CALLER/" + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select name from them where id = 'c'" opts="servers=localhost::1223/test/CALLER/" + cached data found but wrong opts; database lookup required for select name from them where id = 'c' + (tainted, quoted:pgsql) + PostgreSQL query: "select name from them where id = 'c'" opts 'servers=localhost::1223/test/CALLER/' + PGSQL using cached connection for localhost:1223/test/CALLER + PGSQL: no data found + replacing old cache entry + lookup failed +check set acl_m0 = ok: ${lookup pgsql,servers=localhost::1223/test/CALLER/ {select name from them where id = '${quote_pgsql:$local_part}'}} + = ok: + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts="servers=localhost::1223" + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select name from them where id = 'c'" opts="servers=localhost::1223" + cached data found but wrong opts; database lookup required for select name from them where id = 'c' + (tainted, quoted:pgsql) + PostgreSQL query: "select name from them where id = 'c'" opts 'servers=localhost::1223' + PGSQL using cached connection for localhost:1223/test/CALLER + PGSQL: no data found + replacing old cache entry + lookup failed +check set acl_m0 = ok: ${lookup pgsql,servers=localhost::1223 {select name from them where id = '${quote_pgsql:$local_part}'}} + = ok: + search_open: pgsql "NULL" + cached open + search_find: file="NULL" + key="servers=localhost::1223/test/CALLER/; select name from them where id = 'c'" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="servers=localhost::1223/test/CALLER/; select name from them where id = 'c'" opts=NULL + database lookup required for servers=localhost::1223/test/CALLER/; select name from them where id = 'c' + (tainted, quoted:pgsql) + PostgreSQL query: "servers=localhost::1223/test/CALLER/; select name from them where id = 'c'" opts 'NULL' + lookup deferred: PostgreSQL server "localhost:1223/test/CALLER/" 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:1223/test/CALLER/" 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}' +search_open: pgsql "NULL" + cached open +search_find: file="NULL" + key="select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts=NULL +LRU list: +internal_search_find: file="NULL" + type=pgsql key="select * from them where id='c'" opts=NULL +cached data used for lookup of select * from them where id='c' +lookup failed +host in "net-pgsql;select * from them where id='c'"? no (end of list) +warn: condition test failed in ACL "check_recipient" +processing "warn" (TESTSUITE/test-config 44) +check set acl_m0 = FAIL: hostlist +check hosts = <& net-pgsql;servers=localhost::1223/test/CALLER/; select * from them where id='${quote_pgsql:$local_part}' +search_open: pgsql "NULL" + cached open +search_find: file="NULL" + key="servers=localhost::1223/test/CALLER/; select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts=NULL +LRU list: +internal_search_find: file="NULL" + type=pgsql key="servers=localhost::1223/test/CALLER/; select * from them where id='c'" opts=NULL +database lookup required for servers=localhost::1223/test/CALLER/; select * from them where id='c' + (tainted, quoted:pgsql) +PostgreSQL query: "servers=localhost::1223/test/CALLER/; select * from them where id='c'" opts 'NULL' +lookup deferred: PostgreSQL server "localhost:1223/test/CALLER/" is tainted +host in "<& net-pgsql;servers=localhost::1223/test/CALLER/; select * from them where id='c'"? list match deferred for net-pgsql;servers=localhost::1223/test/CALLER/; select * from them where id='c' +warn: condition test deferred in ACL "check_recipient" +LOG: MAIN + H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:1223/test/CALLER/" is tainted +processing "warn" (TESTSUITE/test-config 49) +check set acl_m0 = FAIL: hostlist +check hosts = <& net-pgsql,servers=localhost::1223/test/CALLER/; select * from them where id='${quote_pgsql:$local_part}' +search_open: pgsql "NULL" + cached open +search_find: file="NULL" + key=" select * from them where id='c'" partial=-1 affix=NULL starflags=0 opts="servers=localhost::1223/test/CALLER/" +LRU list: +internal_search_find: file="NULL" + type=pgsql key=" select * from them where id='c'" opts="servers=localhost::1223/test/CALLER/" +database lookup required for select * from them where id='c' + (tainted, quoted:pgsql) +PostgreSQL query: " select * from them where id='c'" opts 'servers=localhost::1223/test/CALLER/' +lookup deferred: PostgreSQL server "localhost:1223/test/CALLER/" is tainted +host in "<& net-pgsql,servers=localhost::1223/test/CALLER/; select * from them where id='c'"? list match deferred for net-pgsql,servers=localhost::1223/test/CALLER/; select * from them where id='c' +warn: condition test deferred in ACL "check_recipient" +LOG: MAIN + H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: PostgreSQL server "localhost:1223/test/CALLER/" is tainted +processing "accept" (TESTSUITE/test-config 52) check domains = +local_domains d in "@"? no (end of list) d in "+local_domains"? no (end of list) accept: condition test failed in ACL "check_recipient" -processing "accept" (TESTSUITE/test-config 26) +processing "accept" (TESTSUITE/test-config 53) check hosts = +relay_hosts search_open: pgsql "NULL" cached open search_find: file="NULL" - key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 + key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0 opts=NULL LRU list: internal_search_find: file="NULL" - type=pgsql key="select * from them where id='10.0.0.0'" + type=pgsql key="select * from them where id='10.0.0.0'" opts=NULL cached data used for lookup of select * from them where id='10.0.0.0' lookup failed host in "net-pgsql;select * from them where id='10.0.0.0'"? no (end of list) host in "+relay_hosts"? no (end of list) accept: condition test failed in ACL "check_recipient" -processing "deny" (TESTSUITE/test-config 27) +processing "deny" (TESTSUITE/test-config 54) 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 + H=(test) [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 + SMTP connection from (test) [10.0.0.0] closed by QUIT search_tidyup called close PGSQL connection: localhost:1223/test/CALLER ->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> 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 @@ -315,8 +609,11 @@ Recipients: search_tidyup called >>Headers received: -rewrite_one_header: type=F: - From: CALLER_NAME +qualify & rewrite recipients list +global rewrite rules +rewrite headers + rewrite_one_header: type=F: + From: CALLER_NAME search_tidyup called >>Headers after rewriting and local additions: I Message-Id: @@ -329,25 +626,24 @@ Data file written for message 10HmaX-0005vi-00 P Received: from CALLER by myhost.test.ex with local (Exim x.yz) (envelope-from ) id 10HmaX-0005vi-00 - for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000 -Writing spool header file: TESTSUITE/spool//input//hdr.pppp -DSN: Write SPOOL :-dsn_envid NULL -DSN: Write SPOOL :-dsn_ret 0 -DSN: Flags :0 -DSN: **** SPOOL_OUT - address: |CALLER@myhost.test.ex| errorsto: |NULL| orcpt: |NULL| dsn_flags: 0 + for CALLER@myhost.test.ex; + Tue, 2 Mar 1999 09:44:33 +0000 +Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-0005vi-00 +DSN: **** SPOOL_OUT - address: errorsto: orcpt: dsn_flags: 0x0 Renaming spool header file: TESTSUITE/spool//input//10HmaX-0005vi-00-H Size of headers = sss 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 -odi -Mc 10HmaX-0005vi-00 +exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -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 configuration file is TESTSUITE/test-config trusted user admin user +dropping to exim gid; retaining priv uid seeking password data for user "CALLER": cache not available getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID set_process_info: pppp delivering specified messages @@ -357,20 +653,19 @@ reading spool file 10HmaX-0005vi-00-H user=CALLER uid=CALLER_UID gid=CALLER_GID sender=CALLER@myhost.test.ex sender_local=1 ident=CALLER Non-recipients: -Empty Tree + Empty Tree ---- End of tree ---- recipients_count=1 **** SPOOL_IN - No additional fields -body_linecount=1 message_linecount=7 -DSN: set orcpt: flags: 0 +body_linecount=1 message_linecount=8 +DSN: set orcpt: flags: 0x0 Delivery address list: CALLER@myhost.test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) - ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim - failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory + failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: CALLER@myhost.test.ex @@ -383,16 +678,17 @@ routing CALLER@myhost.test.ex --------> r1 router <-------- local_part=CALLER domain=myhost.test.ex processing address_data -search_open: pgsql "NULL" -search_find: file="NULL" - key="select name from them where id='ph10'" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="select name from them where id='ph10'" -database lookup required for select name from them where id='ph10' -PostgreSQL query: select name from them where id='ph10' -PGSQL new connection: host=localhost port=1223 database=test user=CALLER -lookup yielded: Philip Hazel + search_open: pgsql "NULL" + search_find: file="NULL" + key="select name from them where id='ph10'" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select name from them where id='ph10'" opts=NULL + database lookup required for select name from them where id='ph10' + PostgreSQL query: "select name from them where id='ph10'" opts 'NULL' + PGSQL new connection: host=localhost port=1223 database=test user=CALLER + creating new cache entry + lookup yielded: Philip Hazel calling r1 router r1 router called for CALLER@myhost.test.ex domain = myhost.test.ex @@ -400,7 +696,7 @@ set transport t1 queued for t1 transport: local_part = CALLER domain = myhost.test.ex errors_to=NULL - domain_data=NULL localpart_data=NULL + domain_data=NULL local_part_data=NULL routed by r1 router envelope to: CALLER@myhost.test.ex transport: t1 @@ -427,16 +723,17 @@ changed uid/gid: local delivery to CALLER transport=t1 home=NULL current=/ set_process_info: pppp delivering 10HmaX-0005vi-00 to CALLER using t1 appendfile transport entered -search_open: pgsql "NULL" -search_find: file="NULL" - key="select id from them where id='ph10'" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="select id from them where id='ph10'" -database lookup required for select id from them where id='ph10' -PostgreSQL query: select id from them where id='ph10' -PGSQL new connection: host=localhost port=1223 database=test user=CALLER -lookup yielded: ph10 + search_open: pgsql "NULL" + search_find: file="NULL" + key="select id from them where id='ph10'" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select id from them where id='ph10'" opts=NULL + database lookup required for select id from them where id='ph10' + PostgreSQL query: "select id from them where id='ph10'" opts 'NULL' + PGSQL new connection: host=localhost port=1223 database=test user=CALLER + creating new cache entry + lookup yielded: ph10 appendfile: mode=600 notify_comsat=0 quota=0 warning=0 file=TESTSUITE/test-mail/ph10 format=unix message_prefix=From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n @@ -474,7 +771,7 @@ end of retry processing DSN: processing router : r1 DSN: processing successful delivery address: CALLER@myhost.test.ex DSN: Sender_address: CALLER@myhost.test.ex -DSN: orcpt: NULL flags: 0 +DSN: orcpt: NULL flags: 0x0 DSN: envid: NULL ret: 0 DSN: Final recipient: CALLER@myhost.test.ex DSN: Remote SMTP server supports DSN: 0 @@ -484,24 +781,26 @@ LOG: MAIN end delivery of 10HmaX-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user -search_open: pgsql "NULL" -search_find: file="NULL" - key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 -LRU list: -internal_search_find: file="NULL" - type=pgsql key="select name from them where id='ph10';" -database lookup required for select name from them where id='ph10'; -PostgreSQL query: select name from them where id='ph10'; -PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER -lookup yielded: Philip Hazel +dropping to exim gid; retaining priv uid + search_open: pgsql "NULL" + search_find: file="NULL" + key="select name from them where id='ph10';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=pgsql key="select name from them where id='ph10';" opts=NULL + database lookup required for select name from them where id='ph10'; + PostgreSQL query: "select name from them where id='ph10';" opts 'NULL' + PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER + creating new cache entry + lookup yielded: Philip Hazel search_tidyup called close PGSQL connection: (TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER ->>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> ******** SERVER ********