Hintsdb: fix dumpdb for sqlite
[exim.git] / test / stderr / 0023
index b7588756b89cc4e1a23bf51ce78e3dcc31b77056..78783ded61cfee2679156eee5d32ba4bf6c0fbcb 100644 (file)
@@ -6,14 +6,22 @@
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 44)
 >>> check domains = !nopass
+>>> test.ex in "!nopass"?
+>>>  list element: !nopass
 >>> test.ex in "!nopass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 46)
 >>>   message: $local_part@$domain shall not pass
 >>> check domains = !wontpass
+>>> test.ex in "!wontpass"?
+>>>  list element: !wontpass
 >>> test.ex in "!wontpass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "deny" (TESTSUITE/test-config 49)
 >>> l_message: DOMAIN EXPLICITLY DENIED
 >>> check continue = this value is not used
 >>> check domains = deny.test.ex
+>>> test.ex in "deny.test.ex"?
+>>>  list element: deny.test.ex
 >>> test.ex in "deny.test.ex"? no (end of list)
 >>> deny: condition test failed in ACL "acl_1_2_3"
 >>> processing "accept" (TESTSUITE/test-config 54)
 >>> check domains = +local_domains
->>> test.ex in "test.ex : *.test.ex"? yes (matched "test.ex")
->>> test.ex in "+local_domains"? yes (matched "+local_domains")
+>>> test.ex in "+local_domains"?
+>>>  list element: +local_domains
+>>>   start sublist local_domains
+>>>    test.ex in "test.ex : *.test.ex"?
+>>>    ╎list element: test.ex
+>>>    ╎test.ex in "test.ex : *.test.ex"? yes (matched "test.ex")
+>>>   end sublist local_domains
+>>>  data from lookup saved for cache for +local_domains: key 'test.ex' value 'test.ex'
+>>>  test.ex in "+local_domains"? yes (matched "+local_domains")
 >>>   message: $domain gets refused
 >>> check domains = !refuse.test.ex
+>>> test.ex in "!refuse.test.ex"?
+>>>  list element: !refuse.test.ex
 >>> test.ex in "!refuse.test.ex"? yes (end of list)
 >>> accept: condition test succeeded in ACL "acl_1_2_3"
 >>> end of ACL "acl_1_2_3": ACCEPT
 >>> using ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 44)
 >>> check domains = !nopass
+>>> z in "!nopass"?
+>>>  list element: !nopass
 >>> z in "!nopass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 46)
 >>>   message: $local_part@$domain shall not pass
 >>> check domains = !wontpass
+>>> z in "!wontpass"?
+>>>  list element: !wontpass
 >>> z in "!wontpass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "deny" (TESTSUITE/test-config 49)
 >>> l_message: DOMAIN EXPLICITLY DENIED
 >>> check continue = this value is not used
 >>> check domains = deny.test.ex
+>>> z in "deny.test.ex"?
+>>>  list element: deny.test.ex
 >>> z in "deny.test.ex"? no (end of list)
 >>> deny: condition test failed in ACL "acl_1_2_3"
 >>> processing "accept" (TESTSUITE/test-config 54)
 >>> check domains = +local_domains
->>> z in "test.ex : *.test.ex"? no (end of list)
+>>> z in "+local_domains"?
+>>>  list element: +local_domains
+>>>   start sublist local_domains
+>>>    z in "test.ex : *.test.ex"?
+>>>    ╎list element: test.ex
+>>>    ╎list element: *.test.ex
+>>>    z in "test.ex : *.test.ex"? no (end of list)
+>>>   end sublist local_domains
 >>> z in "+local_domains"? no (end of list)
 >>> accept: condition test failed in ACL "acl_1_2_3"
 >>> processing "accept" (TESTSUITE/test-config 60)
 >>> check domains = +relay_domains
->>> z in "relay.test.ex"? no (end of list)
+>>> z in "+relay_domains"?
+>>>  list element: +relay_domains
+>>>   start sublist relay_domains
+>>>    z in "relay.test.ex"?
+>>>    ╎list element: relay.test.ex
+>>>    z in "relay.test.ex"? no (end of list)
+>>>   end sublist relay_domains
 >>> z in "+relay_domains"? no (end of list)
 >>> accept: condition test failed in ACL "acl_1_2_3"
 >>> processing "accept" (TESTSUITE/test-config 61)
 >>> check domains = +relay_domains
+>>> z in "+relay_domains"?
+>>>  list element: +relay_domains
+>>>   start sublist relay_domains
+>>>  cached no match for +relay_domains
+>>>  cached lookup data = NULL
 >>> z in "+relay_domains"? no (end of list)
 >>> accept: condition test failed in ACL "acl_1_2_3"
 >>> end of ACL "acl_1_2_3": implicit DENY
-LOG: H=[1.2.3.4] F=<x@y> rejected RCPT <z@z>
+LOG: H=(test) [1.2.3.4] F=<x@y> rejected RCPT <z@z>
 >>> using ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 44)
 >>> check domains = !nopass
+>>> test.ex in "!nopass"?
+>>>  list element: !nopass
 >>> test.ex in "!nopass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 46)
 >>>   message: $local_part@$domain shall not pass
 >>> check domains = !wontpass
+>>> test.ex in "!wontpass"?
+>>>  list element: !wontpass
 >>> test.ex in "!wontpass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "deny" (TESTSUITE/test-config 49)
@@ -80,25 +127,40 @@ LOG: H=[1.2.3.4] F=<x@y> rejected RCPT <z@z>
 >>> l_message: DOMAIN EXPLICITLY DENIED
 >>> check continue = this value is not used
 >>> check domains = deny.test.ex
+>>> test.ex in "deny.test.ex"?
+>>>  list element: deny.test.ex
 >>> test.ex in "deny.test.ex"? no (end of list)
 >>> deny: condition test failed in ACL "acl_1_2_3"
 >>> processing "accept" (TESTSUITE/test-config 54)
 >>> check domains = +local_domains
->>> test.ex in "test.ex : *.test.ex"? yes (matched "test.ex")
->>> test.ex in "+local_domains"? yes (matched "+local_domains")
+>>> test.ex in "+local_domains"?
+>>>  list element: +local_domains
+>>>   start sublist local_domains
+>>>    test.ex in "test.ex : *.test.ex"?
+>>>    ╎list element: test.ex
+>>>    ╎test.ex in "test.ex : *.test.ex"? yes (matched "test.ex")
+>>>   end sublist local_domains
+>>>  data from lookup saved for cache for +local_domains: key 'test.ex' value 'test.ex'
+>>>  test.ex in "+local_domains"? yes (matched "+local_domains")
 >>>   message: $domain gets refused
 >>> check domains = !refuse.test.ex
+>>> test.ex in "!refuse.test.ex"?
+>>>  list element: !refuse.test.ex
 >>> test.ex in "!refuse.test.ex"? yes (end of list)
 >>> accept: condition test succeeded in ACL "acl_1_2_3"
 >>> end of ACL "acl_1_2_3": ACCEPT
 >>> using ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 44)
 >>> check domains = !nopass
+>>> test.ex in "!nopass"?
+>>>  list element: !nopass
 >>> test.ex in "!nopass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 46)
 >>>   message: $local_part@$domain shall not pass
 >>> check domains = !wontpass
+>>> test.ex in "!wontpass"?
+>>>  list element: !wontpass
 >>> test.ex in "!wontpass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "deny" (TESTSUITE/test-config 49)
@@ -106,25 +168,40 @@ LOG: H=[1.2.3.4] F=<x@y> rejected RCPT <z@z>
 >>> l_message: DOMAIN EXPLICITLY DENIED
 >>> check continue = this value is not used
 >>> check domains = deny.test.ex
+>>> test.ex in "deny.test.ex"?
+>>>  list element: deny.test.ex
 >>> test.ex in "deny.test.ex"? no (end of list)
 >>> deny: condition test failed in ACL "acl_1_2_3"
 >>> processing "accept" (TESTSUITE/test-config 54)
 >>> check domains = +local_domains
->>> test.ex in "test.ex : *.test.ex"? yes (matched "test.ex")
->>> test.ex in "+local_domains"? yes (matched "+local_domains")
+>>> test.ex in "+local_domains"?
+>>>  list element: +local_domains
+>>>   start sublist local_domains
+>>>    test.ex in "test.ex : *.test.ex"?
+>>>    ╎list element: test.ex
+>>>    ╎test.ex in "test.ex : *.test.ex"? yes (matched "test.ex")
+>>>   end sublist local_domains
+>>>  data from lookup saved for cache for +local_domains: key 'test.ex' value 'test.ex'
+>>>  test.ex in "+local_domains"? yes (matched "+local_domains")
 >>>   message: $domain gets refused
 >>> check domains = !refuse.test.ex
+>>> test.ex in "!refuse.test.ex"?
+>>>  list element: !refuse.test.ex
 >>> test.ex in "!refuse.test.ex"? yes (end of list)
 >>> accept: condition test succeeded in ACL "acl_1_2_3"
 >>> end of ACL "acl_1_2_3": ACCEPT
 >>> using ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 44)
 >>> check domains = !nopass
+>>> relay.test.ex in "!nopass"?
+>>>  list element: !nopass
 >>> relay.test.ex in "!nopass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 46)
 >>>   message: $local_part@$domain shall not pass
 >>> check domains = !wontpass
+>>> relay.test.ex in "!wontpass"?
+>>>  list element: !wontpass
 >>> relay.test.ex in "!wontpass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "deny" (TESTSUITE/test-config 49)
@@ -132,25 +209,41 @@ LOG: H=[1.2.3.4] F=<x@y> rejected RCPT <z@z>
 >>> l_message: DOMAIN EXPLICITLY DENIED
 >>> check continue = this value is not used
 >>> check domains = deny.test.ex
+>>> relay.test.ex in "deny.test.ex"?
+>>>  list element: deny.test.ex
 >>> relay.test.ex in "deny.test.ex"? no (end of list)
 >>> deny: condition test failed in ACL "acl_1_2_3"
 >>> processing "accept" (TESTSUITE/test-config 54)
 >>> check domains = +local_domains
->>> relay.test.ex in "test.ex : *.test.ex"? yes (matched "*.test.ex")
->>> relay.test.ex in "+local_domains"? yes (matched "+local_domains")
+>>> relay.test.ex in "+local_domains"?
+>>>  list element: +local_domains
+>>>   start sublist local_domains
+>>>    relay.test.ex in "test.ex : *.test.ex"?
+>>>    ╎list element: test.ex
+>>>    ╎list element: *.test.ex
+>>>    ╎relay.test.ex in "test.ex : *.test.ex"? yes (matched "*.test.ex")
+>>>   end sublist local_domains
+>>>  data from lookup saved for cache for +local_domains: key 'relay.test.ex' value '*.test.ex'
+>>>  relay.test.ex in "+local_domains"? yes (matched "+local_domains")
 >>>   message: $domain gets refused
 >>> check domains = !refuse.test.ex
+>>> relay.test.ex in "!refuse.test.ex"?
+>>>  list element: !refuse.test.ex
 >>> relay.test.ex in "!refuse.test.ex"? yes (end of list)
 >>> accept: condition test succeeded in ACL "acl_1_2_3"
 >>> end of ACL "acl_1_2_3": ACCEPT
 >>> using ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 44)
 >>> check domains = !nopass
+>>> deny.test.ex in "!nopass"?
+>>>  list element: !nopass
 >>> deny.test.ex in "!nopass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 46)
 >>>   message: $local_part@$domain shall not pass
 >>> check domains = !wontpass
