Hintsdb sqlite: use transaction rather than file lock
[exim.git] / test / stderr / 0398
index e661fcb6c8dc37581f27b2a9fcde1b8eac553d83..745b5bb120ae1621880f57414ace8a2609e872ec 100644 (file)
@@ -1,27 +1,38 @@
 Exim version x.yz ....
 Exim version x.yz ....
+Hints DB:
 changed uid/gid: forcing real = effective
 changed uid/gid: forcing real = effective
-  uid=uuuu gid=CALLER_GID pid=pppp
+  uid=uuuu gid=CALLER_GID pid=p1234
 configuration file is TESTSUITE/test-config
 admin user
 changed uid/gid: privilege not needed
 configuration file is TESTSUITE/test-config
 admin user
 changed uid/gid: privilege not needed
-  uid=EXIM_UID gid=EXIM_GID pid=pppp
+  uid=EXIM_UID gid=EXIM_GID pid=p1234
+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@test.ex
 set_process_info: pppp accepting a local SMTP message from <CALLER@test.ex>
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
 sender address = CALLER@test.ex
 set_process_info: pppp accepting a local SMTP message from <CALLER@test.ex>
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
-SMTP>> 220 mail.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000\r
+SMTP>> 220 mail.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 smtp_setup_msg entered
 smtp_setup_msg entered
+SMTP<< helo test
+SMTP>> 250 mail.test.ex Hello CALLER at test
 SMTP<< mail from:<qq@remote>
 SMTP<< mail from:<qq@remote>
-SMTP>> 250 OK\r
+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:<abc@local>
 using ACL "rcpt"
 SMTP<< rcpt to:<abc@local>
 using ACL "rcpt"
-processing "deny"
+processing "deny" (TESTSUITE/test-config 19)
 check senders = qq@remote
 check senders = qq@remote
-address match: subject=qq@remote pattern=qq@remote
-remote in "remote"? yes (matched "remote")
-qq@remote in "qq@remote"? yes (matched "qq@remote")
+qq@remote in "qq@remote"?
+ list element: qq@remote
+ address match test: subject=qq@remote pattern=qq@remote
+ remote in "remote"?
+  list element: remote
+  remote in "remote"? yes (matched "remote")
+ qq@remote in "qq@remote"? yes (matched "qq@remote")
 check !verify = sender
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Verifying qq@remote
 check !verify = sender
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Verifying qq@remote
@@ -32,19 +43,25 @@ routing qq@remote
 --------> r1 router <--------
 local_part=qq domain=remote
 checking domains
 --------> r1 router <--------
 local_part=qq domain=remote
 checking domains
-remote in "local"? no (end of list)
+remote in domains?
+ list element: local
+remote in domains? no (end of list)
 r1 router skipped: domains mismatch
 --------> r2 router <--------
 local_part=qq domain=remote
 checking domains
 r1 router skipped: domains mismatch
 --------> r2 router <--------
 local_part=qq domain=remote
 checking domains
-remote in "remote"? yes (matched "remote")
+remote in domains?
+ list element: remote
+ remote in domains? yes (matched "remote")
 calling r2 router
 r2 router called for qq@remote
   domain = remote
 route_item = * 127.0.0.1
 calling r2 router
 r2 router called for qq@remote
   domain = remote
 route_item = * 127.0.0.1
-remote in "*"? yes (matched "*")
-original list of hosts = "127.0.0.1" options = 
-expanded list of hosts = "127.0.0.1" options = 
+remote in "*"?
+ list element: *
+ remote in "*"? yes (matched "*")
+original list of hosts = '127.0.0.1' options = ''
+expanded list of hosts = '127.0.0.1' options = ''
 set transport t2
 finding IP address for 127.0.0.1
 calling host_find_byname
 set transport t2
 finding IP address for 127.0.0.1
 calling host_find_byname
@@ -58,19 +75,23 @@ remote host address is the local host: remote: configured to try delivery anyway
 queued for t2 transport: local_part = qq
 domain = remote
   errors_to=NULL
 queued for t2 transport: local_part = qq
 domain = remote
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=remote local_part_data=NULL
 routed by r2 router
   envelope to: qq@remote
   transport: t2
   host 127.0.0.1 [127.0.0.1]
 ----------- end verify ------------
 sender qq@remote verified ok
 routed by r2 router
   envelope to: qq@remote
   transport: t2
   host 127.0.0.1 [127.0.0.1]
 ----------- end verify ------------
 sender qq@remote verified ok
-deny: condition test failed
-processing "warn"
+deny: condition test failed in ACL "rcpt"
+processing "warn" (TESTSUITE/test-config 21)
 check senders = qq@remote
 check senders = qq@remote
