>>> 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)
->>> host in pipelining_connect_advertise_hosts?
->>> list element:
>>> test in helo_lookup_domains?
>>> list element: @
>>> list element: @[]
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing user@bad.domain
->>> bad.domain in "! +local_domains"?
->>> list element: ! +local_domains
->>> bad.domain in "test.ex"?
->>> list element: test.ex
->>> bad.domain in "test.ex"? no (end of list)
->>> bad.domain in "! +local_domains"? yes (end of list)
+>>> bad.domain in domains?
+>>> list element: !░+local_domains
+>>> start sublist local_domains
+>>> bad.domain in "test.ex"?
+>>> ╎list element: test.ex
+>>> bad.domain in "test.ex"? no (end of list)
+>>> end sublist local_domains
+>>> bad.domain in domains? yes (end of list)
>>> calling fail_sender router
>>> bad.domain in "bad.domain"?
>>> list element: bad.domain
>>> 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)
->>> host in pipelining_connect_advertise_hosts?
->>> list element:
>>> test in helo_lookup_domains?
>>> list element: @
>>> list element: @[]
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing user@bad.domain2
->>> bad.domain2 in "! +local_domains"?
->>> list element: ! +local_domains
->>> bad.domain2 in "test.ex"?
->>> list element: test.ex
->>> bad.domain2 in "test.ex"? no (end of list)
->>> bad.domain2 in "! +local_domains"? yes (end of list)
+>>> bad.domain2 in domains?
+>>> list element: !░+local_domains
+>>> start sublist local_domains
+>>> bad.domain2 in "test.ex"?
+>>> ╎list element: test.ex
+>>> bad.domain2 in "test.ex"? no (end of list)
+>>> end sublist local_domains
+>>> bad.domain2 in domains? yes (end of list)
>>> calling fail_sender router
>>> bad.domain2 in "bad.domain"?
>>> list element: bad.domain
>>> bad.domain2 in "bad.domain"? no (end of list)
>>> fail_sender router declined for user@bad.domain2
->>> bad.domain2 in "! +local_domains"?
->>> list element: ! +local_domains
->>> bad.domain2 in "! +local_domains"? yes (end of list)
+>>> bad.domain2 in domains?
+>>> list element: !░+local_domains
+>>> start sublist local_domains
+>>> cached no match for +local_domains
+>>> cached lookup data = NULL
+>>> bad.domain2 in domains? yes (end of list)
>>> calling fail_sender2 router
>>> bad.domain2 in "bad.domain2"?
>>> list element: bad.domain2
>>> 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)
->>> host in pipelining_connect_advertise_hosts?
->>> list element:
>>> test in helo_lookup_domains?
>>> list element: @
>>> list element: @[]
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing user@ten-1.test.ex
->>> ten-1.test.ex in "! +local_domains"?
->>> list element: ! +local_domains
->>> ten-1.test.ex in "test.ex"?
->>> list element: test.ex
->>> ten-1.test.ex in "test.ex"? no (end of list)
->>> ten-1.test.ex in "! +local_domains"? yes (end of list)
+>>> ten-1.test.ex in domains?
+>>> list element: !░+local_domains
+>>> start sublist local_domains
+>>> ten-1.test.ex in "test.ex"?
+>>> ╎list element: test.ex
+>>> ten-1.test.ex in "test.ex"? no (end of list)
+>>> end sublist local_domains
+>>> ten-1.test.ex in domains? yes (end of list)
>>> calling fail_sender router
>>> ten-1.test.ex in "bad.domain"?
>>> list element: bad.domain
>>> ten-1.test.ex in "bad.domain"? no (end of list)
>>> fail_sender router declined for user@ten-1.test.ex
->>> ten-1.test.ex in "! +local_domains"?
->>> list element: ! +local_domains
->>> ten-1.test.ex in "! +local_domains"? yes (end of list)
+>>> ten-1.test.ex in domains?
+>>> list element: !░+local_domains
+>>> start sublist local_domains
+>>> cached no match for +local_domains
+>>> cached lookup data = NULL
+>>> ten-1.test.ex in domains? yes (end of list)
>>> calling fail_sender2 router
>>> ten-1.test.ex in "bad.domain2"?
>>> list element: bad.domain2
>>> ten-1.test.ex in "bad.domain2"? no (end of list)
>>> fail_sender2 router declined for user@ten-1.test.ex
->>> ten-1.test.ex in "! +local_domains"?
->>> list element: ! +local_domains
->>> ten-1.test.ex in "! +local_domains"? yes (end of list)
+>>> ten-1.test.ex in domains?
+>>> list element: !░+local_domains
+>>> start sublist local_domains
+>>> cached no match for +local_domains
+>>> cached lookup data = NULL
+>>> ten-1.test.ex in domains? yes (end of list)
>>> calling lookuphost router
->>> ten-1.test.ex in "*"?
->>> list element: *
->>> ten-1.test.ex in "*"? yes (matched "*")
+>>> check dnssec require list
+>>> ten-1.test.ex in dnssec_require_domains? no (option unset)
+>>> check dnssec request list
+>>> ten-1.test.ex in dnssec_request_domains?
+>>> list element: *
+>>> ten-1.test.ex in dnssec_request_domains? yes (matched "*")
>>> routed by lookuphost router
>>> ----------- end verify ------------
>>> require: condition test succeeded in ACL "check_recipient"
>>> check domains = +local_domains
>>> test.ex in "+local_domains"?
>>> list element: +local_domains
->>> test.ex in "test.ex"?
->>> list element: test.ex
->>> test.ex in "test.ex"? yes (matched "test.ex")
+>>> start sublist local_domains
+>>> test.ex in "test.ex"?
+>>> ╎list element: test.ex
+>>> ╎test.ex in "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")
>>> accept: condition test succeeded in ACL "check_recipient"
>>> end of ACL "check_recipient": ACCEPT
-LOG: 10HmaX-0005vi-00 <= user@ten-1.test.ex H=(test) [V4NET.0.0.0] P=smtp S=sss
+LOG: 10HmaX-000000005vi-0000 <= user@ten-1.test.ex H=(test) [V4NET.0.0.0] P=smtp S=sss