+>>> deny.test.ex in "!wontpass"?
+>>>  list element: !wontpass
 >>> deny.test.ex in "!wontpass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "deny" (TESTSUITE/test-config 49)
@@ -158,18 +251,24 @@ LOG: H=[1.2.3.4] F=<x@y> rejected RCPT <z@z>
 >>> l_message: DOMAIN EXPLICITLY DENIED
 >>> check continue = this value is not used
 >>> check domains = deny.test.ex
->>> deny.test.ex in "deny.test.ex"? yes (matched "deny.test.ex")
+>>> deny.test.ex in "deny.test.ex"?
+>>>  list element: deny.test.ex
+>>>  deny.test.ex in "deny.test.ex"? yes (matched "deny.test.ex")
 >>> deny: condition test succeeded in ACL "acl_1_2_3"
 >>> end of ACL "acl_1_2_3": DENY
-LOG: H=[1.2.3.4] F=<x@y> rejected RCPT <x@deny.test.ex>: DOMAIN EXPLICITLY DENIED
+LOG: H=(test) [1.2.3.4] F=<x@y> rejected RCPT <x@deny.test.ex>: DOMAIN EXPLICITLY DENIED
 >>> using ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 44)
 >>> check domains = !nopass
+>>> refuse.test.ex in "!nopass"?
+>>>  list element: !nopass
 >>> refuse.test.ex in "!nopass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 46)
 >>>   message: $local_part@$domain shall not pass
 >>> check domains = !wontpass
+>>> refuse.test.ex in "!wontpass"?
+>>>  list element: !wontpass
 >>> refuse.test.ex in "!wontpass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "deny" (TESTSUITE/test-config 49)
@@ -177,37 +276,55 @@ LOG: H=[1.2.3.4] F=<x@y> rejected RCPT <x@deny.test.ex>: DOMAIN EXPLICITLY DENIE
 >>> l_message: DOMAIN EXPLICITLY DENIED
 >>> check continue = this value is not used
 >>> check domains = deny.test.ex
+>>> refuse.test.ex in "deny.test.ex"?
+>>>  list element: deny.test.ex
 >>> refuse.test.ex in "deny.test.ex"? no (end of list)
 >>> deny: condition test failed in ACL "acl_1_2_3"
 >>> processing "accept" (TESTSUITE/test-config 54)
 >>> check domains = +local_domains
->>> refuse.test.ex in "test.ex : *.test.ex"? yes (matched "*.test.ex")
->>> refuse.test.ex in "+local_domains"? yes (matched "+local_domains")
+>>> refuse.test.ex in "+local_domains"?
+>>>  list element: +local_domains
+>>>   start sublist local_domains
+>>>    refuse.test.ex in "test.ex : *.test.ex"?
+>>>    ╎list element: test.ex
+>>>    ╎list element: *.test.ex
+>>>    ╎refuse.test.ex in "test.ex : *.test.ex"? yes (matched "*.test.ex")
+>>>   end sublist local_domains
+>>>  data from lookup saved for cache for +local_domains: key 'refuse.test.ex' value '*.test.ex'
+>>>  refuse.test.ex in "+local_domains"? yes (matched "+local_domains")
 >>>   message: $domain gets refused
 >>> check domains = !refuse.test.ex
->>> refuse.test.ex in "!refuse.test.ex"? no (matched "!refuse.test.ex")
+>>> refuse.test.ex in "!refuse.test.ex"?
+>>>  list element: !refuse.test.ex
+>>>  refuse.test.ex in "!refuse.test.ex"? no (matched "!refuse.test.ex")
 >>> accept: condition test failed in ACL "acl_1_2_3"
 >>> accept: endpass encountered - denying access
-LOG: H=[1.2.3.4] F=<x@y> rejected RCPT <x@refuse.test.ex>: refuse.test.ex gets refused
+LOG: H=(test) [1.2.3.4] F=<x@y> rejected RCPT <x@refuse.test.ex>: refuse.test.ex gets refused
 >>> using ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 44)
 >>> check domains = !nopass
->>> nopass in "!nopass"? no (matched "!nopass")
+>>> nopass in "!nopass"?
+>>>  list element: !nopass
+>>>  nopass in "!nopass"? no (matched "!nopass")
 >>> require: condition test failed in ACL "acl_1_2_3"
 >>> end of ACL "acl_1_2_3": not OK
-LOG: H=[1.2.3.4] F=<x@y> rejected RCPT <x@nopass>
+LOG: H=(test) [1.2.3.4] F=<x@y> rejected RCPT <x@nopass>
 >>> using ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 44)
 >>> check domains = !nopass
+>>> wontpass in "!nopass"?
+>>>  list element: !nopass
 >>> wontpass in "!nopass"? yes (end of list)
 >>> require: condition test succeeded in ACL "acl_1_2_3"
 >>> processing "require" (TESTSUITE/test-config 46)
 >>>   message: $local_part@$domain shall not pass
 >>> check domains = !wontpass
->>> wontpass in "!wontpass"? no (matched "!wontpass")
+>>> wontpass in "!wontpass"?
+>>>  list element: !wontpass
+>>>  wontpass in "!wontpass"? no (matched "!wontpass")
 >>> require: condition test failed in ACL "acl_1_2_3"
 >>> end of ACL "acl_1_2_3": not OK
-LOG: H=[1.2.3.4] F=<x@y> rejected RCPT <x@wontpass>: x@wontpass shall not pass
+LOG: H=(test) [1.2.3.4] F=<x@y> rejected RCPT <x@wontpass>: x@wontpass shall not pass
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -216,36 +333,56 @@ LOG: H=[1.2.3.4] F=<x@y> rejected RCPT <x@wontpass>: x@wontpass shall not pass
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_5_6_7"
 >>> processing "accept" (TESTSUITE/test-config 64)
 >>> check domains = lsearch;TESTSUITE/aux-fixed/0023.doms
+>>> y in "lsearch;TESTSUITE/aux-fixed/0023.doms"?
+>>>  list element: lsearch;TESTSUITE/aux-fixed/0023.doms
 >>> y in "lsearch;TESTSUITE/aux-fixed/0023.doms"? no (end of list)
 >>> accept: condition test failed in ACL "acl_5_6_7"
 >>> end of ACL "acl_5_6_7": implicit DENY
-LOG: H=[5.6.7.8] F=<x@y> rejected RCPT <x@y>
+LOG: H=(test) [5.6.7.8] F=<x@y> rejected RCPT <x@y>
 >>> using ACL "acl_5_6_7"
 >>> processing "accept" (TESTSUITE/test-config 64)
 >>> check domains = lsearch;TESTSUITE/aux-fixed/0023.doms
->>> test.ex in "lsearch;TESTSUITE/aux-fixed/0023.doms"? yes (matched "lsearch;TESTSUITE/aux-fixed/0023.doms")
+>>> test.ex in "lsearch;TESTSUITE/aux-fixed/0023.doms"?
+>>>  list element: lsearch;TESTSUITE/aux-fixed/0023.doms
+>>>  test.ex in "lsearch;TESTSUITE/aux-fixed/0023.doms"? yes (matched "lsearch;TESTSUITE/aux-fixed/0023.doms")
 >>> check local_parts = $domain_data
+>>> x in "userx : spqr"?
+>>>  list element: userx
+>>>  list element: spqr
 >>> x in "userx : spqr"? no (end of list)
 >>> accept: condition test failed in ACL "acl_5_6_7"
 >>> end of ACL "acl_5_6_7": implicit DENY
-LOG: H=[5.6.7.8] F=<x@y> rejected RCPT <x@test.ex>
+LOG: H=(test) [5.6.7.8] F=<x@y> rejected RCPT <x@test.ex>
 >>> using ACL "acl_5_6_7"
 >>> processing "accept" (TESTSUITE/test-config 64)
 >>> check domains = lsearch;TESTSUITE/aux-fixed/0023.doms
->>> test.ex in "lsearch;TESTSUITE/aux-fixed/0023.doms"? yes (matched "lsearch;TESTSUITE/aux-fixed/0023.doms")
+>>> test.ex in "lsearch;TESTSUITE/aux-fixed/0023.doms"?
+>>>  list element: lsearch;TESTSUITE/aux-fixed/0023.doms
+>>>  test.ex in "lsearch;TESTSUITE/aux-fixed/0023.doms"? yes (matched "lsearch;TESTSUITE/aux-fixed/0023.doms")
 >>> check local_parts = $domain_data
->>> userx in "userx : spqr"? yes (matched "userx")
+>>> userx in "userx : spqr"?
+>>>  list element: userx
+>>>  userx in "userx : spqr"? yes (matched "userx")
 >>> accept: condition test succeeded in ACL "acl_5_6_7"
 >>> end of ACL "acl_5_6_7": ACCEPT
 >>> using ACL "acl_5_6_7"
 >>> processing "accept" (TESTSUITE/test-config 64)
 >>> check domains = lsearch;TESTSUITE/aux-fixed/0023.doms
->>> test.ex in "lsearch;TESTSUITE/aux-fixed/0023.doms"? yes (matched "lsearch;TESTSUITE/aux-fixed/0023.doms")
+>>> test.ex in "lsearch;TESTSUITE/aux-fixed/0023.doms"?
+>>>  list element: lsearch;TESTSUITE/aux-fixed/0023.doms
+>>>  test.ex in "lsearch;TESTSUITE/aux-fixed/0023.doms"? yes (matched "lsearch;TESTSUITE/aux-fixed/0023.doms")
 >>> check local_parts = $domain_data
->>> spqr in "userx : spqr"? yes (matched "spqr")
+>>> spqr in "userx : spqr"?
+>>>  list element: userx
+>>>  list element: spqr
+>>>  spqr in "userx : spqr"? yes (matched "spqr")
 >>> accept: condition test succeeded in ACL "acl_5_6_7"
 >>> end of ACL "acl_5_6_7": ACCEPT
 >>> host in hosts_connection_nolog? no (option unset)
@@ -256,17 +393,32 @@ LOG: H=[5.6.7.8] F=<x@y> rejected RCPT <x@test.ex>
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_9_9_9"
 >>> processing "accept" (TESTSUITE/test-config 91)
 >>> check hosts = +ok9_hosts
->>> host in "9.9.9.9"? yes (matched "9.9.9.9")
->>> host in "+ok9_hosts"? yes (matched "+ok9_hosts")
+>>> host in "+ok9_hosts"?
+>>>  list element: +ok9_hosts
+>>>   start sublist ok9_hosts
+>>>    host in "9.9.9.9"?
+>>>    ╎list element: 9.9.9.9
+>>>    ╎host in "9.9.9.9"? yes (matched "9.9.9.9")
+>>>   end sublist ok9_hosts
+>>>  host in "+ok9_hosts"? yes (matched "+ok9_hosts")
 >>> accept: condition test succeeded in ACL "acl_9_9_9"
 >>> end of ACL "acl_9_9_9": ACCEPT
 >>> using ACL "acl_9_9_9"
 >>> processing "accept" (TESTSUITE/test-config 91)
 >>> check hosts = +ok9_hosts
->>> host in "+ok9_hosts"? yes (matched "+ok9_hosts" - cached)
+>>> host in "+ok9_hosts"?
+>>>  list element: +ok9_hosts
+>>>   start sublist ok9_hosts
+>>>  cached yes match for +ok9_hosts
+>>>  cached lookup data = NULL
+>>>  host in "+ok9_hosts"? yes (matched "+ok9_hosts" - cached)
 >>> accept: condition test succeeded in ACL "acl_9_9_9"
 >>> end of ACL "acl_9_9_9": ACCEPT
 >>> host in hosts_connection_nolog? no (option unset)