-address match: subject=qq@remote pattern=qq@remote
-remote in "remote"? yes (matched "remote")
-qq@remote in "qq@remote"? yes (matched "qq@remote")
+qq@remote in "qq@remote"?
+ list element: qq@remote
+ address match test: subject=qq@remote pattern=qq@remote
+ remote in "remote"?
+  list element: remote
+  remote in "remote"? yes (matched "remote")
+ qq@remote in "qq@remote"? yes (matched "qq@remote")
 check !verify = sender/callout
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Verifying qq@remote
 check !verify = sender/callout
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Verifying qq@remote
@@ -81,19 +102,25 @@ routing qq@remote
 --------> r1 router <--------
 local_part=qq domain=remote
 checking domains
 --------> r1 router <--------
 local_part=qq domain=remote
 checking domains
-remote in "local"? no (end of list)
+remote in domains?
+ list element: local
+remote in domains? no (end of list)
 r1 router skipped: domains mismatch
 --------> r2 router <--------
 local_part=qq domain=remote
 checking domains
 r1 router skipped: domains mismatch
 --------> r2 router <--------
 local_part=qq domain=remote
 checking domains
-remote in "remote"? yes (matched "remote")
+remote in domains?
+ list element: remote
+ remote in domains? yes (matched "remote")
 calling r2 router
 r2 router called for qq@remote
   domain = remote
 route_item = * 127.0.0.1
 calling r2 router
 r2 router called for qq@remote
   domain = remote
 route_item = * 127.0.0.1
-remote in "*"? yes (matched "*")
-original list of hosts = "127.0.0.1" options = 
-expanded list of hosts = "127.0.0.1" options = 
+remote in "*"?
+ list element: *
+ remote in "*"? yes (matched "*")
+original list of hosts = '127.0.0.1' options = ''
+expanded list of hosts = '127.0.0.1' options = ''
 finding IP address for 127.0.0.1
 calling host_find_byname
 using host_fake_gethostbyname for 127.0.0.1 (IPv4)
 finding IP address for 127.0.0.1
 calling host_find_byname
 using host_fake_gethostbyname for 127.0.0.1 (IPv4)
@@ -106,67 +133,98 @@ remote host address is the local host: remote: configured to try delivery anyway
 queued for t2 transport: local_part = qq
 domain = remote
   errors_to=NULL
 queued for t2 transport: local_part = qq
 domain = remote
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=remote local_part_data=NULL
 routed by r2 router
   envelope to: qq@remote
   transport: t2
   host 127.0.0.1 [127.0.0.1]
 Attempting full verification using callout
 routed by r2 router
   envelope to: qq@remote
   transport: t2
   host 127.0.0.1 [127.0.0.1]
 Attempting full verification using callout
-locking TESTSUITE/spool/db/callout.lockfile
-locked TESTSUITE/spool/db/callout.lockfile
-EXIM_DBOPEN(TESTSUITE/spool/db/callout)
-returned from EXIM_DBOPEN
-opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR
-dbfn_read: key=remote
-callout cache: found domain record
-dbfn_read: key=qq@remote
-callout cache: no address record found
-interface=NULL port=1224
-Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ EXIM_DBOPEN: file <TESTSUITE/spool/db/callout> dir <TESTSUITE/spool/db> flags=O_RDWR
+ returned from EXIM_DBOPEN: 0xAAAAAAAA
+ opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR
+ dbfn_read: key=remote
+ dbfn_read: size 40 return
+ callout cache: found domain record for remote
+ dbfn_read: key=qq@remote
+ dbfn_read: null return
+ callout cache: no address record found for qq@remote
+ EXIM_DBCLOSE(0xAAAAAAAA)
+ closed hints database
+interface=NULL port=PORT_S
+Connecting to 127.0.0.1 [127.0.0.1]:PORT_S ...
+ 127.0.0.1 in hosts_try_fastopen?
+  list element: 
+connected
   SMTP<< 220 Server ready
   SMTP<< 220 Server ready
-  SMTP>> HELO mail.test.ex
+127.0.0.1 in hosts_avoid_esmtp? no (option unset)
+  SMTP>> EHLO mail.test.ex
+cmd buf flush ddd bytes
   SMTP<< 250 OK
   SMTP<< 250 OK
+not using PIPELINING
+not using DSN
+127.0.0.1 in hosts_require_auth? no (option unset)
   SMTP>> MAIL FROM:<>
   SMTP>> MAIL FROM:<>
+cmd buf flush ddd bytes
   SMTP<< 250 OK
   SMTP>> RCPT TO:<qq@remote>
   SMTP<< 250 OK
   SMTP>> RCPT TO:<qq@remote>
