>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing unknown@test.ex
->>> 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")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
->>> unknown in "defer"?
+>>> test.ex in domains?
+>>> list element: !░+local_domains
+>>> 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 domains? no (matched "! +local_domains")
+>>> unknown in local_parts?
>>> list element: defer
->>> unknown in "defer"? no (end of list)
->>> unknown in "userx"?
+>>> unknown in local_parts? no (end of list)
+>>> unknown in local_parts?
>>> list element: userx
->>> unknown in "userx"? no (end of list)
+>>> unknown in local_parts? no (end of list)
>>> no more routers
>>> ----------- end verify ------------
>>> require: condition test failed in ACL "check_recipient"
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing userx@unknown.dom.ain
->>> unknown.dom.ain in "! +local_domains"?
->>> list element: ! +local_domains
->>> unknown.dom.ain in "test.ex"?
->>> list element: test.ex
->>> unknown.dom.ain in "test.ex"? no (end of list)
->>> unknown.dom.ain in "! +local_domains"? yes (end of list)
+>>> unknown.dom.ain in domains?
+>>> list element: !░+local_domains
+>>> start sublist local_domains
+>>> unknown.dom.ain in "test.ex"?
+>>> ╎list element: test.ex
+>>> unknown.dom.ain in "test.ex"? no (end of list)
+>>> end sublist local_domains
+>>> unknown.dom.ain in domains? yes (end of list)
>>> calling fail_remote_domains router
>>> fail_remote_domains router forced address failure
>>> ----------- end verify ------------
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing "unknown with spaces"@test.ex
->>> 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")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
->>> unknown with spaces in "defer"?
+>>> test.ex in domains?
+>>> list element: !░+local_domains
+>>> 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 domains? no (matched "! +local_domains")
+>>> unknown with spaces in local_parts?
>>> list element: defer
->>> unknown with spaces in "defer"? no (end of list)
->>> unknown with spaces in "userx"?
+>>> unknown with spaces in local_parts? no (end of list)
+>>> unknown with spaces in local_parts?
>>> list element: userx
->>> unknown with spaces in "userx"? no (end of list)
+>>> unknown with spaces in local_parts? no (end of list)
>>> no more routers
>>> ----------- end verify ------------
>>> require: condition test failed in ACL "check_recipient"
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing userx@test.ex
->>> 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")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
->>> userx in "defer"?
+>>> test.ex in domains?
+>>> list element: !░+local_domains
+>>> 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 domains? no (matched "! +local_domains")
+>>> userx in local_parts?
>>> list element: defer
->>> userx in "defer"? no (end of list)
->>> userx in "userx"?
+>>> userx in local_parts? no (end of list)
+>>> userx in local_parts?
>>> list element: userx
->>> userx in "userx"? yes (matched "userx")
+>>> userx in local_parts? yes (matched "userx")
>>> calling userx router
>>> routed by userx router
>>> ----------- end verify ------------
>>> 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
>>> verifying From: header address unknown@test.ex
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing unknown@test.ex
->>> 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")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
->>> unknown in "defer"?
+>>> test.ex in domains?
+>>> list element: !░+local_domains
+>>> 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 domains? no (matched "! +local_domains")
+>>> unknown in local_parts?
>>> list element: defer
->>> unknown in "defer"? no (end of list)
->>> unknown in "userx"?
+>>> unknown in local_parts? no (end of list)
+>>> unknown in local_parts?
>>> list element: userx
->>> unknown in "userx"? no (end of list)
+>>> unknown in local_parts? no (end of list)
>>> no more routers
>>> require: condition test failed in ACL "check_message"
>>> end of ACL "check_message": not OK
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing userx@test.ex
->>> 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")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
->>> userx in "defer"?
+>>> test.ex in domains?
+>>> list element: !░+local_domains
+>>> 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 domains? no (matched "! +local_domains")
+>>> userx in local_parts?
>>> list element: defer
->>> userx in "defer"? no (end of list)
->>> userx in "userx"?
+>>> userx in local_parts? no (end of list)
+>>> userx in local_parts?
>>> list element: userx
->>> userx in "userx"? yes (matched "userx")
+>>> userx in local_parts? yes (matched "userx")
>>> calling userx router
>>> routed by userx router
>>> ----------- end verify ------------
>>> 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
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing defer@test.ex
->>> 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")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
->>> defer in "defer"?
+>>> test.ex in domains?
+>>> list element: !░+local_domains
+>>> 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 domains? no (matched "! +local_domains")
+>>> defer in local_parts?
>>> list element: defer
->>> defer in "defer"? yes (matched "defer")
+>>> defer in local_parts? yes (matched "defer")
>>> calling defer router
>>> defer router: defer for defer@test.ex
>>> message: forced defer
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing userx@test.ex
->>> 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")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
->>> userx in "defer"?
+>>> test.ex in domains?
+>>> list element: !░+local_domains
+>>> 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 domains? no (matched "! +local_domains")
+>>> userx in local_parts?
>>> list element: defer
->>> userx in "defer"? no (end of list)
->>> userx in "userx"?
+>>> userx in local_parts? no (end of list)
+>>> userx in local_parts?
>>> list element: userx
->>> userx in "userx"? yes (matched "userx")
+>>> userx in local_parts? yes (matched "userx")
>>> calling userx router
>>> routed by userx router
>>> ----------- end verify ------------
>>> 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
>>> verifying from: header address <defer@test.ex>
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing defer@test.ex
->>> 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")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
->>> defer in "defer"?
+>>> test.ex in domains?
+>>> list element: !░+local_domains
+>>> 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 domains? no (matched "! +local_domains")
+>>> defer in local_parts?
>>> list element: defer
->>> defer in "defer"? yes (matched "defer")
+>>> defer in local_parts? yes (matched "defer")
>>> calling defer router
>>> defer router: defer for defer@test.ex
>>> message: forced defer
>>> list element: @
>>> list element: @[]
>>> foo.bar in helo_lookup_domains? no (end of list)
+>>> list element: *
+>>> host in limits_advertise_hosts? yes (matched "*")
>>> host in dsn_advertise_hosts? no (option unset)
>>> host in pipelining_advertise_hosts?
>>> list element: *
>>> list element: @
>>> list element: @[]
>>> foo.bar in helo_lookup_domains? no (end of list)
->>> host in dsn_advertise_hosts? no (option unset)
->>> host in pipelining_advertise_hosts?
>>> list element: *
->>> host in pipelining_advertise_hosts? yes (matched "*")
->>> host in chunking_advertise_hosts?
->>> host in chunking_advertise_hosts? no (end of list)
->>> foo.bar in helo_lookup_domains?
->>> list element: @
->>> list element: @[]
->>> foo.bar in helo_lookup_domains? no (end of list)
+>>> host in limits_advertise_hosts? yes (matched "*")
>>> host in dsn_advertise_hosts? no (option unset)
>>> host in pipelining_advertise_hosts?
>>> list element: *
>>> list element: @
>>> list element: @[]
>>> foo.bar in helo_lookup_domains? no (end of list)
+>>> list element: *
+>>> host in limits_advertise_hosts? yes (matched "*")
>>> host in dsn_advertise_hosts? no (option unset)
>>> host in pipelining_advertise_hosts?
>>> list element: *
>>> list element: @
>>> list element: @[]
>>> foo.bar in helo_lookup_domains? no (end of list)
+>>> list element: *
+>>> host in limits_advertise_hosts? yes (matched "*")
>>> host in dsn_advertise_hosts? no (option unset)
>>> host in pipelining_advertise_hosts?
>>> list element: *