@@ -277,31 +429,50 @@ LOG: H=[5.6.7.8] F=<x@y> rejected RCPT <x@test.ex>
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_9_9_9"
 >>> processing "accept" (TESTSUITE/test-config 91)
 >>> check hosts = +ok9_hosts
->>> host in "9.9.9.9"? no (end of list)
+>>> host in "+ok9_hosts"?
+>>>  list element: +ok9_hosts
+>>>   start sublist ok9_hosts
+>>>    host in "9.9.9.9"?
+>>>    ╎list element: 9.9.9.9
+>>>    host in "9.9.9.9"? no (end of list)
+>>>   end sublist ok9_hosts
 >>> host in "+ok9_hosts"? no (end of list)
 >>> accept: condition test failed in ACL "acl_9_9_9"
 >>> processing "deny" (TESTSUITE/test-config 92)
 >>>   message: don't like this host
 >>> check hosts = 9.9.9.0/26
->>> host in "9.9.9.0/26"? yes (matched "9.9.9.0/26")
+>>> host in "9.9.9.0/26"?
+>>>  list element: 9.9.9.0/26
+>>>  host in "9.9.9.0/26"? yes (matched "9.9.9.0/26")
 >>> deny: condition test succeeded in ACL "acl_9_9_9"
 >>> end of ACL "acl_9_9_9": DENY
-LOG: H=[9.9.9.8] F=<x@y> rejected RCPT <x@y>: don't like this host
+LOG: H=(test) [9.9.9.8] F=<x@y> rejected RCPT <x@y>: don't like this host
 >>> using ACL "acl_9_9_9"
 >>> processing "accept" (TESTSUITE/test-config 91)
 >>> check hosts = +ok9_hosts
+>>> host in "+ok9_hosts"?
+>>>  list element: +ok9_hosts
+>>>   start sublist ok9_hosts
+>>>  cached no match for +ok9_hosts
+>>>  cached lookup data = NULL
 >>> host in "+ok9_hosts"? no (end of list)
 >>> accept: condition test failed in ACL "acl_9_9_9"
 >>> processing "deny" (TESTSUITE/test-config 92)
 >>>   message: don't like this host
 >>> check hosts = 9.9.9.0/26
->>> host in "9.9.9.0/26"? yes (matched "9.9.9.0/26")
+>>> host in "9.9.9.0/26"?
+>>>  list element: 9.9.9.0/26
+>>>  host in "9.9.9.0/26"? yes (matched "9.9.9.0/26")
 >>> deny: condition test succeeded in ACL "acl_9_9_9"
 >>> end of ACL "acl_9_9_9": DENY
-LOG: H=[9.9.9.8] F=<x@y> rejected RCPT <a@b>: don't like this host
+LOG: H=(test) [9.9.9.8] F=<x@y> rejected RCPT <a@b>: don't like this host
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -310,35 +481,58 @@ LOG: H=[9.9.9.8] F=<x@y> rejected RCPT <a@b>: don't like this host
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_9_9_9"
 >>> processing "accept" (TESTSUITE/test-config 91)
 >>> check hosts = +ok9_hosts
->>> host in "9.9.9.9"? no (end of list)
+>>> host in "+ok9_hosts"?
+>>>  list element: +ok9_hosts
+>>>   start sublist ok9_hosts
+>>>    host in "9.9.9.9"?
+>>>    ╎list element: 9.9.9.9
+>>>    host in "9.9.9.9"? no (end of list)
+>>>   end sublist ok9_hosts
 >>> host in "+ok9_hosts"? no (end of list)
 >>> accept: condition test failed in ACL "acl_9_9_9"
 >>> processing "deny" (TESTSUITE/test-config 92)
 >>>   message: don't like this host
 >>> check hosts = 9.9.9.0/26
+>>> host in "9.9.9.0/26"?
+>>>  list element: 9.9.9.0/26
 >>> host in "9.9.9.0/26"? no (end of list)
 >>> deny: condition test failed in ACL "acl_9_9_9"
 >>> processing "accept" (TESTSUITE/test-config 94)
 >>> check hosts = 9.9.9.0/24
->>> host in "9.9.9.0/24"? yes (matched "9.9.9.0/24")
+>>> host in "9.9.9.0/24"?
+>>>  list element: 9.9.9.0/24
+>>>  host in "9.9.9.0/24"? yes (matched "9.9.9.0/24")
 >>> accept: condition test succeeded in ACL "acl_9_9_9"
 >>> end of ACL "acl_9_9_9": ACCEPT
 >>> using ACL "acl_9_9_9"
 >>> processing "accept" (TESTSUITE/test-config 91)
 >>> check hosts = +ok9_hosts
+>>> host in "+ok9_hosts"?
+>>>  list element: +ok9_hosts
+>>>   start sublist ok9_hosts
+>>>  cached no match for +ok9_hosts
+>>>  cached lookup data = NULL
 >>> host in "+ok9_hosts"? no (end of list)
 >>> accept: condition test failed in ACL "acl_9_9_9"
 >>> processing "deny" (TESTSUITE/test-config 92)
 >>>   message: don't like this host
 >>> check hosts = 9.9.9.0/26
+>>> host in "9.9.9.0/26"?
+>>>  list element: 9.9.9.0/26
 >>> host in "9.9.9.0/26"? no (end of list)
 >>> deny: condition test failed in ACL "acl_9_9_9"
 >>> processing "accept" (TESTSUITE/test-config 94)
 >>> check hosts = 9.9.9.0/24
->>> host in "9.9.9.0/24"? yes (matched "9.9.9.0/24")
+>>> host in "9.9.9.0/24"?
+>>>  list element: 9.9.9.0/24
+>>>  host in "9.9.9.0/24"? yes (matched "9.9.9.0/24")
 >>> accept: condition test succeeded in ACL "acl_9_9_9"
 >>> end of ACL "acl_9_9_9": ACCEPT
 >>> host in hosts_connection_nolog? no (option unset)
@@ -349,62 +543,130 @@ LOG: H=[9.9.9.8] F=<x@y> rejected RCPT <a@b>: don't like this host
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_5_6_8"
 >>> processing "accept" (TESTSUITE/test-config 68)
 >>> check senders = user1@domain1 : domain2 : +ok_senders
->>> y in "domain2"? no (end of list)
->>> x@y in "ok@ok.ok"? no (end of list)
+>>> x@y in "user1@domain1 : domain2 : +ok_senders"?
+>>>  list element: user1@domain1
+>>>  list element: domain2
+>>>  y in "domain2"?
+>>>   list element: domain2
+>>>  y in "domain2"? no (end of list)
+>>>  list element: +ok_senders
+>>>   start sublist ok_senders
+>>>    x@y in "ok@ok.ok"?
+>>>    ╎list element: ok@ok.ok
+>>>    x@y in "ok@ok.ok"? no (end of list)
+>>>   end sublist ok_senders
 >>> x@y in "user1@domain1 : domain2 : +ok_senders"? no (end of list)
 >>> accept: condition test failed in ACL "acl_5_6_8"
 >>> end of ACL "acl_5_6_8": implicit DENY
-LOG: H=[5.6.8.1] F=<x@y> rejected RCPT <x@y>
+LOG: H=(test) [5.6.8.1] F=<x@y> rejected RCPT <x@y>
 >>> using ACL "acl_5_6_8"
 >>> processing "accept" (TESTSUITE/test-config 68)
 >>> check senders = user1@domain1 : domain2 : +ok_senders
->>> y in "domain2"? no (end of list)
+>>> x@y in "user1@domain1 : domain2 : +ok_senders"?
+>>>  list element: user1@domain1
+>>>  list element: domain2
+>>>  y in "domain2"?
+>>>   list element: domain2
+>>>  y in "domain2"? no (end of list)
+>>>  list element: +ok_senders
+>>>   start sublist ok_senders
+>>>  cached no match for +ok_senders
+>>>  cached lookup data = NULL
 >>> x@y in "user1@domain1 : domain2 : +ok_senders"? no (end of list)
 >>> accept: condition test failed in ACL "acl_5_6_8"
 >>> end of ACL "acl_5_6_8": implicit DENY
-LOG: H=[5.6.8.1] F=<x@y> rejected RCPT <y@x>
+LOG: H=(test) [5.6.8.1] F=<x@y> rejected RCPT <y@x>
 >>> using ACL "acl_5_6_8"
 >>> processing "accept" (TESTSUITE/test-config 68)
 >>> check senders = user1@domain1 : domain2 : +ok_senders
->>> domain1 in "domain1"? yes (matched "domain1")
->>> user1@domain1 in "user1@domain1 : domain2 : +ok_senders"? yes (matched "user1@domain1")
+>>> user1@domain1 in "user1@domain1 : domain2 : +ok_senders"?
+>>>  list element: user1@domain1
+>>>  domain1 in "domain1"?
+>>>   list element: domain1
+>>>   domain1 in "domain1"? yes (matched "domain1")
+>>>  user1@domain1 in "user1@domain1 : domain2 : +ok_senders"? yes (matched "user1@domain1")
 >>> accept: condition test succeeded in ACL "acl_5_6_8"
 >>> end of ACL "acl_5_6_8": ACCEPT
->>> host in smtp_accept_max_nonmail_hosts? yes (matched "*")
+>>> host in smtp_accept_max_nonmail_hosts?
+>>>  list element: *
+>>>  host in smtp_accept_max_nonmail_hosts? yes (matched "*")
 >>> using ACL "acl_5_6_8"
 >>> processing "accept" (TESTSUITE/test-config 68)
 >>> check senders = user1@domain1 : domain2 : +ok_senders
->>> domain1 in "domain2"? no (end of list)
->>> user2@domain1 in "ok@ok.ok"? no (end of list)
+>>> user2@domain1 in "user1@domain1 : domain2 : +ok_senders"?
+>>>  list element: user1@domain1
+>>>  list element: domain2
+>>>  domain1 in "domain2"?
+>>>   list element: domain2
+>>>  domain1 in "domain2"? no (end of list)
+>>>  list element: +ok_senders
+>>>   start sublist ok_senders
+>>>    user2@domain1 in "ok@ok.ok"?
+>>>    ╎list element: ok@ok.ok
+>>>    user2@domain1 in "ok@ok.ok"? no (end of list)
+>>>   end sublist ok_senders
 >>> user2@domain1 in "user1@domain1 : domain2 : +ok_senders"? no (end of list)
 >>> accept: condition test failed in ACL "acl_5_6_8"
 >>> end of ACL "acl_5_6_8": implicit DENY
-LOG: H=[5.6.8.1] F=<user2@domain1> rejected RCPT <x@y>
+LOG: H=(test) [5.6.8.1] F=<user2@domain1> rejected RCPT <x@y>
 >>> using ACL "acl_5_6_8"
 >>> processing "accept" (TESTSUITE/test-config 68)
 >>> check senders = user1@domain1 : domain2 : +ok_senders
->>> domain2 in "domain1"? no (end of list)
->>> domain2 in "domain2"? yes (matched "domain2")
->>> user1@domain2 in "user1@domain1 : domain2 : +ok_senders"? yes (matched "domain2")
+>>> user1@domain2 in "user1@domain1 : domain2 : +ok_senders"?
+>>>  list element: user1@domain1
+>>>  domain2 in "domain1"?
+>>>   list element: domain1
+>>>  domain2 in "domain1"? no (end of list)
+>>>  list element: domain2
+>>>  domain2 in "domain2"?
+>>>   list element: domain2
+>>>   domain2 in "domain2"? yes (matched "domain2")
+>>>  user1@domain2 in "user1@domain1 : domain2 : +ok_senders"? yes (matched "domain2")
 >>> accept: condition test succeeded in ACL "acl_5_6_8"
 >>> end of ACL "acl_5_6_8": ACCEPT
 >>> using ACL "acl_5_6_8"
 >>> processing "accept" (TESTSUITE/test-config 68)
 >>> check senders = user1@domain1 : domain2 : +ok_senders