+cmd buf flush ddd bytes
+sync_responses expect rcpt for qq@remote
   SMTP<< 550 Unknown
   SMTP>> QUIT
   SMTP<< 550 Unknown
   SMTP>> QUIT
-locking TESTSUITE/spool/db/callout.lockfile
-locked TESTSUITE/spool/db/callout.lockfile
-EXIM_DBOPEN(TESTSUITE/spool/db/callout)
-returned from EXIM_DBOPEN
-opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR|O_CREAT
-dbfn_write: key=remote
-wrote callout cache domain record:
-  result=1 postmaster=0 random=0
-dbfn_write: key=qq@remote
-wrote negative callout cache address record
+cmd buf flush ddd bytes
+  SMTP<< 250 OK
+  SMTP(close)>>
+cmdlog: '220:EHLO:250:MAIL:250:RCPT:550:QUIT:250'
+ EXIM_DBOPEN: file <TESTSUITE/spool/db/callout> dir <TESTSUITE/spool/db> flags=O_RDWR
+ returned from EXIM_DBOPEN: 0xAAAAAAAA
+ opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR
+ dbfn_write: key=remote datalen 40
+ wrote callout cache domain record for remote:
+   result=1 postmaster=0 random=0
+ dbfn_write: key=qq@remote datalen 16
+ wrote negative callout cache address record for qq@remote
+ EXIM_DBCLOSE(0xAAAAAAAA)
+ closed hints database
 ----------- end verify ------------
 ----------- end verify ------------
-warn: condition test succeeded
+l_message: $acl_verify_message
+warn: condition test succeeded in ACL "rcpt"
 LOG: MAIN
 LOG: MAIN
-  U=CALLER Warning: Sender verify failed: response to "RCPT TO:<qq@remote>" from 127.0.0.1 [127.0.0.1] was: 550 Unknown
-processing "accept"
+  U=CALLER Warning: Sender verify failed: 127.0.0.1 [127.0.0.1] : SMTP error from remote mail server after RCPT TO:<qq@remote>: 550 Unknown
+processing "accept" (TESTSUITE/test-config 24)
 check senders = qq@remote
 check senders = qq@remote
-address match: subject=qq@remote pattern=qq@remote
-remote in "remote"? yes (matched "remote")
-qq@remote in "qq@remote"? yes (matched "qq@remote")
-accept: condition test succeeded
-SMTP>> 250 Accepted\r
+qq@remote in "qq@remote"?
+ list element: qq@remote
+ address match test: subject=qq@remote pattern=qq@remote
+ remote in "remote"?
+  list element: remote
+  remote in "remote"? yes (matched "remote")
+ qq@remote in "qq@remote"? yes (matched "qq@remote")
+accept: condition test succeeded in ACL "rcpt"
+end of ACL "rcpt": ACCEPT
+SMTP>> 250 Accepted
 SMTP<< rcpt to:<xyz@local>
 using ACL "rcpt"
 SMTP<< rcpt to:<xyz@local>
 using ACL "rcpt"
-processing "deny"
+processing "deny" (TESTSUITE/test-config 19)
 check senders = qq@remote
 check senders = qq@remote
-address match: subject=qq@remote pattern=qq@remote
-remote in "remote"? yes (matched "remote")
-qq@remote in "qq@remote"? yes (matched "qq@remote")
+qq@remote in "qq@remote"?
+ list element: qq@remote
+ address match test: subject=qq@remote pattern=qq@remote
+ remote in "remote"?
+  list element: remote
+  remote in "remote"? yes (matched "remote")
+ qq@remote in "qq@remote"? yes (matched "qq@remote")
 check !verify = sender
 using cached sender verify result
 check !verify = sender
 using cached sender verify result
-deny: condition test failed
-processing "warn"
+deny: condition test failed in ACL "rcpt"
+processing "warn" (TESTSUITE/test-config 21)
 check senders = qq@remote
 check senders = qq@remote
-address match: subject=qq@remote pattern=qq@remote
-remote in "remote"? yes (matched "remote")
-qq@remote in "qq@remote"? yes (matched "qq@remote")
+qq@remote in "qq@remote"?
+ list element: qq@remote
+ address match test: subject=qq@remote pattern=qq@remote
+ remote in "remote"?
+  list element: remote
+  remote in "remote"? yes (matched "remote")
+ qq@remote in "qq@remote"? yes (matched "qq@remote")
 check !verify = sender/callout
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Verifying qq@remote
 check !verify = sender/callout
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Verifying qq@remote
@@ -177,19 +235,25 @@ routing qq@remote
 --------> r1 router <--------
 local_part=qq domain=remote
 checking domains
 --------> r1 router <--------
 local_part=qq domain=remote
 checking domains
