deferred" (because it isn't necessarily a lookup in the Exim sense).
-/* $Cambridge: exim/src/src/match.c,v 1.12 2006/02/07 11:19:00 ph10 Exp $ */
+/* $Cambridge: exim/src/src/match.c,v 1.13 2006/04/04 09:48:50 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
/*************************************************
* Exim - an Internet mail transport agent *
FAIL if expansion force-failed
FAIL if matched a negated item
FAIL if hit end of list after a non-negated item
FAIL if expansion force-failed
FAIL if matched a negated item
FAIL if hit end of list after a non-negated item
- DEFER if a lookup deferred or expansion failed
+ DEFER if a something deferred or expansion failed
debug_printf("%s %s (end of list)\n", ot, (yield == OK)? "no":"yes");
return (yield == OK)? FAIL : OK;
debug_printf("%s %s (end of list)\n", ot, (yield == OK)? "no":"yes");
return (yield == OK)? FAIL : OK;
-/* Handle lookup defer */
+/* Something deferred */
-HDEBUG(D_lists) debug_printf("%s lookup deferred for %s\n", ot, sss);
+HDEBUG(D_lists) debug_printf("%s list match deferred for %s\n", ot, sss);
-/* $Cambridge: exim/src/src/version.c,v 1.14 2006/03/20 10:55:21 ph10 Exp $ */
+/* $Cambridge: exim/src/src/version.c,v 1.15 2006/04/04 09:48:50 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
/*************************************************
* Exim - an Internet mail transport agent *
-#define THIS_VERSION "4.61-RC1"
+#define THIS_VERSION "4.61"
/* The header file cnumber.h contains a single line containing the
/* The header file cnumber.h contains a single line containing the
>>> processing "deny"
>>> check hosts = 1.2.3.4 : <; 1.2.3.4::5.6.7.8
LOG: unknown lookup type "<" in host list item "<; 1.2.3.4:5.6.7.8"
>>> processing "deny"
>>> check hosts = 1.2.3.4 : <; 1.2.3.4::5.6.7.8
LOG: unknown lookup type "<" in host list item "<; 1.2.3.4:5.6.7.8"
->>> host in "1.2.3.4 : <; 1.2.3.4::5.6.7.8"? lookup deferred for <; 1.2.3.4:5.6.7.8
+>>> host in "1.2.3.4 : <; 1.2.3.4::5.6.7.8"? list match deferred for <; 1.2.3.4:5.6.7.8
>>> deny: condition test deferred
LOG: H=[V4NET.0.0.0] F=<> temporarily rejected RCPT <a1@b>: unknown lookup type "<"
>>> using ACL "a2"
>>> deny: condition test deferred
LOG: H=[V4NET.0.0.0] F=<> temporarily rejected RCPT <a1@b>: unknown lookup type "<"
>>> using ACL "a2"
>>> using ACL "acl_1_1_1"
>>> processing "accept"
>>> check hosts = net-testdb;defer
>>> using ACL "acl_1_1_1"
>>> processing "accept"
>>> check hosts = net-testdb;defer
->>> host in "net-testdb;defer"? lookup deferred for net-testdb;defer
+>>> host in "net-testdb;defer"? list match deferred for net-testdb;defer
>>> accept: condition test deferred
LOG: H=[1.1.1.1] F=<x@y> temporarily rejected RCPT <x@y>: testdb lookup forced DEFER
>>> host in hosts_connection_nolog? no (option unset)
>>> accept: condition test deferred
LOG: H=[1.1.1.1] F=<x@y> temporarily rejected RCPT <x@y>: testdb lookup forced DEFER
>>> host in hosts_connection_nolog? no (option unset)
>>> using ACL "acl_1_1_2"
>>> processing "deny"
>>> check domains = testdb;defer
>>> using ACL "acl_1_1_2"
>>> processing "deny"
>>> check domains = testdb;defer
->>> y in "testdb;defer"? lookup deferred for testdb;defer
+>>> y in "testdb;defer"? list match deferred for testdb;defer
>>> deny: condition test deferred
LOG: H=[1.1.2.1] F=<x@y> temporarily rejected RCPT <x@y>: testdb lookup forced DEFER
>>> host in hosts_connection_nolog? no (option unset)
>>> deny: condition test deferred
LOG: H=[1.1.2.1] F=<x@y> temporarily rejected RCPT <x@y>: testdb lookup forced DEFER
>>> host in hosts_connection_nolog? no (option unset)
>>> using ACL "acl_1_1_3"
>>> processing "require"
>>> check local_parts = testdb;defer
>>> using ACL "acl_1_1_3"
>>> processing "require"
>>> check local_parts = testdb;defer
->>> x in "testdb;defer"? lookup deferred for testdb;defer
+>>> x in "testdb;defer"? list match deferred for testdb;defer
>>> require: condition test deferred
LOG: H=[1.1.3.1] F=<x@y> temporarily rejected RCPT <x@y>: testdb lookup forced DEFER
>>> require: condition test deferred
LOG: H=[1.1.3.1] F=<x@y> temporarily rejected RCPT <x@y>: testdb lookup forced DEFER
>>> using ACL "check_recipient"
>>> processing "deny"
>>> check senders = testdb;defer
>>> using ACL "check_recipient"
>>> processing "deny"
>>> check senders = testdb;defer
->>> userx@somehost.example.com in "testdb;defer"? lookup deferred for testdb;defer
+>>> userx@somehost.example.com in "testdb;defer"? list match deferred for testdb;defer
>>> deny: condition test deferred
LOG: H=[1.2.3.4] F=<userx@somehost.example.com> temporarily rejected RCPT <x@y>: testdb lookup forced DEFER
>>> deny: condition test deferred
LOG: H=[1.2.3.4] F=<userx@somehost.example.com> temporarily rejected RCPT <x@y>: testdb lookup forced DEFER
>>> using ACL "acl_1_2_3_4"
>>> processing "deny"
>>> check senders = testdb;defer
>>> using ACL "acl_1_2_3_4"
>>> processing "deny"
>>> check senders = testdb;defer
->>> userx@external.test.ex in "testdb;defer"? lookup deferred for testdb;defer
+>>> userx@external.test.ex in "testdb;defer"? list match deferred for testdb;defer
>>> deny: condition test deferred
LOG: H=[1.2.3.4] F=<userx@external.test.ex> temporarily rejected RCPT <userx@test.ex>: testdb lookup forced DEFER
>>> host in hosts_connection_nolog? no (option unset)
>>> deny: condition test deferred
LOG: H=[1.2.3.4] F=<userx@external.test.ex> temporarily rejected RCPT <userx@test.ex>: testdb lookup forced DEFER
>>> host in hosts_connection_nolog? no (option unset)
>>> accept: condition test failed
>>> processing "deny"
>>> check hosts = testdb;defer
>>> accept: condition test failed
>>> processing "deny"
>>> check hosts = testdb;defer
->>> host in "testdb;defer"? lookup deferred for testdb;defer
+>>> host in "testdb;defer"? list match deferred for testdb;defer
>>> deny: condition test deferred
LOG: H=[4.3.2.1] F=<userx@external.test.ex> temporarily rejected RCPT <userx@test.ex>: testdb lookup forced DEFER
>>> deny: condition test deferred
LOG: H=[4.3.2.1] F=<userx@external.test.ex> temporarily rejected RCPT <userx@test.ex>: testdb lookup forced DEFER
>>> test.ex in "!*relay.ex : test.ex : testhack.ex : testhack2.ex : testdb;defer"? yes (matched "test.ex")
>>> test.ex in "+local_domains"? yes (matched "+local_domains")
>>> accept: condition test succeeded
>>> test.ex in "!*relay.ex : test.ex : testhack.ex : testhack2.ex : testdb;defer"? yes (matched "test.ex")
>>> test.ex in "+local_domains"? yes (matched "+local_domains")
>>> accept: condition test succeeded
->>> other.ex in percent_hack_domains? lookup deferred for testdb;defer
+>>> other.ex in percent_hack_domains? list match deferred for testdb;defer
LOG: H=(remote.host) [V4NET.0.0.1] F=<user@remote.host> temporarily rejected RCPT <a@other.ex>: defer in percent_hack_domains check
>>> testhack.ex in percent_hack_domains? yes (matched "testhack.ex")
LOG: H=(remote.host) [V4NET.0.0.1] F=<user@remote.host> temporarily rejected RCPT <a@other.ex>: defer in percent_hack_domains check
>>> testhack.ex in percent_hack_domains? yes (matched "testhack.ex")
->>> b in percent_hack_domains? lookup deferred for testdb;defer
+>>> b in percent_hack_domains? list match deferred for testdb;defer
LOG: H=(remote.host) [V4NET.0.0.1] F=<user@remote.host> temporarily rejected RCPT <a%b@testhack.ex>: defer in percent_hack_domains check
>>> test.ex in percent_hack_domains? no (matched "!test.ex")
>>> using ACL "check_recipient"
LOG: H=(remote.host) [V4NET.0.0.1] F=<user@remote.host> temporarily rejected RCPT <a%b@testhack.ex>: defer in percent_hack_domains check
>>> test.ex in percent_hack_domains? no (matched "!test.ex")
>>> using ACL "check_recipient"
>>> test.ex in "!*relay.ex : test.ex : testhack.ex : testhack2.ex : testdb;defer"? yes (matched "test.ex")
>>> test.ex in "+local_domains"? yes (matched "+local_domains")
>>> accept: condition test succeeded
>>> test.ex in "!*relay.ex : test.ex : testhack.ex : testhack2.ex : testdb;defer"? yes (matched "test.ex")
>>> test.ex in "+local_domains"? yes (matched "+local_domains")
>>> accept: condition test succeeded
->>> testhack2.ex in percent_hack_domains? lookup deferred for testdb;defer
+>>> testhack2.ex in percent_hack_domains? list match deferred for testdb;defer
LOG: H=(remote.host) [V4NET.0.0.1] F=<user@remote.host> temporarily rejected RCPT <a%b@testhack2.ex>: defer in percent_hack_domains check
>>> yesrelay.ex in percent_hack_domains? no (matched "!*relay.ex")
>>> using ACL "check_recipient"
LOG: H=(remote.host) [V4NET.0.0.1] F=<user@remote.host> temporarily rejected RCPT <a%b@testhack2.ex>: defer in percent_hack_domains check
>>> yesrelay.ex in percent_hack_domains? no (matched "!*relay.ex")
>>> using ACL "check_recipient"
>>> accept: condition test failed
>>> processing "accept"
>>> check domains = +relay_domains
>>> accept: condition test failed
>>> processing "accept"
>>> check domains = +relay_domains
->>> norelay.ex in "test.ex : testhack.ex : testhack2.ex : yesrelay.ex : testdb;defer"? lookup deferred for testdb;defer
->>> norelay.ex in "+relay_domains"? lookup deferred for +relay_domains
+>>> norelay.ex in "test.ex : testhack.ex : testhack2.ex : yesrelay.ex : testdb;defer"? list match deferred for testdb;defer
+>>> norelay.ex in "+relay_domains"? list match deferred for +relay_domains
>>> accept: condition test deferred
LOG: H=(remote.host) [V4NET.0.0.1] F=<user@remote.host> temporarily rejected RCPT <a@norelay.ex>: testdb lookup forced DEFER
>>> testhack.ex in percent_hack_domains? yes (matched "testhack.ex")
>>> accept: condition test deferred
LOG: H=(remote.host) [V4NET.0.0.1] F=<user@remote.host> temporarily rejected RCPT <a@norelay.ex>: testdb lookup forced DEFER
>>> testhack.ex in percent_hack_domains? yes (matched "testhack.ex")
>>> accept: condition test failed
>>> processing "accept"
>>> check domains = +relay_domains
>>> accept: condition test failed
>>> processing "accept"
>>> check domains = +relay_domains
->>> norelay.ex in "test.ex : testhack.ex : testhack2.ex : yesrelay.ex : testdb;defer"? lookup deferred for testdb;defer
->>> norelay.ex in "+relay_domains"? lookup deferred for +relay_domains
+>>> norelay.ex in "test.ex : testhack.ex : testhack2.ex : yesrelay.ex : testdb;defer"? list match deferred for testdb;defer
+>>> norelay.ex in "+relay_domains"? list match deferred for +relay_domains
>>> accept: condition test deferred
LOG: H=(remote.host) [V4NET.0.0.1] F=<user@remote.host> temporarily rejected RCPT <a%norelay.ex@testhack.ex>: testdb lookup forced DEFER
>>> accept: condition test deferred
LOG: H=(remote.host) [V4NET.0.0.1] F=<user@remote.host> temporarily rejected RCPT <a%norelay.ex@testhack.ex>: testdb lookup forced DEFER
database lookup required for defer
testdb lookup forced DEFER
lookup deferred: testdb lookup forced DEFER
database lookup required for defer
testdb lookup forced DEFER
lookup deferred: testdb lookup forced DEFER
-test.ex in "testdb;defer"? lookup deferred for testdb;defer
-test.ex in "+defer_lookup : test.ex"? lookup deferred for +defer_lookup
-test.ex in "! +local_domains"? lookup deferred for ! +local_domains
+test.ex in "testdb;defer"? list match deferred for testdb;defer
+test.ex in "+defer_lookup : test.ex"? list match deferred for +defer_lookup
+test.ex in "! +local_domains"? list match deferred for ! +local_domains
domains check lookup or other defer
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=1 >>>>>>>>>>>>>>>>
domains check lookup or other defer
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=1 >>>>>>>>>>>>>>>>