->>> ok.ok in "domain2"? no (end of list)
->>> ok.ok in "ok.ok"? yes (matched "ok.ok")
->>> ok@ok.ok in "ok@ok.ok"? yes (matched "ok@ok.ok")
->>> ok@ok.ok in "user1@domain1 : domain2 : +ok_senders"? yes (matched "+ok_senders")
+>>> ok@ok.ok in "user1@domain1 : domain2 : +ok_senders"?
+>>>  list element: user1@domain1
+>>>  list element: domain2
+>>>  ok.ok in "domain2"?
+>>>   list element: domain2
+>>>  ok.ok in "domain2"? no (end of list)
+>>>  list element: +ok_senders
+>>>   start sublist ok_senders
+>>>    ok@ok.ok in "ok@ok.ok"?
+>>>    ╎list element: ok@ok.ok
+>>>    ╎ok.ok in "ok.ok"?
+>>>    ╎ list element: ok.ok
+>>>    ╎ ok.ok in "ok.ok"? yes (matched "ok.ok")
+>>>    ╎ok@ok.ok in "ok@ok.ok"? yes (matched "ok@ok.ok")
+>>>   end sublist ok_senders
+>>>  data from lookup saved for cache for +ok_senders: key 'ok@ok.ok' value 'ok@ok.ok'
+>>>  ok@ok.ok in "user1@domain1 : domain2 : +ok_senders"? yes (matched "+ok_senders")
 >>> accept: condition test succeeded in ACL "acl_5_6_8"
 >>> end of ACL "acl_5_6_8": ACCEPT
 >>> using ACL "acl_5_6_8"
 >>> processing "accept" (TESTSUITE/test-config 68)
 >>> check senders = user1@domain1 : domain2 : +ok_senders
->>> ok.ok in "domain2"? no (end of list)
->>> ok@ok.ok in "user1@domain1 : domain2 : +ok_senders"? yes (matched "+ok_senders" - cached)
+>>> ok@ok.ok in "user1@domain1 : domain2 : +ok_senders"?
+>>>  list element: user1@domain1
+>>>  list element: domain2
+>>>  ok.ok in "domain2"?
+>>>   list element: domain2
+>>>  ok.ok in "domain2"? no (end of list)
+>>>  list element: +ok_senders
+>>>   start sublist ok_senders
+>>>  cached yes match for +ok_senders
+>>>  cached lookup data = ok@ok.ok
+>>>  ok@ok.ok in "user1@domain1 : domain2 : +ok_senders"? yes (matched "+ok_senders" - cached)
 >>> accept: condition test succeeded in ACL "acl_5_6_8"
 >>> end of ACL "acl_5_6_8": ACCEPT
 >>> host in hosts_connection_nolog? no (option unset)
@@ -415,6 +677,10 @@ LOG: H=[5.6.8.1] F=<user2@domain1> rejected RCPT <x@y>
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_5_6_11"
 >>> processing "accept" (TESTSUITE/test-config 71)
 >>> check condition = ${if match{$local_part}{^x}{yes}{no}}
@@ -436,7 +702,7 @@ LOG: H=[5.6.8.1] F=<user2@domain1> rejected RCPT <x@y>
 >>>   message: "local part of wrong type\n(quotes are literal)
 >>> deny: condition test succeeded in ACL "acl_5_6_11"
 >>> end of ACL "acl_5_6_11": DENY
-LOG: H=[5.6.11.1] F=<x@y> rejected RCPT <y2@y>: "local part of wrong type
+LOG: H=(test) [5.6.11.1] F=<x@y> rejected RCPT <y2@y>: "local part of wrong type
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -445,16 +711,24 @@ LOG: H=[5.6.11.1] F=<x@y> rejected RCPT <y2@y>: "local part of wrong type
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_5_6_12"
 >>> processing "accept" (TESTSUITE/test-config 75)
 >>> check hosts = 5.6.12.1
->>> host in "5.6.12.1"? yes (matched "5.6.12.1")
+>>> host in "5.6.12.1"?
+>>>  list element: 5.6.12.1
+>>>  host in "5.6.12.1"? yes (matched "5.6.12.1")
 >>>   message: failed nested acl
 >>> check acl = acl_5_6_12A
 >>>  using ACL "acl_5_6_12A"
 >>>  processing "accept" (TESTSUITE/test-config 82)
 >>>  check domains = ok
->>> ok in "ok"? yes (matched "ok")
+>>>  ok in "ok"?
+>>>   list element: ok
+>>>   ok in "ok"? yes (matched "ok")
 >>>  accept: condition test succeeded in ACL "acl_5_6_12A"
 >>>  end of ACL "acl_5_6_12A": ACCEPT
 >>> accept: condition test succeeded in ACL "acl_5_6_12"
@@ -462,18 +736,22 @@ LOG: H=[5.6.11.1] F=<x@y> rejected RCPT <y2@y>: "local part of wrong type
 >>> using ACL "acl_5_6_12"
 >>> processing "accept" (TESTSUITE/test-config 75)
 >>> check hosts = 5.6.12.1
->>> host in "5.6.12.1"? yes (matched "5.6.12.1")
+>>> host in "5.6.12.1"?
+>>>  list element: 5.6.12.1
+>>>  host in "5.6.12.1"? yes (matched "5.6.12.1")
 >>>   message: failed nested acl
 >>> check acl = acl_5_6_12A
 >>>  using ACL "acl_5_6_12A"
 >>>  processing "accept" (TESTSUITE/test-config 82)
 >>>  check domains = ok
->>> y in "ok"? no (end of list)
+>>>  y in "ok"?
+>>>   list element: ok
+>>>  y in "ok"? no (end of list)
 >>>  accept: condition test failed in ACL "acl_5_6_12A"
 >>>  end of ACL "acl_5_6_12A": implicit DENY
 >>> accept: condition test failed in ACL "acl_5_6_12"
 >>> accept: endpass encountered - denying access
-LOG: H=[5.6.12.1] F=<x@y> rejected RCPT <x@y>: failed nested acl
+LOG: H=(test) [5.6.12.1] F=<x@y> rejected RCPT <x@y>: failed nested acl
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -482,9 +760,15 @@ LOG: H=[5.6.12.1] F=<x@y> rejected RCPT <x@y>: failed nested acl
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_5_6_12"
 >>> processing "accept" (TESTSUITE/test-config 75)
 >>> check hosts = 5.6.12.1
+>>> host in "5.6.12.1"?
+>>>  list element: 5.6.12.1
 >>> host in "5.6.12.1"? no (end of list)
 >>> accept: condition test failed in ACL "acl_5_6_12"
 >>> processing "accept" (TESTSUITE/test-config 79)
@@ -493,6 +777,8 @@ LOG: H=[5.6.12.1] F=<x@y> rejected RCPT <x@y>: failed nested acl
 >>> using ACL "acl_5_6_12"
 >>> processing "accept" (TESTSUITE/test-config 75)
 >>> check hosts = 5.6.12.1
+>>> host in "5.6.12.1"?
+>>>  list element: 5.6.12.1
 >>> host in "5.6.12.1"? no (end of list)
 >>> accept: condition test failed in ACL "acl_5_6_12"
 >>> processing "accept" (TESTSUITE/test-config 79)
@@ -506,6 +792,10 @@ LOG: H=[5.6.12.1] F=<x@y> rejected RCPT <x@y>: failed nested acl
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_8_8_8"
 >>> processing "accept" (TESTSUITE/test-config 88)
 >>> check acl = acl_8_8_8
@@ -590,7 +880,7 @@ LOG: H=[5.6.12.1] F=<x@y> rejected RCPT <x@y>: failed nested acl
 >>>   accept: condition test error in ACL "acl_8_8_8"
 >>>  accept: condition test error in ACL "acl_8_8_8"
 >>> accept: condition test error in ACL "acl_8_8_8"
-LOG: H=[8.8.8.8] F=<x@y> temporarily rejected RCPT <x@y>: ACL nested too deep: possible loop
+LOG: H=(test) [8.8.8.8] F=<x@y> temporarily rejected RCPT <x@y>: ACL nested too deep: possible loop
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -599,15 +889,23 @@ LOG: H=[8.8.8.8] F=<x@y> temporarily rejected RCPT <x@y>: ACL nested too deep: p
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_5_6_13"
 >>> processing "accept" (TESTSUITE/test-config 85)
 >>> check acl = TESTSUITE/aux-fixed/0023.acl1
 >>>  read ACL from file TESTSUITE/aux-fixed/0023.acl1
->>>  processing "accept" (TESTSUITE/test-config 271)
+>>>  processing "accept" (TESTSUITE/test-config 272)
 >>>  check domains = y
->>> y in "y"? yes (matched "y")
+>>>  y in "y"?
+>>>   list element: y
+>>>   y in "y"? yes (matched "y")
 >>>  check local_parts = x
->>> x in "x"? yes (matched "x")
+>>>  x in "x"?
+>>>   list element: x
+>>>   x in "x"? yes (matched "x")
 >>>  accept: condition test succeeded in ACL "TESTSUITE/aux-fixed/0023.acl1"
 >>>  end of ACL "TESTSUITE/aux-fixed/0023.acl1": ACCEPT
 >>> accept: condition test succeeded in ACL "acl_5_6_13"
@@ -616,30 +914,38 @@ LOG: H=[8.8.8.8] F=<x@y> temporarily rejected RCPT <x@y>: ACL nested too deep: p
 >>> processing "accept" (TESTSUITE/test-config 85)
 >>> check acl = TESTSUITE/aux-fixed/0023.acl1
 >>>  using ACL "TESTSUITE/aux-fixed/0023.acl1"
->>>  processing "accept" (TESTSUITE/test-config 271)
+>>>  processing "accept" (TESTSUITE/test-config 272)
 >>>  check domains = y
->>> y in "y"? yes (matched "y")
+>>>  y in "y"?
+>>>   list element: y
+>>>   y in "y"? yes (matched "y")
 >>>  check local_parts = x
->>> x1 in "x"? no (end of list)
+>>>  x1 in "x"?
+>>>   list element: x
+>>>  x1 in "x"? no (end of list)
 >>>  accept: condition test failed in ACL "TESTSUITE/aux-fixed/0023.acl1"
 >>>  end of ACL "TESTSUITE/aux-fixed/0023.acl1": implicit DENY
 >>> accept: condition test failed in ACL "acl_5_6_13"
 >>> end of ACL "acl_5_6_13": implicit DENY
-LOG: H=[5.6.13.1] F=<x@y> rejected RCPT <x1@y>
+LOG: H=(test) [5.6.13.1] F=<x@y> rejected RCPT <x1@y>
 >>> using ACL "acl_5_6_13"
 >>> processing "accept" (TESTSUITE/test-config 85)
 >>> check acl = TESTSUITE/aux-fixed/0023.acl1
 >>>  using ACL "TESTSUITE/aux-fixed/0023.acl1"
->>>  processing "accept" (TESTSUITE/test-config 271)
+>>>  processing "accept" (TESTSUITE/test-config 272)
 >>>  check domains = y
->>> y in "y"? yes (matched "y")
+>>>  y in "y"?
+>>>   list element: y
+>>>   y in "y"? yes (matched "y")
 >>>  check local_parts = x