-remote in "local"? no (end of list)
+remote in domains?
+ list element: local
+remote in domains? no (end of list)
 r1 router skipped: domains mismatch
 --------> r2 router <--------
 local_part=qq domain=remote
 checking domains
 r1 router skipped: domains mismatch
 --------> r2 router <--------
 local_part=qq domain=remote
 checking domains
-remote in "remote"? yes (matched "remote")
+remote in domains?
+ list element: remote
+ remote in domains? yes (matched "remote")
 calling r2 router
 r2 router called for qq@remote
   domain = remote
 route_item = * 127.0.0.1
 calling r2 router
 r2 router called for qq@remote
   domain = remote
 route_item = * 127.0.0.1
-remote in "*"? yes (matched "*")
-original list of hosts = "127.0.0.1" options = 
-expanded list of hosts = "127.0.0.1" options = 
+remote in "*"?
+ list element: *
+ remote in "*"? yes (matched "*")
+original list of hosts = '127.0.0.1' options = ''
+expanded list of hosts = '127.0.0.1' options = ''
 finding IP address for 127.0.0.1
 calling host_find_byname
 using host_fake_gethostbyname for 127.0.0.1 (IPv4)
 finding IP address for 127.0.0.1
 calling host_find_byname
 using host_fake_gethostbyname for 127.0.0.1 (IPv4)
@@ -202,36 +266,44 @@ remote host address is the local host: remote: configured to try delivery anyway
 queued for t2 transport: local_part = qq
 domain = remote
   errors_to=NULL
 queued for t2 transport: local_part = qq
 domain = remote
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=remote local_part_data=NULL
 routed by r2 router
   envelope to: qq@remote
   transport: t2
   host 127.0.0.1 [127.0.0.1]
 Attempting full verification using callout
 routed by r2 router
   envelope to: qq@remote
   transport: t2
   host 127.0.0.1 [127.0.0.1]
 Attempting full verification using callout
-locking TESTSUITE/spool/db/callout.lockfile
-locked TESTSUITE/spool/db/callout.lockfile
-EXIM_DBOPEN(TESTSUITE/spool/db/callout)
-returned from EXIM_DBOPEN
-opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR
-dbfn_read: key=remote
-callout cache: found domain record
-dbfn_read: key=qq@remote
-callout cache: found address record
-callout cache: address record is negative
+ EXIM_DBOPEN: file <TESTSUITE/spool/db/callout> dir <TESTSUITE/spool/db> flags=O_RDWR
+ returned from EXIM_DBOPEN: 0xAAAAAAAA
+ opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR
+ dbfn_read: key=remote
+ dbfn_read: size 40 return
+ callout cache: found domain record for remote
+ dbfn_read: key=qq@remote
+ dbfn_read: size 16 return
+ callout cache: found address record for qq@remote
+ callout cache: address record is negative
+ EXIM_DBCLOSE(0xAAAAAAAA)
+ closed hints database
 ----------- end verify ------------
 ----------- end verify ------------
-warn: condition test succeeded
+l_message: $acl_verify_message
+warn: condition test succeeded in ACL "rcpt"
 LOG: MAIN
   U=CALLER Warning: Sender verify failed
 LOG: MAIN
   U=CALLER Warning: Sender verify failed
-processing "accept"
+processing "accept" (TESTSUITE/test-config 24)
 check senders = qq@remote
 check senders = qq@remote
-address match: subject=qq@remote pattern=qq@remote
-remote in "remote"? yes (matched "remote")
-qq@remote in "qq@remote"? yes (matched "qq@remote")
-accept: condition test succeeded
-SMTP>> 250 Accepted\r
+qq@remote in "qq@remote"?
+ list element: qq@remote
+ address match test: subject=qq@remote pattern=qq@remote
+ remote in "remote"?
+  list element: remote
+  remote in "remote"? yes (matched "remote")
+ qq@remote in "qq@remote"? yes (matched "qq@remote")
+accept: condition test succeeded in ACL "rcpt"
+end of ACL "rcpt": ACCEPT
+SMTP>> 250 Accepted
 SMTP<< quit
 SMTP<< quit
-SMTP>> 221 mail.test.ex closing connection\r
+SMTP>> 221 mail.test.ex closing connection
 LOG: smtp_connection MAIN
 LOG: smtp_connection MAIN
-  SMTP connection from CALLER closed by QUIT
+  SMTP connection from CALLER D=qqs closed by QUIT
 search_tidyup called
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>