Lookups: fix mysql lookup returns for no-data "queries",
authorJeremy Harris <jgh146exb@wizmail.org>
Sat, 13 Jan 2018 18:11:21 +0000 (18:11 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Sat, 13 Jan 2018 18:54:08 +0000 (18:54 +0000)
when the number of rows affected is returned.  Bug 2223

Broken-by: acec9514b1
Also enhance the testsuite mysql testcase to be standalone and move to standard-run set
and add a specific testcase for this bug.

Testcase working on Fedora at least - we'll see what happens on other platforms
where executable locaation may vary.

18 files changed:
doc/doc-txt/ChangeLog
src/src/lookups/mysql.c
test/confs/2610 [new file with mode: 0644]
test/confs/9100 [deleted file]
test/log/2610 [new file with mode: 0644]
test/log/9100 [deleted file]
test/mail/2610.ph10 [new file with mode: 0644]
test/mail/9100.CALLER [deleted file]
test/scripts/2610-MySQL/2610 [new file with mode: 0644]
test/scripts/2610-MySQL/REQUIRES [new file with mode: 0644]
test/scripts/2620-Postgresql/2620
test/scripts/9100-MySQL/9100 [deleted file]
test/stderr/2610 [new file with mode: 0644]
test/stderr/2620
test/stderr/9100 [deleted file]
test/stdout/2610 [new file with mode: 0644]
test/stdout/2620
test/stdout/9100 [deleted file]

index 742dc05f6f7d18609483140274c9a33aff2e3123..a62d767c9eec3c8c82ba16ea76469f6349ede39a 100644 (file)
@@ -39,6 +39,9 @@ JH/07 Bug 2214: Fix SMTP responses resulting from non-accept result of MIME ACL.
       Previously a spurious "250 OK id=" response was appended to the proper
       failure response.
 
       Previously a spurious "250 OK id=" response was appended to the proper
       failure response.
 
+JH/10 Bug 2223: Fix mysql lookup returns for the no-data case (when the number of
+      rows affected is given instead).
+
 
 Exim version 4.90
 -----------------
 
 Exim version 4.90
 -----------------
index ff1ef83250d7236be7e83aeb8b747a66221d893f..8d101b27b32b4d0ef0b3856480e237ca6b07ed73 100644 (file)
@@ -281,7 +281,7 @@ we return the number of rows affected by the command. In this event, we do NOT
 want to cache the result; also the whole cache for the handle must be cleaned
 up. Setting do_cache zero requests this. */
 
 want to cache the result; also the whole cache for the handle must be cleaned
 up. Setting do_cache zero requests this. */
 
-if ((mysql_result = mysql_use_result(mysql_handle)) == NULL)
+if (!(mysql_result = mysql_use_result(mysql_handle)))
   {
   if ( mysql_field_count(mysql_handle) == 0 )
     {
   {
   if ( mysql_field_count(mysql_handle) == 0 )
     {
@@ -314,34 +314,32 @@ while ((mysql_row_data = mysql_fetch_row(mysql_result)))
   if (result)
     result = string_catn(result, US"\n", 1);
 
   if (result)
     result = string_catn(result, US"\n", 1);
 
-  if (num_fields == 1)
-    {
-    if (mysql_row_data[0] != NULL)    /* NULL value yields nothing */
-      {
-      result = string_catn(result, US mysql_row_data[0],
-        lengths[0]);
-      (void) string_from_gstring(result);
-      }
-    }
+  if (num_fields != 1)
+    for (i = 0; i < num_fields; i++)
+      result = lf_quote(US fields[i].name, US mysql_row_data[i], lengths[i],
+                       result);
 
 
-  else for (i = 0; i < num_fields; i++)
-    result = lf_quote(US fields[i].name, US mysql_row_data[i], lengths[i], result);
+  else if (mysql_row_data[0] != NULL)    /* NULL value yields nothing */
+      result = string_catn(result, US mysql_row_data[0], lengths[0]);
   }
 
 /* more results? -1 = no, >0 = error, 0 = yes (keep looping)
    This is needed because of the CLIENT_MULTI_RESULTS on mysql_real_connect(),
    we don't expect any more results. */
 
   }
 
 /* more results? -1 = no, >0 = error, 0 = yes (keep looping)
    This is needed because of the CLIENT_MULTI_RESULTS on mysql_real_connect(),
    we don't expect any more results. */
 
-while((i = mysql_next_result(mysql_handle)) >= 0) {
-   if(i == 0) {   /* Just ignore more results */
-     DEBUG(D_lookup) debug_printf("MYSQL: got unexpected more results\n");
-     continue;
-   }
+while((i = mysql_next_result(mysql_handle)) >= 0)
+  {
+  if(i == 0)   /* Just ignore more results */
+    {
+    DEBUG(D_lookup) debug_printf("MYSQL: got unexpected more results\n");
+    continue;
+    }
 
 
-   *errmsg = string_sprintf("MYSQL: lookup result error when checking for more results: %s\n",
-       mysql_error(mysql_handle));
-   goto MYSQL_EXIT;
-}
+  *errmsg = string_sprintf(
+       "MYSQL: lookup result error when checking for more results: %s\n",
+       mysql_error(mysql_handle));
+  goto MYSQL_EXIT;
+  }
 
 /* If result is NULL then no data has been found and so we return FAIL.
 Otherwise, we must terminate the string which has been built; string_cat()
 
 /* If result is NULL then no data has been found and so we return FAIL.
 Otherwise, we must terminate the string which has been built; string_cat()
@@ -352,11 +350,6 @@ if (!result)
   yield = FAIL;
   *errmsg = US"MYSQL: no data found";
   }
   yield = FAIL;
   *errmsg = US"MYSQL: no data found";
   }
-else
-  {
-  (void) string_from_gstring(result);
-  store_reset(result->s + result->ptr + 1);
-  }
 
 /* Get here by goto from various error checks and from the case where no data
 was read (e.g. an update query). */
 
 /* Get here by goto from various error checks and from the case where no data
 was read (e.g. an update query). */
@@ -372,7 +365,8 @@ if (mysql_result) mysql_free_result(mysql_result);
 
 if (result)
   {
 
 if (result)
   {
-  *resultptr = result->s;
+  *resultptr = string_from_gstring(result);
+  store_reset(result->s + (result->size = result->ptr + 1));
   return OK;
   }
 else
   return OK;
   }
 else
diff --git a/test/confs/2610 b/test/confs/2610
new file mode 100644 (file)
index 0000000..9e22172
--- /dev/null
@@ -0,0 +1,48 @@
+# Exim test configuration 2610
+
+.include DIR/aux-var/std_conf_prefix
+
+primary_hostname = myhost.test.ex
+
+# ----- Main settings -----
+
+domainlist local_domains = @
+hostlist   relay_hosts = net-mysql;select * from them where id='$sender_host_address'
+
+acl_smtp_rcpt = check_recipient
+
+mysql_servers = 127.0.0.1::PORT_N/test/root/
+
+
+# ----- ACL -----
+
+begin acl
+
+check_recipient:
+  accept  domains = +local_domains
+  accept  hosts = +relay_hosts
+  deny    message = relay not permitted
+
+
+# ----- Routers -----
+
+begin routers
+
+r1:
+  driver = accept
+  address_data = ${lookup mysql{select name from them where id='ph10'}}
+  transport = t1
+
+
+# ----- Transports -----
+
+begin transports
+
+t1:
+  driver = appendfile
+  file = DIR/test-mail/\
+    ${lookup mysql{select id from them where id='ph10'}{$value}fail}
+  user = CALLER
+
+
+# End
diff --git a/test/confs/9100 b/test/confs/9100
deleted file mode 100644 (file)
index a031f44..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-# Exim test configuration 9100
-
-.include DIR/aux-var/std_conf_prefix
-
-primary_hostname = myhost.test.ex
-
-# ----- Main settings -----
-
-domainlist local_domains = @
-hostlist   relay_hosts = net-mysql;select * from them where id='$sender_host_address'
-
-acl_smtp_rcpt = check_recipient
-
-mysql_servers = localhost/test/root/
-
-
-# ----- ACL -----
-
-begin acl
-
-check_recipient:
-  accept  domains = +local_domains
-  accept  hosts = +relay_hosts
-  deny    message = relay not permitted
-
-
-# ----- Routers -----
-
-begin routers
-
-r1:
-  driver = accept
-  address_data = ${lookup mysql{select name from them where id='ph10'}}
-  transport = t1
-
-
-# ----- Transports -----
-
-begin transports
-
-t1:
-  driver = appendfile
-  file = DIR/test-mail/\
-    ${lookup mysql{select id from them where id='ph10'}{$value}fail}
-  user = CALLER
-
-
-# End
diff --git a/test/log/2610 b/test/log/2610
new file mode 100644 (file)
index 0000000..38ea30e
--- /dev/null
@@ -0,0 +1,3 @@
+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-0005vi-00 => ph10 <ph10@myhost.test.ex> R=r1 T=t1
+1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
diff --git a/test/log/9100 b/test/log/9100
deleted file mode 100644 (file)
index 5ca026f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-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-0005vi-00 => CALLER <CALLER@myhost.test.ex> R=r1 T=t1
-1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
diff --git a/test/mail/2610.ph10 b/test/mail/2610.ph10
new file mode 100644 (file)
index 0000000..3305d49
--- /dev/null
@@ -0,0 +1,11 @@
+From CALLER@myhost.test.ex Tue Mar 02 09:44:33 1999
+Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       (envelope-from <CALLER@myhost.test.ex>)
+       id 10HmaX-0005vi-00
+       for ph10@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+Message-Id: <E10HmaX-0005vi-00@myhost.test.ex>
+From: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+Test message
+
diff --git a/test/mail/9100.CALLER b/test/mail/9100.CALLER
deleted file mode 100644 (file)
index 1e1294c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-From CALLER@myhost.test.ex Tue Mar 02 09:44:33 1999
-Received: from CALLER by myhost.test.ex with local (Exim x.yz)
-       (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmaX-0005vi-00
-       for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
-Message-Id: <E10HmaX-0005vi-00@myhost.test.ex>
-From: CALLER_NAME <CALLER@myhost.test.ex>
-Date: Tue, 2 Mar 1999 09:44:33 +0000
-
-Test message
-
diff --git a/test/scripts/2610-MySQL/2610 b/test/scripts/2610-MySQL/2610
new file mode 100644 (file)
index 0000000..b3e36a5
--- /dev/null
@@ -0,0 +1,68 @@
+# mysql lookups
+#
+# first, populate a DB to test against
+sudo rm -fr DIR/mysql
+perl
+system 'mysql_install_db --datadir=DIR/mysql';
+****
+sudo rm test-stdout
+#
+# start a db server
+background
+mysqld_safe --datadir=DIR/mysql --log-error=DIR/mysql/log --port=PORT_N --socket=DIR/mysql/sock --pid-file=DIR/mysql/pidfile
+****
+sleep 1
+sudo rm test-stderr-server
+#
+# insert some data
+perl
+system 'mysqladmin --protocol=TCP -P PORT_N -u root create test';
+system 'mysql --protocol=TCP -P PORT_N -u root -D test \
+ -e "CREATE TABLE them ( name text, id text ); \
+     INSERT INTO them VALUES ( \'Philip Hazel\', \'ph10\' ); \
+     INSERT INTO them VALUES ( \'Aristotle\',    \'aaaa\' ); \
+     INSERT INTO them VALUES ( \'\', \'nothing\' ); \
+     INSERT INTO them VALUES ( \'\"stquot\', \'quote2\' ); \
+     INSERT INTO them VALUES ( CONCAT(\'before\', CHAR(13), CHAR(10), \'after\'), \'newline\' ); \
+     INSERT INTO them VALUES ( CONCAT(\'x\', CHAR(9), \'x\'), \'tab\' ); \
+     INSERT INTO them VALUES ( CONCAT(CHAR(39), \'stquot\'), \'quote1\' ); \
+ "';
+****
+#
+#
+exim -d-all+lookup -be
+${lookup mysql {select name from them where id='ph10';}}
+${lookup mysql {select name from them where id='ph10';}}
+${lookup mysql {select name from them where id='xxxx';}}
+${lookup mysql {select name from them where id='nothing';}}
+${lookup mysql {select id,name from them where id='nothing';}}
+${lookup mysql {delete from them where id='nonexist';}}
+${lookup mysql {select * from them where id='quote';}}
+${lookup mysql {select * from them where id='filter';}}
+${lookup mysql {select * from them where id='quote2';}}
+${lookup mysql {select * from them where id='nlonly';}}
+${lookup mysql {servers=x:127.0.0.1::PORT_N; select name from them where id='ph10';}}
+${lookup mysql {servers=127.0.0.1::PORT_N:x; select name from them where id='ph10';}}
+${lookup mysql {servers=127.0.0.1::PORT_N/test/root/:x; select name from them where id='ph10';}}
+${lookup mysql {servers=HOSTIPV4::PORT_N/test/root/:127.0.0.1::PORT_N; select name from them where id='ph10';}}
+${lookup mysql {servers=localhost(DIR/mysql/sock)/test/root/; select name from them where id='ph10';}}
+x
+${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
+mail from:<a@b>
+rcpt to:<c@d>
+quit
+****
+exim -odi -d ph10
+Test message
+.
+****
+#
+perl
+system 'mysqladmin --protocol=TCP -P PORT_N -u root shutdown';
+****
+killdaemon
+sudo rm -fr DIR/mysql
diff --git a/test/scripts/2610-MySQL/REQUIRES b/test/scripts/2610-MySQL/REQUIRES
new file mode 100644 (file)
index 0000000..e11f866
--- /dev/null
@@ -0,0 +1 @@
+lookup mysql
index ba3a3bcc82fd6f5445d684b85d42bb642d59a94d..a3301c36a1fc81267bfbfa2215684d9efba7818e 100644 (file)
@@ -41,6 +41,7 @@ ${lookup pgsql {servers=(DIR/pgsql/.s.PGSQL.PORT_N)/test/CALLER/:x; select name
 x
 ${lookup pgsql {SELECT name FROM them WHERE id IN ('ph10', 'aaaa');}}
 ${lookup pgsql {SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');}}
 x
 ${lookup pgsql {SELECT name FROM them WHERE id IN ('ph10', 'aaaa');}}
 ${lookup pgsql {SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');}}
+${lookup pgsql {delete from them where id='aaaa'}}
 ****
 exim -d -bh 10.0.0.0
 mail from:<a@b>
 ****
 exim -d -bh 10.0.0.0
 mail from:<a@b>
diff --git a/test/scripts/9100-MySQL/9100 b/test/scripts/9100-MySQL/9100
deleted file mode 100644 (file)
index fdf2caf..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# mysql lookups - expects specific data
-exim -d-all+lookup -be
-${lookup mysql {select name from them where id='ph10';}}
-${lookup mysql {select name from them where id='ph10';}}
-${lookup mysql {select name from them where id='xxxx';}}
-${lookup mysql {select name from them where id='nothing';}}
-${lookup mysql {select id,name from them where id='nothing';}}
-${lookup mysql {delete from them where id='nonexist';}}
-${lookup mysql {select * from them where id='quote';}}
-${lookup mysql {select * from them where id='filter';}}
-${lookup mysql {select * from them where id='quote2';}}
-${lookup mysql {select * from them where id='nlonly';}}
-${lookup mysql {servers=x:localhost; select name from them where id='ph10';}}
-${lookup mysql {servers=localhost:x; select name from them where id='ph10';}}
-${lookup mysql {servers=localhost/test/root/:x; select name from them where id='ph10';}}
-${lookup mysql {servers=HOST_IPV4/test/root/:localhost; select name from them where id='ph10';}}
-****
-exim -d -bh 10.0.0.0
-mail from:<a@b>
-rcpt to:<c@d>
-quit
-****
-exim -odi -d ph10
-Test message
-.
-****
diff --git a/test/stderr/2610 b/test/stderr/2610
new file mode 100644 (file)
index 0000000..60d9643
--- /dev/null
@@ -0,0 +1,475 @@
+Tue Mar 02 09:44:33 1999 PerconaFT file system space is low
+\amysqladmin: CREATE DATABASE failed; error: 'Can't create database 'test'; database exists'
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+admin user
+search_open: mysql "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=mysql key="select name from them where id='ph10';"
+database lookup required for select name from them where id='ph10';
+MySQL query: select name from them where id='ph10';
+MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root
+lookup yielded: Philip Hazel
+search_open: mysql "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=mysql 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: mysql "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=mysql key="select name from them where id='xxxx';"
+database lookup required for select name from them where id='xxxx';
+MySQL query: select name from them where id='xxxx';
+MYSQL using cached connection for 127.0.0.1:1223/test/root
+MYSQL: no data found
+lookup failed
+search_open: mysql "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=mysql key="select name from them where id='nothing';"
+database lookup required for select name from them where id='nothing';
+MySQL query: select name from them where id='nothing';
+MYSQL using cached connection for 127.0.0.1:1223/test/root
+lookup yielded: 
+search_open: mysql "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=mysql key="select id,name from them where id='nothing';"
+database lookup required for select id,name from them where id='nothing';
+MySQL query: select id,name from them where id='nothing';
+MYSQL using cached connection for 127.0.0.1:1223/test/root
+lookup yielded: id=nothing name="" 
+search_open: mysql "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=mysql key="delete from them where id='nonexist';"
+database lookup required for delete from them where id='nonexist';
+MySQL query: delete from them where id='nonexist';
+MYSQL using cached connection for 127.0.0.1:1223/test/root
+MYSQL: query was not one that returns data
+lookup forced cache cleanup
+lookup yielded: 0
+search_open: mysql "NULL"
+  cached open
+search_find: file="NULL"
+  key="select * from them where id='quote';" partial=-1 affix=NULL starflags=0
+LRU list:
+internal_search_find: file="NULL"
+  type=mysql key="select * from them where id='quote';"
+database lookup required for select * from them where id='quote';
+MySQL query: select * from them where id='quote';
+MYSQL using cached connection for 127.0.0.1:1223/test/root
+MYSQL: no data found
+lookup failed
+search_open: mysql "NULL"
+  cached open
+search_find: file="NULL"
+  key="select * from them where id='filter';" partial=-1 affix=NULL starflags=0
+LRU list:
+internal_search_find: file="NULL"
+  type=mysql key="select * from them where id='filter';"
+database lookup required for select * from them where id='filter';
+MySQL query: select * from them where id='filter';
+MYSQL using cached connection for 127.0.0.1:1223/test/root
+MYSQL: no data found
+lookup failed
+search_open: mysql "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=mysql key="select * from them where id='quote2';"
+database lookup required for select * from them where id='quote2';
+MySQL query: select * from them where id='quote2';
+MYSQL using cached connection for 127.0.0.1:1223/test/root
+lookup yielded: name="\"stquot" id=quote2 
+search_open: mysql "NULL"
+  cached open
+search_find: file="NULL"
+  key="select * from them where id='nlonly';" partial=-1 affix=NULL starflags=0
+LRU list:
+internal_search_find: file="NULL"
+  type=mysql key="select * from them where id='nlonly';"
+database lookup required for select * from them where id='nlonly';
+MySQL query: select * from them where id='nlonly';
+MYSQL using cached connection for 127.0.0.1:1223/test/root
+MYSQL: no data found
+lookup failed
+search_open: mysql "NULL"
+  cached open
+search_find: file="NULL"
+  key="servers=x:127.0.0.1::1223; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+LRU list:
+internal_search_find: file="NULL"
+  type=mysql key="servers=x:127.0.0.1::1223; select name from them where id='ph10';"
+database lookup required for servers=x:127.0.0.1::1223; select name from them where id='ph10';
+MySQL query: servers=x:127.0.0.1::1223; select name from them where id='ph10';
+lookup deferred: MySQL server "x" not found in mysql_servers
+search_open: mysql "NULL"
+  cached open
+search_find: file="NULL"
+  key="servers=127.0.0.1::1223:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+LRU list:
+internal_search_find: file="NULL"
+  type=mysql key="servers=127.0.0.1::1223:x; select name from them where id='ph10';"
+database lookup required for servers=127.0.0.1::1223:x; select name from them where id='ph10';
+MySQL query: servers=127.0.0.1::1223:x; select name from them where id='ph10';
+MYSQL using cached connection for 127.0.0.1:1223/test/root
+lookup yielded: Philip Hazel
+search_open: mysql "NULL"
+  cached open
+search_find: file="NULL"
+  key="servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+LRU list:
+internal_search_find: file="NULL"
+  type=mysql key="servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10';"
+database lookup required for servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10';
+MySQL query: servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10';
+MYSQL using cached connection for 127.0.0.1:1223/test/root
+lookup yielded: Philip Hazel
+search_open: mysql "NULL"
+  cached open
+search_find: file="NULL"
+  key="servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+LRU list:
+internal_search_find: file="NULL"
+  type=mysql key="servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10';"
+database lookup required for servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10';
+MySQL query: servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10';
+MYSQL new connection: host=ip4.ip4.ip4.ip4 port=1223 socket=NULL database=test user=root
+lookup yielded: Philip Hazel
+search_open: mysql "NULL"
+  cached open
+search_find: file="NULL"
+  key="servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10';" partial=-1 affix=NULL starflags=0
+LRU list:
+internal_search_find: file="NULL"
+  type=mysql key="servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10';"
+database lookup required for servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10';
+MySQL query: servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10';
+MYSQL new connection: host=localhost port=0 socket=TESTSUITE/mysql/sock database=test user=root
+lookup yielded: Philip Hazel
+search_open: mysql "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=mysql key="SELECT name FROM them WHERE id IN ('ph10', 'aaaa');"
+database lookup required for SELECT name FROM them WHERE id IN ('ph10', 'aaaa');
+MySQL query: SELECT name FROM them WHERE id IN ('ph10', 'aaaa');
+MYSQL using cached connection for 127.0.0.1:1223/test/root
+lookup yielded: Philip Hazel
+Aristotle
+search_open: mysql "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=mysql key="SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');"
+database lookup required for SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');
+MySQL query: SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');
+MYSQL using cached connection for 127.0.0.1:1223/test/root
+lookup yielded: name="Philip Hazel" id=ph10 
+name=Aristotle id=aaaa 
+search_open: mysql "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=mysql key="delete from them where id='aaaa'"
+database lookup required for delete from them where id='aaaa'
+MySQL query: delete from them where id='aaaa'
+MYSQL using cached connection for 127.0.0.1:1223/test/root
+MYSQL: query was not one that returns data
+lookup forced cache cleanup
+lookup yielded: 1
+search_tidyup called
+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:1223/test/root
+>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) 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:<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 "accept"
+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"
+check hosts = +relay_hosts
+search_open: mysql "NULL"
+search_find: file="NULL"
+  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0
+LRU list:
+internal_search_find: file="NULL"
+  type=mysql key="select * from them where id='10.0.0.0'"
+database lookup required for select * from them where id='10.0.0.0'
+MySQL query: select * from them where id='10.0.0.0'
+MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root
+MYSQL: no data found
+lookup failed
+host in "net-mysql;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"
+  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=<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 [10.0.0.0] closed by QUIT
+search_tidyup called
+close MYSQL connection: 127.0.0.1:1223/test/root
+>>>>>>>>>>>>>>>> Exim pid=pppp (main) 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
+set_process_info: pppp accepting a local non-SMTP message from <CALLER@myhost.test.ex>
+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
+Sender: CALLER@myhost.test.ex
+Recipients:
+  ph10
+search_tidyup called
+>>Headers received:
+
+rewrite_one_header: type=F:
+  From: CALLER_NAME <CALLER@myhost.test.ex>
+search_tidyup called
+>>Headers after rewriting and local additions:
+I Message-Id: <E10HmaX-0005vi-00@myhost.test.ex>
+F From: CALLER_NAME <CALLER@myhost.test.ex>
+  Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+Data file name: TESTSUITE/spool//input//10HmaX-0005vi-00-D
+Data file written for message 10HmaX-0005vi-00
+>>Generated Received: header line
+P Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       (envelope-from <CALLER@myhost.test.ex>)
+       id 10HmaX-0005vi-00
+       for ph10@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+calling local_scan(); timeout=300
+local_scan() returned 0 NULL
+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: |ph10@myhost.test.ex| errorsto: |NULL| orcpt: |NULL| dsn_flags: 0
+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=0xfbb95cfd -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
+seeking password data for user "CALLER": cache not available
+getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
+set_process_info: pppp delivering specified messages
+set_process_info: pppp delivering 10HmaX-0005vi-00
+Trying spool file TESTSUITE/spool//input//10HmaX-0005vi-00-D
+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
+---- End of tree ----
+recipients_count=1
+**** SPOOL_IN - No additional fields
+body_linecount=1 message_linecount=7
+DSN: set orcpt: NULL  flags: 0
+Delivery address list:
+  ph10@myhost.test.ex 
+locking TESTSUITE/spool/db/retry.lockfile
+locked  TESTSUITE/spool/db/retry.lockfile
+EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> 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
+no retry data available
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering: ph10@myhost.test.ex
+unique = ph10@myhost.test.ex
+no domain retry record
+no address retry record
+ph10@myhost.test.ex: queued for routing
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+routing ph10@myhost.test.ex
+--------> r1 router <--------
+local_part=ph10 domain=myhost.test.ex
+processing address_data
+search_open: mysql "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=mysql key="select name from them where id='ph10'"
+database lookup required for select name from them where id='ph10'
+MySQL query: select name from them where id='ph10'
+MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root
+lookup yielded: Philip Hazel
+calling r1 router
+r1 router called for ph10@myhost.test.ex
+  domain = myhost.test.ex
+set transport t1
+queued for t1 transport: local_part = ph10
+domain = myhost.test.ex
+  errors_to=NULL
+  domain_data=NULL localpart_data=NULL
+routed by r1 router
+  envelope to: ph10@myhost.test.ex
+  transport: t1
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+After routing:
+  Local deliveries:
+    ph10@myhost.test.ex
+  Remote deliveries:
+  Failed addresses:
+  Deferred addresses:
+search_tidyup called
+close MYSQL connection: 127.0.0.1:1223/test/root
+>>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
+--------> ph10@myhost.test.ex <--------
+locking TESTSUITE/spool/db/retry.lockfile
+locked  TESTSUITE/spool/db/retry.lockfile
+EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
+returned from EXIM_DBOPEN: (nil)
+failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
+no retry data available
+search_tidyup called
+changed uid/gid: local delivery to ph10 <ph10@myhost.test.ex> transport=t1
+  uid=CALLER_UID gid=CALLER_GID pid=pppp
+  home=NULL current=/
+set_process_info: pppp delivering 10HmaX-0005vi-00 to ph10 using t1
+appendfile transport entered
+search_open: mysql "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=mysql key="select id from them where id='ph10'"
+database lookup required for select id from them where id='ph10'
+MySQL query: select id from them where id='ph10'
+MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root
+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
+  message_suffix=\n
+  maildir_use_size_file=no
+  locking by lockfile fcntl 
+lock name: TESTSUITE/test-mail/ph10.lock
+hitch name: TESTSUITE/test-mail/ph10.lock.test.ex.dddddddd.pppppppp
+lock file created
+mailbox TESTSUITE/test-mail/ph10 is locked
+writing to file TESTSUITE/test-mail/ph10
+writing data block fd=dddd size=sss timeout=0
+cannot use sendfile for body: spoolfile not wireformat
+writing data block fd=dddd size=sss timeout=0
+writing data block fd=dddd size=sss timeout=0
+appendfile yields 0 with errno=dd more_errno=dd
+search_tidyup called
+close MYSQL connection: 127.0.0.1:1223/test/root
+journalling ph10@myhost.test.ex
+t1 transport returned OK for ph10@myhost.test.ex
+post-process ph10@myhost.test.ex (0)
+ph10@myhost.test.ex delivered
+LOG: MAIN
+  => ph10 <ph10@myhost.test.ex> R=r1 T=t1
+>>>>>>>>>>>>>>>> deliveries are done >>>>>>>>>>>>>>>>
+changed uid/gid: post-delivery tidying
+  uid=EXIM_UID gid=EXIM_GID pid=pppp
+set_process_info: pppp tidying up after delivering 10HmaX-0005vi-00
+Processing retry items
+Succeeded addresses:
+ ph10@myhost.test.ex: no retry items
+Failed addresses:
+Deferred addresses:
+end of retry processing
+DSN: processing router : r1
+DSN: processing successful delivery address: ph10@myhost.test.ex
+DSN: Sender_address: CALLER@myhost.test.ex
+DSN: orcpt: NULL  flags: 0
+DSN: envid: NULL  ret: 0
+DSN: Final recipient: ph10@myhost.test.ex
+DSN: Remote SMTP server supports DSN: 0
+DSN: not sending DSN success message
+LOG: MAIN
+  Completed
+end delivery of 10HmaX-0005vi-00
+search_tidyup called
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
index b0bed620945752c665bf629bd510addfc98405f7..c32f7c50dd60343e660626fc5b1aa2ce88e19951 100644 (file)
@@ -183,6 +183,19 @@ 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 
 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
 search_tidyup called
 close PGSQL connection: (TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER
 close PGSQL connection: localhost:1223/test/CALLER
 search_tidyup called
 close PGSQL connection: (TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER
 close PGSQL connection: localhost:1223/test/CALLER
diff --git a/test/stderr/9100 b/test/stderr/9100
deleted file mode 100644 (file)
index 60c63ba..0000000
+++ /dev/null
@@ -1,400 +0,0 @@
-Exim version x.yz ....
-configuration file is TESTSUITE/test-config
-admin user
-search_open: mysql "NULL"
-search_find: file="NULL"
-  key="select name from them where id='CALLER';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=mysql key="select name from them where id='CALLER';"
-database lookup required for select name from them where id='CALLER';
-MySQL query: select name from them where id='CALLER';
-MYSQL new connection: host=localhost port=0 socket=NULL database=test user=root
-lookup yielded: Philip Hazel
-search_open: mysql "NULL"
-  cached open
-search_find: file="NULL"
-  key="select name from them where id='CALLER';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=mysql key="select name from them where id='CALLER';"
-cached data used for lookup of select name from them where id='CALLER';
-lookup yielded: Philip Hazel
-search_open: mysql "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=mysql key="select name from them where id='xxxx';"
-database lookup required for select name from them where id='xxxx';
-MySQL query: select name from them where id='xxxx';
-MYSQL using cached connection for localhost/test/root
-MYSQL: no data found
-lookup failed
-search_open: mysql "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=mysql key="select name from them where id='nothing';"
-database lookup required for select name from them where id='nothing';
-MySQL query: select name from them where id='nothing';
-MYSQL using cached connection for localhost/test/root
-MYSQL: no data found
-lookup failed
-search_open: mysql "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=mysql key="select id,name from them where id='nothing';"
-database lookup required for select id,name from them where id='nothing';
-MySQL query: select id,name from them where id='nothing';
-MYSQL using cached connection for localhost/test/root
-lookup yielded: id=nothing name="" 
-search_open: mysql "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=mysql key="delete from them where id='nonexist';"
-database lookup required for delete from them where id='nonexist';
-MySQL query: delete from them where id='nonexist';
-MYSQL using cached connection for localhost/test/root
-MYSQL: query was not one that returns data
-lookup forced cache cleanup
-lookup yielded: 0
-search_open: mysql "NULL"
-  cached open
-search_find: file="NULL"
-  key="select * from them where id='quote';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=mysql key="select * from them where id='quote';"
-database lookup required for select * from them where id='quote';
-MySQL query: select * from them where id='quote';
-MYSQL using cached connection for localhost/test/root
-lookup yielded: id=quote name="\"Q\" Oted" home=/home/quoted mail=quoted@xxx 
-search_open: mysql "NULL"
-  cached open
-search_find: file="NULL"
-  key="select * from them where id='filter';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=mysql key="select * from them where id='filter';"
-database lookup required for select * from them where id='filter';
-MySQL query: select * from them where id='filter';
-MYSQL using cached connection for localhost/test/root
-lookup yielded: id=filter name=filter home=filter mail="#Exim filter
-deliver postmaster" 
-search_open: mysql "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=mysql key="select * from them where id='quote2';"
-database lookup required for select * from them where id='quote2';
-MySQL query: select * from them where id='quote2';
-MYSQL using cached connection for localhost/test/root
-lookup yielded: id=quote2 name="\"qnosp" home=/home/q2 mail="" 
-search_open: mysql "NULL"
-  cached open
-search_find: file="NULL"
-  key="select * from them where id='nlonly';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=mysql key="select * from them where id='nlonly';"
-database lookup required for select * from them where id='nlonly';
-MySQL query: select * from them where id='nlonly';
-MYSQL using cached connection for localhost/test/root
-lookup yielded: id=nlonly name=filter home=filter mail="Before
-After" 
-search_open: mysql "NULL"
-  cached open
-search_find: file="NULL"
-  key="servers=x:localhost; select name from them where id='CALLER';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=mysql key="servers=x:localhost; select name from them where id='CALLER';"
-database lookup required for servers=x:localhost; select name from them where id='CALLER';
-MySQL query: servers=x:localhost; select name from them where id='CALLER';
-lookup deferred: MySQL server "x" not found in mysql_servers
-search_open: mysql "NULL"
-  cached open
-search_find: file="NULL"
-  key="servers=localhost:x; select name from them where id='CALLER';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=mysql key="servers=localhost:x; select name from them where id='CALLER';"
-database lookup required for servers=localhost:x; select name from them where id='CALLER';
-MySQL query: servers=localhost:x; select name from them where id='CALLER';
-MYSQL using cached connection for localhost/test/root
-lookup yielded: Philip Hazel
-search_open: mysql "NULL"
-  cached open
-search_find: file="NULL"
-  key="servers=localhost/test/root/:x; select name from them where id='CALLER';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=mysql key="servers=localhost/test/root/:x; select name from them where id='CALLER';"
-database lookup required for servers=localhost/test/root/:x; select name from them where id='CALLER';
-MySQL query: servers=localhost/test/root/:x; select name from them where id='CALLER';
-MYSQL using cached connection for localhost/test/root
-lookup yielded: Philip Hazel
-search_open: mysql "NULL"
-  cached open
-search_find: file="NULL"
-  key="servers=HOST_IPV4/test/root/:localhost; select name from them where id='CALLER';" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=mysql key="servers=HOST_IPV4/test/root/:localhost; select name from them where id='CALLER';"
-database lookup required for servers=HOST_IPV4/test/root/:localhost; select name from them where id='CALLER';
-MySQL query: servers=HOST_IPV4/test/root/:localhost; select name from them where id='CALLER';
-MYSQL new connection: host=HOST_IPV4 port=0 socket=NULL database=test user=root
-MYSQL connection failed: Unknown MySQL server host 'HOST_IPV4' (1)
-MYSQL using cached connection for localhost/test/root
-lookup yielded: Philip Hazel
-search_tidyup called
-close MYSQL connection: localhost/test/root
->>>>>>>>>>>>>>>> Exim pid=pppp 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:<a@b>
-SMTP>> 250 OK
-SMTP<< rcpt to:<c@d>
-using ACL "check_recipient"
-processing "accept"
-check domains = +local_domains
-d in "@"? no (end of list)
-d in "+local_domains"? no (end of list)
-accept: condition test failed
-processing "accept"
-check hosts = +relay_hosts
-search_open: mysql "NULL"
-search_find: file="NULL"
-  key="select * from them where id='10.0.0.0'" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=mysql key="select * from them where id='10.0.0.0'"
-database lookup required for select * from them where id='10.0.0.0'
-MySQL query: select * from them where id='10.0.0.0'
-MYSQL new connection: host=localhost port=0 socket=NULL database=test user=root
-MYSQL: no data found
-lookup failed
-host in "net-mysql;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
-processing "deny"
-deny: condition test succeeded
-SMTP>> 550 relay not permitted
-LOG: MAIN REJECT
-  H=[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 [10.0.0.0] closed by QUIT
-search_tidyup called
-close MYSQL connection: localhost/test/root
->>>>>>>>>>>>>>>> Exim pid=pppp 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
-set_process_info: pppp accepting a local non-SMTP message from <CALLER@myhost.test.ex>
-Sender: CALLER@myhost.test.ex
-Recipients:
-  CALLER
-search_tidyup called
->>Headers received:
-
-rewrite_one_header: type=F:
-  From: CALLER_NAME <CALLER@myhost.test.ex>
-search_tidyup called
->>Headers after rewriting and local additions:
-I Message-Id: <E10HmaX-0005vi-00@myhost.test.ex>
-F From: CALLER_NAME <CALLER@myhost.test.ex>
-  Date: Tue, 2 Mar 1999 09:44:33 +0000
-
-Data file written for message 10HmaX-0005vi-00
->>Generated Received: header line
-P Received: from CALLER by myhost.test.ex with local (Exim x.yz)
-       (envelope-from <CALLER@myhost.test.ex>)
-       id 10HmaX-0005vi-00
-       for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
-calling local_scan(); timeout=300
-local_scan() returned 0 NULL
-Writing spool header file
-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=0xfbb95cfd -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
-skipping ACL configuration - not needed
-seeking password data for user "CALLER": cache not available
-getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
-set_process_info: pppp delivering specified messages
-set_process_info: pppp delivering 10HmaX-0005vi-00
-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
----- End of tree ----
-recipients_count=1
-body_linecount=1 message_linecount=7
-Delivery address list:
-  CALLER@myhost.test.ex 
-locking TESTSUITE/spool/db/retry.lockfile
-locked TESTSUITE/spool/db/retry.lockfile
-EXIM_DBOPEN(TESTSUITE/spool/db/retry)
-returned from EXIM_DBOPEN
-ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim
-no retry data available
->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-Considering: CALLER@myhost.test.ex
-unique = CALLER@myhost.test.ex
-no domain retry record
-no address retry record
-CALLER@myhost.test.ex: queued for routing
->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-routing CALLER@myhost.test.ex
---------> r1 router <--------
-local_part=CALLER domain=myhost.test.ex
-processing address_data
-search_open: mysql "NULL"
-search_find: file="NULL"
-  key="select name from them where id='CALLER'" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=mysql key="select name from them where id='CALLER'"
-database lookup required for select name from them where id='CALLER'
-MySQL query: select name from them where id='CALLER'
-MYSQL new connection: host=localhost port=0 socket=NULL database=test user=root
-lookup yielded: Philip Hazel
-calling r1 router
-r1 router called for CALLER@myhost.test.ex
-  domain = myhost.test.ex
-set transport t1
-queued for t1 transport: local_part = CALLER
-domain = myhost.test.ex
-  errors_to=NULL
-  domain_data=NULL localpart_data=NULL
-routed by r1 router
-  envelope to: CALLER@myhost.test.ex
-  transport: t1
->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-After routing:
-  Local deliveries:
-    CALLER@myhost.test.ex
-  Remote deliveries:
-  Failed addresses:
-  Deferred addresses:
-search_tidyup called
-close MYSQL connection: localhost/test/root
->>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
---------> CALLER@myhost.test.ex <--------
-locking TESTSUITE/spool/db/retry.lockfile
-locked TESTSUITE/spool/db/retry.lockfile
-EXIM_DBOPEN(TESTSUITE/spool/db/retry)
-returned from EXIM_DBOPEN
-no retry data available
-search_tidyup called
-changed uid/gid: local delivery to CALLER <CALLER@myhost.test.ex> transport=t1
-  uid=CALLER_UID gid=CALLER_GID pid=pppp
-  home=NULL current=/
-set_process_info: pppp delivering 10HmaX-0005vi-00 to CALLER using t1
-appendfile transport entered
-search_open: mysql "NULL"
-search_find: file="NULL"
-  key="select id from them where id='CALLER'" partial=-1 affix=NULL starflags=0
-LRU list:
-internal_search_find: file="NULL"
-  type=mysql key="select id from them where id='CALLER'"
-database lookup required for select id from them where id='CALLER'
-MySQL query: select id from them where id='CALLER'
-MYSQL new connection: host=localhost port=0 socket=NULL database=test user=root
-lookup yielded: CALLER
-appendfile: mode=600 notify_comsat=0 quota=0 warning=0
-  file=TESTSUITE/test-mail/CALLER format=unix
-  message_prefix=From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n
-  message_suffix=\n
-  maildir_use_size_file=no
-  locking by lockfile fcntl 
-lock name: TESTSUITE/test-mail/CALLER.lock
-hitch name: TESTSUITE/test-mail/CALLER.lock.test.ex.dddddddd.pppppppp
-lock file created
-mailbox TESTSUITE/test-mail/CALLER is locked
-writing to file TESTSUITE/test-mail/CALLER
-writing data block fd=dddd size=sss timeout=0
-writing data block fd=dddd size=sss timeout=0
-writing data block fd=dddd size=sss timeout=0
-appendfile yields 0 with errno=dd more_errno=dd
-search_tidyup called
-close MYSQL connection: localhost/test/root
-journalling CALLER@myhost.test.ex
-t1 transport returned OK for CALLER@myhost.test.ex
-post-process CALLER@myhost.test.ex (0)
-CALLER@myhost.test.ex delivered
-LOG: MAIN
-  => CALLER <CALLER@myhost.test.ex> R=r1 T=t1
->>>>>>>>>>>>>>>> deliveries are done >>>>>>>>>>>>>>>>
-changed uid/gid: post-delivery tidying
-  uid=EXIM_UID gid=EXIM_GID pid=pppp
-set_process_info: pppp tidying up after delivering 10HmaX-0005vi-00
-Processing retry items
-Succeeded addresses:
-CALLER@myhost.test.ex: no retry items
-Failed addresses:
-Deferred addresses:
-end of retry processing
-LOG: MAIN
-  Completed
-end delivery of 10HmaX-0005vi-00
-search_tidyup called
-search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
-search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
diff --git a/test/stdout/2610 b/test/stdout/2610
new file mode 100644 (file)
index 0000000..f0774a8
--- /dev/null
@@ -0,0 +1,31 @@
+> Philip Hazel
+> Philip Hazel
+> 
+> 
+> id=nothing name="" 
+> 0
+> 
+> 
+> name="\"stquot" id=quote2 
+> 
+> Failed: lookup of "servers=x:127.0.0.1::1223; select name from them where id='ph10';" gave DEFER: MySQL server "x" not found in mysql_servers
+> Philip Hazel
+> Philip Hazel
+> Philip Hazel
+> Philip Hazel
+> x
+> Philip Hazel
+Aristotle
+> name="Philip Hazel" id=ph10 
+name=Aristotle id=aaaa 
+> 1
+> 
+
+**** 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\r
+250 OK\r
+550 relay not permitted\r
+221 myhost.test.ex closing connection\r
index 668eca73acf011885831fd1ca15f9ffa56d2c55a..386e72fbd0ebf58c19040c0605b8680ee7f762b3 100644 (file)
@@ -49,6 +49,7 @@ after" id=newline
 Aristotle
 > name="Philip Hazel" id=ph10 
 name=Aristotle id=aaaa 
 Aristotle
 > name="Philip Hazel" id=ph10 
 name=Aristotle id=aaaa 
+> 1
 > 
 
 **** SMTP testing session as if from host 10.0.0.0
 > 
 
 **** SMTP testing session as if from host 10.0.0.0
diff --git a/test/stdout/9100 b/test/stdout/9100
deleted file mode 100644 (file)
index 460d767..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-> Philip Hazel
-> Philip Hazel
-> 
-> 
-> id=nothing name="" 
-> 0
-> id=quote name="\"Q\" Oted" home=/home/quoted mail=quoted@xxx 
-> id=filter name=filter home=filter mail="#Exim filter
-deliver postmaster" 
-> id=quote2 name="\"qnosp" home=/home/q2 mail="" 
-> id=nlonly name=filter home=filter mail="Before
-After" 
-> Failed: lookup of "servers=x:localhost; select name from them where id='CALLER';" gave DEFER: MySQL server "x" not found in mysql_servers
-> Philip Hazel
-> Philip Hazel
-> Philip Hazel
-> 
-
-**** 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\r
-250 OK\r
-550 relay not permitted\r
-221 myhost.test.ex closing connection\r