->>> x2 in "x"? no (end of list)
+>>>  x2 in "x"?
+>>>   list element: x
+>>>  x2 in "x"? no (end of list)
 >>>  accept: condition test failed in ACL "TESTSUITE/aux-fixed/0023.acl1"
 >>>  end of ACL "TESTSUITE/aux-fixed/0023.acl1": implicit DENY
 >>> accept: condition test failed in ACL "acl_5_6_13"
 >>> end of ACL "acl_5_6_13": implicit DENY
-LOG: H=[5.6.13.1] F=<x@y> rejected RCPT <x2@y>
+LOG: H=(test) [5.6.13.1] F=<x@y> rejected RCPT <x2@y>
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -648,30 +954,35 @@ LOG: H=[5.6.13.1] F=<x@y> rejected RCPT <x2@y>
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_V4NET_11_12"
 >>> processing "deny" (TESTSUITE/test-config 105)
 >>>   message: host in DNS list $dnslist_domain: $dnslist_text
 >>> l_message: DNSLIST ($dnslist_domain: $dnslist_text)
 >>> check dnslists = rbl.test.ex
->>> DNS list check: rbl.test.ex
+>>> dnslists check: rbl.test.ex
 >>> new DNS lookup for 13.12.11.V4NET.rbl.test.ex
+>>> dnslists: wrote cache entry, ttl=3
 >>> DNS lookup for 13.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
 >>> => that means V4NET.11.12.13 is listed at rbl.test.ex
 >>> deny: condition test succeeded in ACL "acl_V4NET_11_12"
 >>> end of ACL "acl_V4NET_11_12": DENY
-LOG: H=[V4NET.11.12.13] F=<x@y> rejected RCPT <x@y>: DNSLIST (rbl.test.ex: This is a test blacklisting message)
+LOG: H=(test) [V4NET.11.12.13] F=<x@y> rejected RCPT <x@y>: DNSLIST (rbl.test.ex: This is a test blacklisting message)
 >>> using ACL "acl_V4NET_11_12"
 >>> processing "deny" (TESTSUITE/test-config 105)
 >>>   message: host in DNS list $dnslist_domain: $dnslist_text
 >>> l_message: DNSLIST ($dnslist_domain: $dnslist_text)
 >>> check dnslists = rbl.test.ex
->>> DNS list check: rbl.test.ex
->>> using result of previous DNS lookup
+>>> dnslists check: rbl.test.ex
+>>> dnslists: using result of previous lookup
 >>> DNS lookup for 13.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
 >>> => that means V4NET.11.12.13 is listed at rbl.test.ex
 >>> deny: condition test succeeded in ACL "acl_V4NET_11_12"
 >>> end of ACL "acl_V4NET_11_12": DENY
-LOG: H=[V4NET.11.12.13] F=<x@y> rejected RCPT <x1@y>: DNSLIST (rbl.test.ex: This is a test blacklisting message)
+LOG: H=(test) [V4NET.11.12.13] F=<x@y> rejected RCPT <x1@y>: DNSLIST (rbl.test.ex: This is a test blacklisting message)
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -680,13 +991,18 @@ LOG: H=[V4NET.11.12.13] F=<x@y> rejected RCPT <x1@y>: DNSLIST (rbl.test.ex: This
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_V4NET_11_12"
 >>> processing "deny" (TESTSUITE/test-config 105)
 >>>   message: host in DNS list $dnslist_domain: $dnslist_text
 >>> l_message: DNSLIST ($dnslist_domain: $dnslist_text)
 >>> check dnslists = rbl.test.ex
->>> DNS list check: rbl.test.ex
+>>> dnslists check: rbl.test.ex
 >>> new DNS lookup for 12.12.11.V4NET.rbl.test.ex
+>>> dnslists: wrote cache entry, ttl=3000
 >>> DNS lookup for 12.12.11.V4NET.rbl.test.ex failed
 >>> => that means V4NET.11.12.12 is not listed at rbl.test.ex
 >>> deny: condition test failed in ACL "acl_V4NET_11_12"
@@ -698,8 +1014,8 @@ LOG: H=[V4NET.11.12.13] F=<x@y> rejected RCPT <x1@y>: DNSLIST (rbl.test.ex: This
 >>>   message: host in DNS list $dnslist_domain: $dnslist_text
 >>> l_message: DNSLIST ($dnslist_domain: $dnslist_text)
 >>> check dnslists = rbl.test.ex
->>> DNS list check: rbl.test.ex
->>> using result of previous DNS lookup
+>>> dnslists check: rbl.test.ex
+>>> dnslists: using result of previous lookup
 >>> DNS lookup for 12.12.11.V4NET.rbl.test.ex failed
 >>> => that means V4NET.11.12.12 is not listed at rbl.test.ex
 >>> deny: condition test failed in ACL "acl_V4NET_11_12"
@@ -714,21 +1030,32 @@ LOG: H=[V4NET.11.12.13] F=<x@y> rejected RCPT <x1@y>: DNSLIST (rbl.test.ex: This
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_20_20_20"
 >>> processing "accept" (TESTSUITE/test-config 111)
 >>>   message: sender verify failure
 >>> check verify = sender
 >>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>> routing x@y
->>> x in "^ok"? no (end of list)
->>> x in "^userx : ^cond-"? no (end of list)
->>> x in "fail"? no (end of list)
+>>> x in local_parts?
+>>>  list element: ^ok
+>>> x in local_parts? no (end of list)
+>>> x in local_parts?
+>>>  list element: ^userx
+>>>  list element: ^cond-
+>>> x in local_parts? no (end of list)
+>>> x in local_parts?
+>>>  list element: fail
+>>> x in local_parts? no (end of list)
 >>> no more routers
 >>> ----------- end verify ------------
 >>> accept: condition test failed in ACL "acl_20_20_20"
 >>> accept: endpass encountered - denying access
-LOG: H=[20.20.20.20] sender verify fail for <x@y>: Unrouteable address
-LOG: H=[20.20.20.20] F=<x@y> rejected RCPT <x1@y>: Sender verify failed
+LOG: H=(test) [20.20.20.20] sender verify fail for <x@y>: Unrouteable address
+LOG: H=(test) [20.20.20.20] F=<x@y> rejected RCPT <x1@y>: Sender verify failed
 >>> using ACL "acl_20_20_20"
 >>> processing "accept" (TESTSUITE/test-config 111)
 >>>   message: sender verify failure
@@ -736,7 +1063,7 @@ LOG: H=[20.20.20.20] F=<x@y> rejected RCPT <x1@y>: Sender verify failed
 >>> using cached sender verify result
 >>> accept: condition test failed in ACL "acl_20_20_20"
 >>> accept: endpass encountered - denying access
-LOG: H=[20.20.20.20] F=<x@y> rejected RCPT <x2@y>: Sender verify failed
+LOG: H=(test) [20.20.20.20] F=<x@y> rejected RCPT <x2@y>: Sender verify failed
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -745,14 +1072,22 @@ LOG: H=[20.20.20.20] F=<x@y> rejected RCPT <x2@y>: Sender verify failed
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_20_20_20"
 >>> processing "accept" (TESTSUITE/test-config 111)
 >>>   message: sender verify failure
 >>> check verify = sender
 >>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>> routing userx@y
->>> userx in "^ok"? no (end of list)
->>> userx in "^userx : ^cond-"? yes (matched "^userx")
+>>> userx in local_parts?
+>>>  list element: ^ok
+>>> userx in local_parts? no (end of list)
+>>> userx in local_parts?
+>>>  list element: ^userx
+>>>  userx in local_parts? yes (matched "^userx")
 >>> calling r1 router
 >>> routed by r1 router
 >>> ----------- end verify ------------
@@ -760,14 +1095,21 @@ LOG: H=[20.20.20.20] F=<x@y> rejected RCPT <x2@y>: Sender verify failed
 >>> check verify = recipient
 >>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>> routing x1@y
->>> x1 in "^ok"? no (end of list)
->>> x1 in "^userx : ^cond-"? no (end of list)
->>> x1 in "fail"? no (end of list)
+>>> x1 in local_parts?
+>>>  list element: ^ok
+>>> x1 in local_parts? no (end of list)
+>>> x1 in local_parts?
+>>>  list element: ^userx
+>>>  list element: ^cond-
+>>> x1 in local_parts? no (end of list)
+>>> x1 in local_parts?
+>>>  list element: fail
+>>> x1 in local_parts? no (end of list)
 >>> no more routers
 >>> ----------- end verify ------------
 >>> accept: condition test failed in ACL "acl_20_20_20"
 >>> accept: endpass encountered - denying access
-LOG: H=[20.20.20.20] F=<userx@y> rejected RCPT <x1@y>: Unrouteable address
+LOG: H=(test) [20.20.20.20] F=<userx@y> rejected RCPT <x1@y>: Unrouteable address
 >>> using ACL "acl_20_20_20"
 >>> processing "accept" (TESTSUITE/test-config 111)
 >>>   message: sender verify failure
@@ -777,8 +1119,12 @@ LOG: H=[20.20.20.20] F=<userx@y> rejected RCPT <x1@y>: Unrouteable address
 >>> check verify = recipient
 >>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>> routing userx@y
->>> userx in "^ok"? no (end of list)
->>> userx in "^userx : ^cond-"? yes (matched "^userx")
+>>> userx in local_parts?
+>>>  list element: ^ok
+>>> userx in local_parts? no (end of list)
+>>> userx in local_parts?
+>>>  list element: ^userx
+>>>  userx in local_parts? yes (matched "^userx")
 >>> calling r1 router
 >>> routed by r1 router
 >>> ----------- end verify ------------
@@ -792,27 +1138,42 @@ LOG: H=[20.20.20.20] F=<userx@y> rejected RCPT <x1@y>: Unrouteable address
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_21_21_21"
 >>> processing "accept" (TESTSUITE/test-config 118)
 >>> check verify = sender
 >>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>> routing userx@y
->>> userx in "^ok"? no (end of list)
->>> userx in "^userx : ^cond-"? yes (matched "^userx")
+>>> userx in local_parts?
+>>>  list element: ^ok
+>>> userx in local_parts? no (end of list)
+>>> userx in local_parts?
+>>>  list element: ^userx
+>>>  userx in local_parts? yes (matched "^userx")
 >>> calling r1 router
 >>> routed by r1 router
 >>> ----------- end verify ------------
 >>> check verify = recipient
 >>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>> routing x1@y
->>> x1 in "^ok"? no (end of list)
->>> x1 in "^userx : ^cond-"? no (end of list)
->>> x1 in "fail"? no (end of list)
+>>> x1 in local_parts?
+>>>  list element: ^ok
+>>> x1 in local_parts? no (end of list)
+>>> x1 in local_parts?
+>>>  list element: ^userx
+>>>  list element: ^cond-
+>>> x1 in local_parts? no (end of list)
+>>> x1 in local_parts?
+>>>  list element: fail
+>>> x1 in local_parts? no (end of list)
 >>> no more routers
 >>> ----------- end verify ------------
 >>> accept: condition test failed in ACL "acl_21_21_21"
 >>> end of ACL "acl_21_21_21": implicit DENY
-LOG: H=[21.21.21.21] F=<userx@y> rejected RCPT <x1@y>: Unrouteable address
+LOG: H=(test) [21.21.21.21] F=<userx@y> rejected RCPT <x1@y>: Unrouteable address
 >>> using ACL "acl_21_21_21"
 >>> processing "accept" (TESTSUITE/test-config 118)
 >>> check verify = sender
@@ -820,8 +1181,12 @@ LOG: H=[21.21.21.21] F=<userx@y> rejected RCPT <x1@y>: Unrouteable address
 >>> check verify = recipient
 >>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>> routing userx@y
->>> userx in "^ok"? no (end of list)
->>> userx in "^userx : ^cond-"? yes (matched "^userx")
+>>> userx in local_parts?
+>>>  list element: ^ok
+>>> userx in local_parts? no (end of list)
+>>> userx in local_parts?
+>>>  list element: ^userx
+>>>  userx in local_parts? yes (matched "^userx")
 >>> calling r1 router
 >>> routed by r1 router
 >>> ----------- end verify ------------
@@ -834,52 +1199,75 @@ LOG: H=[21.21.21.21] F=<userx@y> rejected RCPT <x1@y>: Unrouteable address
 >>> check verify = recipient
 >>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>> routing fail@y
->>> fail in "^ok"? no (end of list)
->>> fail in "^userx : ^cond-"? no (end of list)
->>> fail in "fail"? yes (matched "fail")
+>>> fail in local_parts?
+>>>  list element: ^ok
+>>> fail in local_parts? no (end of list)
+>>> fail in local_parts?
+>>>  list element: ^userx
+>>>  list element: ^cond-
+>>> fail in local_parts? no (end of list)
+>>> fail in local_parts?
+>>>  list element: fail
+>>>  fail in local_parts? yes (matched "fail")
 >>> calling r2 router
 >>> r2 router forced address failure
 >>> ----------- end verify ------------
 >>> accept: condition test failed in ACL "acl_21_21_21"
 >>> end of ACL "acl_21_21_21": implicit DENY
-LOG: H=[21.21.21.21] F=<userx@y> rejected RCPT <fail@y>: here is a fail message
+LOG: H=(test) [21.21.21.21] F=<userx@y> rejected RCPT <fail@y>: here is a fail message
 >>> using ACL "acl_21_21_21"
 >>> processing "accept" (TESTSUITE/test-config 118)
 >>> check verify = sender
 >>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>> routing x@y
->>> x in "^ok"? no (end of list)
->>> x in "^userx : ^cond-"? no (end of list)
->>> x in "fail"? no (end of list)
+>>> x in local_parts?
+>>>  list element: ^ok
+>>> x in local_parts? no (end of list)
+>>> x in local_parts?
+>>>  list element: ^userx
+>>>  list element: ^cond-
+>>> x in local_parts? no (end of list)
+>>> x in local_parts?
+>>>  list element: fail
+>>> x in local_parts? no (end of list)
 >>> no more routers
 >>> ----------- end verify ------------
 >>> accept: condition test failed in ACL "acl_21_21_21"
 >>> end of ACL "acl_21_21_21": implicit DENY
-LOG: H=[21.21.21.21] sender verify fail for <x@y>: Unrouteable address
-LOG: H=[21.21.21.21] F=<x@y> rejected RCPT <x1@y>: Sender verify failed
+LOG: H=(test) [21.21.21.21] sender verify fail for <x@y>: Unrouteable address
+LOG: H=(test) [21.21.21.21] F=<x@y> rejected RCPT <x1@y>: Sender verify failed
 >>> using ACL "acl_21_21_21"
 >>> processing "accept" (TESTSUITE/test-config 118)
 >>> check verify = sender
 >>> using cached sender verify result
 >>> accept: condition test failed in ACL "acl_21_21_21"
 >>> end of ACL "acl_21_21_21": implicit DENY
-LOG: H=[21.21.21.21] F=<x@y> rejected RCPT <x2@y>: Sender verify failed
->>> host in smtp_accept_max_nonmail_hosts? yes (matched "*")
+LOG: H=(test) [21.21.21.21] F=<x@y> rejected RCPT <x2@y>: Sender verify failed
+>>> host in smtp_accept_max_nonmail_hosts?
+>>>  list element: *
+>>>  host in smtp_accept_max_nonmail_hosts? yes (matched "*")
 >>> using ACL "acl_21_21_21"
 >>> processing "accept" (TESTSUITE/test-config 118)
 >>> check verify = sender
 >>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>> routing fail@y
->>> fail in "^ok"? no (end of list)
->>> fail in "^userx : ^cond-"? no (end of list)
->>> fail in "fail"? yes (matched "fail")
+>>> fail in local_parts?
+>>>  list element: ^ok
+>>> fail in local_parts? no (end of list)
+>>> fail in local_parts?
+>>>  list element: ^userx
+>>>  list element: ^cond-
+>>> fail in local_parts? no (end of list)
+>>> fail in local_parts?
+>>>  list element: fail
+>>>  fail in local_parts? yes (matched "fail")
 >>> calling r2 router
 >>> r2 router forced address failure
 >>> ----------- end verify ------------
 >>> accept: condition test failed in ACL "acl_21_21_21"
 >>> end of ACL "acl_21_21_21": implicit DENY
-LOG: H=[21.21.21.21] sender verify fail for <fail@y>: here is a fail message
-LOG: H=[21.21.21.21] F=<fail@y> rejected RCPT <x@y>: Sender verify failed
+LOG: H=(test) [21.21.21.21] sender verify fail for <fail@y>: here is a fail message
+LOG: H=(test) [21.21.21.21] F=<fail@y> rejected RCPT <x@y>: Sender verify failed
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -888,18 +1276,28 @@ LOG: H=[21.21.21.21] F=<fail@y> rejected RCPT <x@y>: Sender verify failed
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_22_22_22"
 >>> processing "accept" (TESTSUITE/test-config 123)
 >>> check recipients = x@y
+>>> userx@y in "x@y"?
+>>>  list element: x@y
 >>> userx@y in "x@y"? no (end of list)
 >>> accept: condition test failed in ACL "acl_22_22_22"
 >>> end of ACL "acl_22_22_22": implicit DENY
-LOG: H=[22.22.22.22] F=<userx@y> rejected RCPT <userx@y>
+LOG: H=(test) [22.22.22.22] F=<userx@y> rejected RCPT <userx@y>
 >>> using ACL "acl_22_22_22"
 >>> processing "accept" (TESTSUITE/test-config 123)
 >>> check recipients = x@y
->>> y in "y"? yes (matched "y")
->>> x@y in "x@y"? yes (matched "x@y")
+>>> x@y in "x@y"?
+>>>  list element: x@y
+>>>  y in "y"?
+>>>   list element: y
+>>>   y in "y"? yes (matched "y")
+>>>  x@y in "x@y"? yes (matched "x@y")
 >>> accept: condition test succeeded in ACL "acl_22_22_22"
 >>> end of ACL "acl_22_22_22": ACCEPT
 >>> host in hosts_connection_nolog? no (option unset)
@@ -910,33 +1308,52 @@ LOG: H=[22.22.22.22] F=<userx@y> rejected RCPT <userx@y>
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_23_23_23"
 >>> processing "deny" (TESTSUITE/test-config 126)
 >>> check hosts = 23.23.23.0
->>> host in "23.23.23.0"? yes (matched "23.23.23.0")
+>>> host in "23.23.23.0"?
+>>>  list element: 23.23.23.0
+>>>  host in "23.23.23.0"? yes (matched "23.23.23.0")
 >>>   message: sender must verify
 >>> check !verify = sender
 >>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>> routing x@y
->>> x in "^ok"? no (end of list)
->>> x in "^userx : ^cond-"? no (end of list)
->>> x in "fail"? no (end of list)
+>>> x in local_parts?
+>>>  list element: ^ok
+>>> x in local_parts? no (end of list)
+>>> x in local_parts?
+>>>  list element: ^userx
+>>>  list element: ^cond-
+>>> x in local_parts? no (end of list)
+>>> x in local_parts?
+>>>  list element: fail
+>>> x in local_parts? no (end of list)
 >>> no more routers
 >>> ----------- end verify ------------
 >>> deny: condition test succeeded in ACL "acl_23_23_23"
 >>> end of ACL "acl_23_23_23": DENY
-LOG: H=[23.23.23.0] sender verify fail for <x@y>: Unrouteable address
-LOG: H=[23.23.23.0] F=<x@y> rejected RCPT <userx@y>: Sender verify failed
+LOG: H=(test) [23.23.23.0] sender verify fail for <x@y>: Unrouteable address
+LOG: H=(test) [23.23.23.0] F=<x@y> rejected RCPT <userx@y>: Sender verify failed
 >>> using ACL "acl_23_23_23"
 >>> processing "deny" (TESTSUITE/test-config 126)
 >>> check hosts = 23.23.23.0
->>> host in "23.23.23.0"? yes (matched "23.23.23.0")
+>>> host in "23.23.23.0"?
+>>>  list element: 23.23.23.0
+>>>  host in "23.23.23.0"? yes (matched "23.23.23.0")
 >>>   message: sender must verify
 >>> check !verify = sender
 >>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>> routing userx@y
->>> userx in "^ok"? no (end of list)
->>> userx in "^userx : ^cond-"? yes (matched "^userx")
+>>> userx in local_parts?
+>>>  list element: ^ok
+>>> userx in local_parts? no (end of list)
+>>> userx in local_parts?
+>>>  list element: ^userx
+>>>  userx in local_parts? yes (matched "^userx")
 >>> calling r1 router
 >>> routed by r1 router
 >>> ----------- end verify ------------
@@ -952,9 +1369,15 @@ LOG: H=[23.23.23.0] F=<x@y> rejected RCPT <userx@y>: Sender verify failed
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_23_23_23"
 >>> processing "deny" (TESTSUITE/test-config 126)
 >>> check hosts = 23.23.23.0
+>>> host in "23.23.23.0"?
+>>>  list element: 23.23.23.0
 >>> host in "23.23.23.0"? no (end of list)
 >>> deny: condition test failed in ACL "acl_23_23_23"
 >>> processing "accept" (TESTSUITE/test-config 129)
@@ -968,13 +1391,17 @@ LOG: H=[23.23.23.0] F=<x@y> rejected RCPT <userx@y>: Sender verify failed
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_24_24_24"
 >>> processing "warn" (TESTSUITE/test-config 132)
 >>>   message: X-Warn: sender didn't verify
 >>> check condition = yes
 >>> warn: condition test succeeded in ACL "acl_24_24_24"
 >>> end of ACL "acl_24_24_24": implicit DENY
-LOG: H=[24.24.24.24] F=<x@y> rejected RCPT <userx@y>
+LOG: H=(test) [24.24.24.24] F=<x@y> rejected RCPT <userx@y>
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -983,14 +1410,20 @@ LOG: H=[24.24.24.24] F=<x@y> rejected RCPT <userx@y>
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_25_25_25"
 >>> processing "deny" (TESTSUITE/test-config 136)
 >>>   message: denying domains=x
 >>> check domains = x
+>>> y in "x"?
+>>>  list element: x
 >>> y in "x"? no (end of list)
 >>> deny: condition test failed in ACL "acl_25_25_25"
 >>> end of ACL "acl_25_25_25": implicit DENY
-LOG: H=[25.25.25.25] F=<x@y> rejected RCPT <x@y>
+LOG: H=(test) [25.25.25.25] F=<x@y> rejected RCPT <x@y>
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -999,10 +1432,16 @@ LOG: H=[25.25.25.25] F=<x@y> rejected RCPT <x@y>
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_26_26_26"
 >>> processing "deny" (TESTSUITE/test-config 140)
 >>> check senders = :
->>>  in ":"? yes (matched "")
+>>>  in ":"?
+>>>  list element: 
+>>>   in ":"? yes (matched "")
 >>>   message: bounce messages can have only one recipient
 >>> check condition = ${if > {$recipients_count}{0}{yes}{no}}
 >>>                 = no
@@ -1013,23 +1452,27 @@ LOG: H=[25.25.25.25] F=<x@y> rejected RCPT <x@y>
 >>> using ACL "acl_26_26_26"
 >>> processing "deny" (TESTSUITE/test-config 140)
 >>> check senders = :
->>>  in ":"? yes (matched "")
+>>>  in ":"?
+>>>  list element: 
+>>>   in ":"? yes (matched "")
 >>>   message: bounce messages can have only one recipient
 >>> check condition = ${if > {$recipients_count}{0}{yes}{no}}
 >>>                 = yes
 >>> deny: condition test succeeded in ACL "acl_26_26_26"
 >>> end of ACL "acl_26_26_26": DENY
-LOG: H=[26.26.26.26] F=<> rejected RCPT <y@y>: bounce messages can have only one recipient
+LOG: H=(test) [26.26.26.26] F=<> rejected RCPT <y@y>: bounce messages can have only one recipient
 >>> using ACL "acl_26_26_26"
 >>> processing "deny" (TESTSUITE/test-config 140)
 >>> check senders = :
->>>  in ":"? yes (matched "")
+>>>  in ":"?
+>>>  list element: 
+>>>   in ":"? yes (matched "")
 >>>   message: bounce messages can have only one recipient
 >>> check condition = ${if > {$recipients_count}{0}{yes}{no}}
 >>>                 = yes
 >>> deny: condition test succeeded in ACL "acl_26_26_26"
 >>> end of ACL "acl_26_26_26": DENY
-LOG: H=[26.26.26.26] F=<> rejected RCPT <z@y>: bounce messages can have only one recipient
+LOG: H=(test) [26.26.26.26] F=<> rejected RCPT <z@y>: bounce messages can have only one recipient
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -1038,6 +1481,10 @@ LOG: H=[26.26.26.26] F=<> rejected RCPT <z@y>: bounce messages can have only one
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_27_27_27"
 >>> processing "deny" (TESTSUITE/test-config 147)
 >>> check hosts = ${if eq {1}{0}{}fail}
@@ -1054,26 +1501,40 @@ LOG: H=[26.26.26.26] F=<> rejected RCPT <z@y>: bounce messages can have only one
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_28_28_28"
 >>> processing "accept" (TESTSUITE/test-config 151)
 >>> check sender_domains = : okdomain
->>>  in ": okdomain"? yes (matched "")
+>>>  in ": okdomain"?
+>>>  list element: 
+>>>   in ": okdomain"? yes (matched "")
 >>> accept: condition test succeeded in ACL "acl_28_28_28"
 >>> end of ACL "acl_28_28_28": ACCEPT
 >>> using ACL "acl_28_28_28"
 >>> processing "accept" (TESTSUITE/test-config 151)
 >>> check sender_domains = : okdomain
->>> okdomain in ": okdomain"? yes (matched "okdomain")
+>>> okdomain in ": okdomain"?
+>>>  list element: 
+>>>  list element: okdomain
+>>>  okdomain in ": okdomain"? yes (matched "okdomain")
 >>> accept: condition test succeeded in ACL "acl_28_28_28"
 >>> end of ACL "acl_28_28_28": ACCEPT
->>> host in smtp_accept_max_nonmail_hosts? yes (matched "*")
+>>> host in smtp_accept_max_nonmail_hosts?
+>>>  list element: *
+>>>  host in smtp_accept_max_nonmail_hosts? yes (matched "*")
 >>> using ACL "acl_28_28_28"
 >>> processing "accept" (TESTSUITE/test-config 151)
 >>> check sender_domains = : okdomain
+>>> baddomain in ": okdomain"?
+>>>  list element: 
+>>>  list element: okdomain
 >>> baddomain in ": okdomain"? no (end of list)
 >>> accept: condition test failed in ACL "acl_28_28_28"
 >>> end of ACL "acl_28_28_28": implicit DENY
-LOG: H=[28.28.28.28] F=<a@baddomain> rejected RCPT <x@y>
+LOG: H=(test) [28.28.28.28] F=<a@baddomain> rejected RCPT <x@y>
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -1082,6 +1543,10 @@ LOG: H=[28.28.28.28] F=<a@baddomain> rejected RCPT <x@y>
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_V4NET_0_0"
 >>> processing "require" (TESTSUITE/test-config 97)
 >>> check verify = reverse_host_lookup
@@ -1089,8 +1554,16 @@ LOG: H=[28.28.28.28] F=<a@baddomain> rejected RCPT <x@y>
 >>> looking up host name for V4NET.0.0.3
 >>> IP address lookup yielded "ten-3.test.ex"
 >>>   alias "ten-3-alias.test.ex"
+>>>  check dnssec require list
+>>>   ten-3.test.ex not in empty list (option unset? cannot trace name)
+>>>  check dnssec request list
+>>>   ten-3.test.ex not in empty list (option unset? cannot trace name)
 >>> checking addresses for ten-3.test.ex
 >>>   V4NET.0.0.3 OK
+>>>  check dnssec require list
+>>>   ten-3-alias.test.ex not in empty list (option unset? cannot trace name)
+>>>  check dnssec request list
+>>>   ten-3-alias.test.ex not in empty list (option unset? cannot trace name)
 >>> checking addresses for ten-3-alias.test.ex
 >>>   V4NET.0.0.3 OK
 >>> require: condition test succeeded in ACL "acl_V4NET_0_0"
@@ -1105,6 +1578,10 @@ LOG: H=[28.28.28.28] F=<a@baddomain> rejected RCPT <x@y>
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_V4NET_0_0"
 >>> processing "require" (TESTSUITE/test-config 97)
 >>> check verify = reverse_host_lookup
@@ -1113,7 +1590,7 @@ LOG: H=[28.28.28.28] F=<a@baddomain> rejected RCPT <x@y>
 LOG: no host name found for IP address V4NET.0.0.97
 >>> require: condition test failed in ACL "acl_V4NET_0_0"
 >>> end of ACL "acl_V4NET_0_0": not OK
-LOG: H=[V4NET.0.0.97] F=<> rejected RCPT <x@y>: host lookup failed for reverse lookup check (failed to find host name from IP address)
+LOG: H=(test) [V4NET.0.0.97] F=<> rejected RCPT <x@y>: host lookup failed for reverse lookup check (failed to find host name from IP address)
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -1122,9 +1599,15 @@ LOG: H=[V4NET.0.0.97] F=<> rejected RCPT <x@y>: host lookup failed for reverse l
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_V4NET_99_99"
 >>> processing "accept" (TESTSUITE/test-config 100)
 >>> check local_parts = defer_ok
+>>> x in "defer_ok"?
+>>>  list element: defer_ok
 >>> x in "defer_ok"? no (end of list)
 >>> accept: condition test failed in ACL "acl_V4NET_99_99"
 >>> processing "accept" (TESTSUITE/test-config 102)
@@ -1132,10 +1615,14 @@ LOG: H=[V4NET.0.0.97] F=<> rejected RCPT <x@y>: host lookup failed for reverse l
 >>> looking up host name to force name/address consistency check
 >>> looking up host name for V4NET.99.99.96
 >>> IP address lookup yielded "x.test.again.dns"
->>> x.test.again.dns in dns_again_means_nonexist? no (option unset)
+>>>  check dnssec require list
+>>>   x.test.again.dns not in empty list (option unset? cannot trace name)
+>>>  check dnssec request list
+>>>   x.test.again.dns not in empty list (option unset? cannot trace name)
+>>>  x.test.again.dns in dns_again_means_nonexist? no (option unset)
 >>> temporary error for host name lookup
 >>> accept: condition test deferred in ACL "acl_V4NET_99_99"
-LOG: H=[V4NET.99.99.96] F=<> temporarily rejected RCPT <x@y>: host lookup deferred for reverse lookup check
+LOG: H=(test) [V4NET.99.99.96] F=<> temporarily rejected RCPT <x@y>: host lookup deferred for reverse lookup check
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -1144,15 +1631,25 @@ LOG: H=[V4NET.99.99.96] F=<> temporarily rejected RCPT <x@y>: host lookup deferr
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_V4NET_99_99"
 >>> processing "accept" (TESTSUITE/test-config 100)
 >>> check local_parts = defer_ok
->>> defer_ok in "defer_ok"? yes (matched "defer_ok")
+>>> defer_ok in "defer_ok"?
+>>>  list element: defer_ok
+>>>  defer_ok in "defer_ok"? yes (matched "defer_ok")
 >>> check verify = reverse_host_lookup/defer_ok
 >>> looking up host name to force name/address consistency check
 >>> looking up host name for V4NET.99.99.96
 >>> IP address lookup yielded "x.test.again.dns"
->>> x.test.again.dns in dns_again_means_nonexist? no (option unset)
+>>>  check dnssec require list
+>>>   x.test.again.dns not in empty list (option unset? cannot trace name)
+>>>  check dnssec request list
+>>>   x.test.again.dns not in empty list (option unset? cannot trace name)
+>>>  x.test.again.dns in dns_again_means_nonexist? no (option unset)
 >>> temporary error for host name lookup
 >>> accept: condition test succeeded in ACL "acl_V4NET_99_99"
 >>> end of ACL "acl_V4NET_99_99": ACCEPT
@@ -1164,23 +1661,29 @@ LOG: H=[V4NET.99.99.96] F=<> temporarily rejected RCPT <x@y>: host lookup deferr
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_29_29_29"
 >>> processing "deny" (TESTSUITE/test-config 154)
 >>> check dnslists = test.ex/$sender_address_domain
 >>>                = test.ex/localhost
->>> DNS list check: test.ex/localhost
+>>> dnslists check: test.ex/localhost
 >>> new DNS lookup for localhost.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
 >>> DNS lookup for localhost.test.ex succeeded (yielding 127.0.0.1)
 >>> => that means localhost is listed at test.ex
 >>> deny: condition test succeeded in ACL "acl_29_29_29"
 >>> end of ACL "acl_29_29_29": DENY
-LOG: H=[29.29.29.29] F=<a@localhost> rejected RCPT <x@y>
+LOG: H=(test) [29.29.29.29] F=<a@localhost> rejected RCPT <x@y>
 >>> using ACL "acl_29_29_29"
 >>> processing "deny" (TESTSUITE/test-config 154)
 >>> check dnslists = test.ex/$sender_address_domain
 >>>                = test.ex/elsewhere
->>> DNS list check: test.ex/elsewhere
+>>> dnslists check: test.ex/elsewhere
 >>> new DNS lookup for elsewhere.test.ex
+>>> dnslists: wrote cache entry, ttl=3000
 >>> DNS lookup for elsewhere.test.ex failed
 >>> => that means elsewhere is not listed at test.ex
 >>> deny: condition test failed in ACL "acl_29_29_29"
@@ -1195,25 +1698,31 @@ LOG: H=[29.29.29.29] F=<a@localhost> rejected RCPT <x@y>
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_30_30_30"
 >>> processing "deny" (TESTSUITE/test-config 161)
 >>>   message: domain=$dnslist_domain\nvalue=$dnslist_value\nmatched=$dnslist_matched\ntext="$dnslist_text"
 >>> check dnslists = test.ex=V4NET.0.0.1,127.0.0.2/$sender_address_domain
 >>>                = test.ex=V4NET.0.0.1,127.0.0.2/ten-1
->>> DNS list check: test.ex=V4NET.0.0.1,127.0.0.2/ten-1
+>>> dnslists check: test.ex=V4NET.0.0.1,127.0.0.2/ten-1
 >>> new DNS lookup for ten-1.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
 >>> DNS lookup for ten-1.test.ex succeeded (yielding V4NET.0.0.1)
 >>> => that means ten-1 is listed at test.ex
 >>> deny: condition test succeeded in ACL "acl_30_30_30"
 >>> end of ACL "acl_30_30_30": DENY
-LOG: H=[30.30.30.30] F=<a@ten-1> rejected RCPT <x@y>: domain=test.ex
+LOG: H=(test) [30.30.30.30] F=<a@ten-1> rejected RCPT <x@y>: domain=test.ex
 >>> using ACL "acl_30_30_30"
 >>> processing "deny" (TESTSUITE/test-config 161)
 >>>   message: domain=$dnslist_domain\nvalue=$dnslist_value\nmatched=$dnslist_matched\ntext="$dnslist_text"
 >>> check dnslists = test.ex=V4NET.0.0.1,127.0.0.2/$sender_address_domain
 >>>                = test.ex=V4NET.0.0.1,127.0.0.2/ten-2
->>> DNS list check: test.ex=V4NET.0.0.1,127.0.0.2/ten-2
+>>> dnslists check: test.ex=V4NET.0.0.1,127.0.0.2/ten-2
 >>> new DNS lookup for ten-2.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
 >>> DNS lookup for ten-2.test.ex succeeded (yielding V4NET.0.0.2)
 >>> => but we are not accepting this block class because
 >>> => there was no match for =V4NET.0.0.1,127.0.0.2
@@ -1221,19 +1730,22 @@ LOG: H=[30.30.30.30] F=<a@ten-1> rejected RCPT <x@y>: domain=test.ex
 >>> processing "accept" (TESTSUITE/test-config 163)
 >>> accept: condition test succeeded in ACL "acl_30_30_30"
 >>> end of ACL "acl_30_30_30": ACCEPT
->>> host in smtp_accept_max_nonmail_hosts? yes (matched "*")
+>>> host in smtp_accept_max_nonmail_hosts?
+>>>  list element: *
+>>>  host in smtp_accept_max_nonmail_hosts? yes (matched "*")
 >>> using ACL "acl_30_30_30"
 >>> processing "deny" (TESTSUITE/test-config 161)
 >>>   message: domain=$dnslist_domain\nvalue=$dnslist_value\nmatched=$dnslist_matched\ntext="$dnslist_text"
 >>> check dnslists = test.ex=V4NET.0.0.1,127.0.0.2/$sender_address_domain
 >>>                = test.ex=V4NET.0.0.1,127.0.0.2/13.12.11.V4NET.rbl
->>> DNS list check: test.ex=V4NET.0.0.1,127.0.0.2/13.12.11.V4NET.rbl
+>>> dnslists check: test.ex=V4NET.0.0.1,127.0.0.2/13.12.11.V4NET.rbl
 >>> new DNS lookup for 13.12.11.V4NET.rbl.test.ex
+>>> dnslists: wrote cache entry, ttl=3
 >>> DNS lookup for 13.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
 >>> => that means 13.12.11.V4NET.rbl is listed at test.ex
 >>> deny: condition test succeeded in ACL "acl_30_30_30"
 >>> end of ACL "acl_30_30_30": DENY
-LOG: H=[30.30.30.30] F=<a@13.12.11.V4NET.rbl> rejected RCPT <x@y>: domain=test.ex
+LOG: H=(test) [30.30.30.30] F=<a@13.12.11.V4NET.rbl> rejected RCPT <x@y>: domain=test.ex
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -1242,12 +1754,16 @@ LOG: H=[30.30.30.30] F=<a@13.12.11.V4NET.rbl> rejected RCPT <x@y>: domain=test.e
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_31_31_31"
 >>> processing "deny" (TESTSUITE/test-config 167)
 >>> check dnslists = test.ex/$sender_address_domain+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+END
 >>>                = test.ex/y+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+END
->>> DNS list check: test.ex/y+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+END
-LOG: dnslist query is too long (ignored): y+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+...
+>>> dnslists check: test.ex/y+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+END
+LOG: dnslist query is too long (ignored): y+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+END.test.ex...
 >>> deny: condition test failed in ACL "acl_31_31_31"
 >>> processing "accept" (TESTSUITE/test-config 168)
 >>> accept: condition test succeeded in ACL "acl_31_31_31"
@@ -1260,20 +1776,31 @@ LOG: dnslist query is too long (ignored): y+extra+extra+extra+extra+extra+extra+
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_33_33_33"
 >>> processing "accept" (TESTSUITE/test-config 184)
 >>>   message: sender verify failure
 >>> check verify = sender/no_details
 >>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>> routing x@y
->>> x in "^ok"? no (end of list)
->>> x in "^userx : ^cond-"? no (end of list)
->>> x in "fail"? no (end of list)
+>>> x in local_parts?
+>>>  list element: ^ok
+>>> x in local_parts? no (end of list)
+>>> x in local_parts?
+>>>  list element: ^userx
+>>>  list element: ^cond-
+>>> x in local_parts? no (end of list)
+>>> x in local_parts?
+>>>  list element: fail
+>>> x in local_parts? no (end of list)
 >>> no more routers
 >>> ----------- end verify ------------
 >>> accept: condition test failed in ACL "acl_33_33_33"
 >>> accept: endpass encountered - denying access
-LOG: H=[33.33.33.33] F=<x@y> rejected RCPT <x1@y>: Sender verify failed
+LOG: H=(test) [33.33.33.33] F=<x@y> rejected RCPT <x1@y>: Sender verify failed
 >>> using ACL "acl_33_33_33"
 >>> processing "accept" (TESTSUITE/test-config 184)
 >>>   message: sender verify failure
@@ -1281,7 +1808,7 @@ LOG: H=[33.33.33.33] F=<x@y> rejected RCPT <x1@y>: Sender verify failed
 >>> using cached sender verify result
 >>> accept: condition test failed in ACL "acl_33_33_33"
 >>> accept: endpass encountered - denying access
-LOG: H=[33.33.33.33] F=<x@y> rejected RCPT <x2@y>: Sender verify failed
+LOG: H=(test) [33.33.33.33] F=<x@y> rejected RCPT <x2@y>: Sender verify failed
 >>> host in hosts_connection_nolog? no (option unset)
 >>> host in host_lookup? no (option unset)
 >>> host in host_reject_connection? no (option unset)
@@ -1290,37 +1817,42 @@ LOG: H=[33.33.33.33] F=<x@y> rejected RCPT <x2@y>: Sender verify failed
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_44_44_44"
 >>> processing "warn" (TESTSUITE/test-config 192)
 >>> check dnslists = test.again.dns
->>> DNS list check: test.again.dns
+>>> dnslists check: test.again.dns
 >>> new DNS lookup for 1.44.44.44.test.again.dns
 >>> 1.44.44.44.test.again.dns in dns_again_means_nonexist? no (option unset)
+>>> dnslists: wrote cache entry, ttl=3600
 LOG: DNS list lookup defer (probably timeout) for 1.44.44.44.test.again.dns: assumed not in list
 >>> warn: condition test failed in ACL "acl_44_44_44"
 >>> processing "warn" (TESTSUITE/test-config 193)
 >>> check dnslists = +include_unknown : test.again.dns
->>> DNS list check: +include_unknown
->>> DNS list check: test.again.dns
->>> using result of previous DNS lookup
+>>> dnslists check: +include_unknown
+>>> dnslists check: test.again.dns
+>>> dnslists: using result of previous lookup
 LOG: DNS list lookup defer (probably timeout) for 1.44.44.44.test.again.dns: assumed in list
 >>> => that means 44.44.44.1 is listed at test.again.dns
 >>> warn: condition test succeeded in ACL "acl_44_44_44"
 >>> processing "warn" (TESTSUITE/test-config 194)
 >>> check dnslists = +exclude_unknown : test.again.dns
->>> DNS list check: +exclude_unknown
->>> DNS list check: test.again.dns
->>> using result of previous DNS lookup
+>>> dnslists check: +exclude_unknown
+>>> dnslists check: test.again.dns
+>>> dnslists: using result of previous lookup
 LOG: DNS list lookup defer (probably timeout) for 1.44.44.44.test.again.dns: assumed not in list
 >>> warn: condition test failed in ACL "acl_44_44_44"
 >>> processing "warn" (TESTSUITE/test-config 195)
 >>> check dnslists = +defer_unknown : test.again.dns
->>> DNS list check: +defer_unknown
->>> DNS list check: test.again.dns
->>> using result of previous DNS lookup
+>>> dnslists check: +defer_unknown
+>>> dnslists check: test.again.dns
+>>> dnslists: using result of previous lookup
 LOG: DNS list lookup defer (probably timeout) for 1.44.44.44.test.again.dns: returned DEFER
 >>> warn: condition test deferred in ACL "acl_44_44_44"
-LOG: H=[44.44.44.1] Warning: ACL "warn" statement skipped: condition test deferred
+LOG: H=(test) [44.44.44.1] Warning: ACL "warn" statement skipped: condition test deferred
 >>> processing "accept" (TESTSUITE/test-config 196)
 >>> accept: condition test succeeded in ACL "acl_44_44_44"
 >>> end of ACL "acl_44_44_44": ACCEPT
@@ -1332,13 +1864,19 @@ LOG: H=[44.44.44.1] Warning: ACL "warn" statement skipped: condition test deferr
 >>> 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)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
 >>> using ACL "acl_60_60_60"
 >>> processing "accept" (TESTSUITE/test-config 226)
 >>> check !acl = TESTSUITE/aux-fixed/0023.acl2
 >>>  read ACL from file TESTSUITE/aux-fixed/0023.acl2
->>>  processing "accept" (TESTSUITE/test-config 271)
+>>>  processing "accept" (TESTSUITE/test-config 272)
 >>>  check domains = b
->>> y in "b"? no (end of list)
+>>>  y in "b"?
+>>>   list element: b
+>>>  y in "b"? no (end of list)
 >>>  accept: condition test failed in ACL "TESTSUITE/aux-fixed/0023.acl2"
 >>>  end of ACL "TESTSUITE/aux-fixed/0023.acl2": implicit DENY
 >>> accept: condition test succeeded in ACL "acl_60_60_60"
@@ -1347,13 +1885,17 @@ LOG: H=[44.44.44.1] Warning: ACL "warn" statement skipped: condition test deferr
 >>> processing "accept" (TESTSUITE/test-config 226)
 >>> check !acl = TESTSUITE/aux-fixed/0023.acl2
 >>>  using ACL "TESTSUITE/aux-fixed/0023.acl2"
->>>  processing "accept" (TESTSUITE/test-config 271)
+>>>  processing "accept" (TESTSUITE/test-config 272)
 >>>  check domains = b
->>> b in "b"? yes (matched "b")
+>>>  b in "b"?
+>>>   list element: b
+>>>   b in "b"? yes (matched "b")
 >>>  check local_parts = a
->>> a in "a"? yes (matched "a")
+>>>  a in "a"?
+>>>   list element: a
+>>>   a in "a"? yes (matched "a")
 >>>  accept: condition test succeeded in ACL "TESTSUITE/aux-fixed/0023.acl2"
 >>>  end of ACL "TESTSUITE/aux-fixed/0023.acl2": ACCEPT
 >>> accept: condition test failed in ACL "acl_60_60_60"
 >>> end of ACL "acl_60_60_60": implicit DENY
-LOG: H=[60.60.60.60] F=<x@y> rejected RCPT <a@b>
+LOG: H=(test) [60.60.60.60] F=<x@y> rejected RCPT <a@b>