>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
+>>> host in helo_verify_hosts?
+>>> list element: ten-1.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-1.test.ex address=V4NET.0.0.1
->>> host in helo_verify_hosts? yes (matched "ten-1.test.ex")
+>>> host in helo_verify_hosts? yes (matched "ten-1.test.ex")
>>> host in helo_accept_junk_hosts? no (option unset)
LOG: rejected MAIL from [V4NET.0.0.1]: no HELO/EHLO given
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
+>>> host in helo_verify_hosts?
+>>> list element: ten-1.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-1.test.ex address=V4NET.0.0.1
+>>> list element: ten-3.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-3.test.ex address=V4NET.0.0.3
>>> host in helo_verify_hosts? no (end of list)
+>>> host in helo_try_verify_hosts?
+>>> list element: ten-2.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-2.test.ex address=V4NET.0.0.2
>>> host in helo_try_verify_hosts? no (end of list)
>>> host in helo_accept_junk_hosts? no (option unset)
+>>> host in hosts_require_helo?
+>>> host in hosts_require_helo? no (end of list)
>>> using ACL "rcpt"
->>> processing "require"
+>>> processing ACL rcpt "require" (TESTSUITE/test-config 23)
+>>> message: helo not verified
>>> check verify = helo
>>> verifying EHLO/HELO argument "NULL"
>>> no EHLO/HELO command was issued
->>> require: condition test failed
+>>> require: condition test failed in ACL rcpt
+>>> end of ACL rcpt: not OK
LOG: H=[V4NET.0.0.13] F=<userx@cus.cam.ac.uk> rejected RCPT <a@b>: helo not verified
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
+>>> host in helo_verify_hosts?
+>>> list element: ten-1.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-1.test.ex address=V4NET.0.0.1
+>>> list element: ten-3.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-3.test.ex address=V4NET.0.0.3
>>> host in helo_verify_hosts? no (end of list)
+>>> host in helo_try_verify_hosts?
+>>> list element: ten-2.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-2.test.ex address=V4NET.0.0.2
->>> host in helo_try_verify_hosts? yes (matched "ten-2.test.ex")
+>>> host in helo_try_verify_hosts? yes (matched "ten-2.test.ex")
>>> host in helo_accept_junk_hosts? no (option unset)
+>>> [V4NET.0.0.1] in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> [V4NET.0.0.1] in helo_lookup_domains? no (end of list)
>>> verifying EHLO/HELO argument "[V4NET.0.0.1]"
>>> HELO verification failed but host is in helo_try_verify_hosts
>>> using ACL "rcpt"
->>> processing "require"
+>>> processing ACL rcpt "require" (TESTSUITE/test-config 23)
+>>> message: helo not verified
>>> check verify = helo
->>> require: condition test failed
+>>> require: condition test failed in ACL rcpt
+>>> end of ACL rcpt: not OK
LOG: H=([V4NET.0.0.1]) [V4NET.0.0.2] F=<a@b> rejected RCPT <c@d>: helo not verified
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
+>>> host in helo_verify_hosts?
+>>> list element: ten-1.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-1.test.ex address=V4NET.0.0.1
+>>> list element: ten-3.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-3.test.ex address=V4NET.0.0.3
>>> host in helo_verify_hosts? no (end of list)
+>>> host in helo_try_verify_hosts?
+>>> list element: ten-2.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-2.test.ex address=V4NET.0.0.2
->>> host in helo_try_verify_hosts? yes (matched "ten-2.test.ex")
+>>> host in helo_try_verify_hosts? yes (matched "ten-2.test.ex")
>>> host in helo_accept_junk_hosts? no (option unset)
+>>> [V4NET.0.0.2] in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> [V4NET.0.0.2] in helo_lookup_domains? no (end of list)
>>> verifying EHLO/HELO argument "[V4NET.0.0.2]"
>>> matched host address
>>> using ACL "rcpt"
->>> processing "require"
+>>> processing ACL rcpt "require" (TESTSUITE/test-config 23)
+>>> message: helo not verified
>>> check verify = helo
->>> require: condition test succeeded
->>> processing "deny"
->>> deny: condition test succeeded
+>>> require: condition test succeeded in ACL rcpt
+>>> processing ACL rcpt "deny" (TESTSUITE/test-config 26)
+>>> message: helo did verify
+>>> deny: condition test succeeded in ACL rcpt
+>>> end of ACL rcpt: DENY
LOG: H=([V4NET.0.0.2]) [V4NET.0.0.2] F=<a@b> rejected RCPT <c@d>: helo did verify
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
+>>> host in helo_verify_hosts?
+>>> list element: ten-1.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-1.test.ex address=V4NET.0.0.1
->>> host in helo_verify_hosts? yes (matched "ten-1.test.ex")
+>>> host in helo_verify_hosts? yes (matched "ten-1.test.ex")
>>> host in helo_accept_junk_hosts? no (option unset)
+>>> ten-1.test.ex in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> ten-1.test.ex in helo_lookup_domains? no (end of list)
>>> verifying EHLO/HELO argument "ten-1.test.ex"
>>> looking up host name for V4NET.0.0.1
->>> IP address lookup yielded ten-1.test.ex
-MUNGED: ::1 will be omitted in what follows
->>> get[host|ipnode]byname[2] looked up these IP addresses:
->>> name=ten-1.test.ex address=V4NET.0.0.1
->>> checking addresses for ten-1.test.ex
+>>> IP address lookup yielded "ten-1.test.ex"
+>>> check dnssec require list
+>>> ten-1.test.ex not in empty list (option unset? cannot trace name)
+>>> check dnssec request list
+>>> ten-1.test.ex not in empty list (option unset? cannot trace name)
+>>> checking addresses for ten-1.test.ex
>>> V4NET.0.0.1 OK
>>> matched host name
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
+>>> host in helo_verify_hosts?
+>>> list element: ten-1.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-1.test.ex address=V4NET.0.0.1
+>>> list element: ten-3.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-3.test.ex address=V4NET.0.0.3
->>> host in helo_verify_hosts? yes (matched "ten-3.test.ex")
+>>> host in helo_verify_hosts? yes (matched "ten-3.test.ex")
>>> host in helo_accept_junk_hosts? no (option unset)
+>>> ten-3.test.ex in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> ten-3.test.ex in helo_lookup_domains? no (end of list)
>>> verifying EHLO/HELO argument "ten-3.test.ex"
>>> looking up host name for V4NET.0.0.3
->>> IP address lookup yielded ten-3.test.ex
->>> alias ten-3-alias.test.ex
-MUNGED: ::1 will be omitted in what follows
->>> get[host|ipnode]byname[2] looked up these IP addresses:
->>> name=ten-3.test.ex address=V4NET.0.0.3
->>> checking addresses for ten-3.test.ex
+>>> 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
-MUNGED: ::1 will be omitted in what follows
->>> get[host|ipnode]byname[2] looked up these IP addresses:
->>> name=ten-3-alias.test.ex address=V4NET.0.0.3
->>> checking addresses for ten-3-alias.test.ex
+>>> 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
>>> matched host name
->>> 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 "*")
>>> verifying EHLO/HELO argument "ten-3-alias.test.ex"
>>> matched alias ten-3-alias.test.ex
>>> verifying EHLO/HELO argument "ten-3xtra.test.ex"
>>> getting IP address for ten-3xtra.test.ex
-MUNGED: ::1 will be omitted in what follows
->>> get[host|ipnode]byname[2] looked up these IP addresses:
->>> name=ten-3xtra.test.ex address=V4NET.0.0.3
+>>> check dnssec require list
+>>> ten-3xtra.test.ex in ""?
+>>> ten-3xtra.test.ex in ""? no (end of list)
+>>> check dnssec request list
+>>> ten-3xtra.test.ex in "*"?
+>>> list element: *
+>>> ten-3xtra.test.ex in "*"? yes (matched "*")
>>> IP address for ten-3xtra.test.ex matches calling address
+>>> Forward DNS security status: unverified
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
+>>> host in helo_verify_hosts?
+>>> list element: ten-1.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-1.test.ex address=V4NET.0.0.1
->>> host in helo_verify_hosts? yes (matched "ten-1.test.ex")
+>>> host in helo_verify_hosts? yes (matched "ten-1.test.ex")
>>> host in helo_accept_junk_hosts? no (option unset)
+>>> rhubarb in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> rhubarb in helo_lookup_domains? no (end of list)
>>> verifying EHLO/HELO argument "rhubarb"
>>> looking up host name for V4NET.0.0.1
->>> IP address lookup yielded ten-1.test.ex
-MUNGED: ::1 will be omitted in what follows
->>> get[host|ipnode]byname[2] looked up these IP addresses:
->>> name=ten-1.test.ex address=V4NET.0.0.1
->>> checking addresses for ten-1.test.ex
+>>> IP address lookup yielded "ten-1.test.ex"
+>>> check dnssec require list
+>>> ten-1.test.ex not in empty list (option unset? cannot trace name)
+>>> check dnssec request list
+>>> ten-1.test.ex not in empty list (option unset? cannot trace name)
+>>> checking addresses for ten-1.test.ex
>>> V4NET.0.0.1 OK
>>> getting IP address for rhubarb
->>> no IP address found for host rhubarb (during SMTP connection from (rhubarb) [V4NET.0.0.1])
+>>> check dnssec require list
+>>> rhubarb in ""?
+>>> rhubarb in ""? no (end of list)
+>>> check dnssec request list
+>>> rhubarb in "*"?
+>>> list element: *
+>>> rhubarb in "*"? yes (matched "*")
LOG: rejected "EHLO rhubarb" from (rhubarb) [V4NET.0.0.1]
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
+>>> host in helo_verify_hosts?
+>>> list element: ten-1.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-1.test.ex address=V4NET.0.0.1
+>>> list element: ten-3.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-3.test.ex address=V4NET.0.0.3
->>> host in helo_verify_hosts? yes (matched "99.99.99.99")
+>>> list element: 99.99.99.99
+>>> host in helo_verify_hosts? yes (matched "99.99.99.99")
>>> host in helo_accept_junk_hosts? no (option unset)
+>>> rhubarb in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> rhubarb in helo_lookup_domains? no (end of list)
>>> verifying EHLO/HELO argument "rhubarb"
>>> looking up host name for 99.99.99.99
>>> Test harness: host name lookup returns DEFER
>>> getting IP address for rhubarb
->>> no IP address found for host rhubarb (during SMTP connection from (rhubarb) [99.99.99.99])
+>>> check dnssec require list
+>>> rhubarb in ""?
+>>> rhubarb in ""? no (end of list)
+>>> check dnssec request list
+>>> rhubarb in "*"?
+>>> list element: *
+>>> rhubarb in "*"? yes (matched "*")
LOG: temporarily rejected "EHLO rhubarb" from (rhubarb) [99.99.99.99]
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
+>>> host in helo_verify_hosts?
+>>> list element: ten-1.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-1.test.ex address=V4NET.0.0.1
+>>> list element: ten-3.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-3.test.ex address=V4NET.0.0.3
>>> host in helo_verify_hosts? no (end of list)
+>>> host in helo_try_verify_hosts?
+>>> list element: ten-2.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-2.test.ex address=V4NET.0.0.2
>>> host in helo_try_verify_hosts? no (end of list)
>>> host in helo_accept_junk_hosts? no (option unset)
+>>> [V4NET.0.0.99] in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> [V4NET.0.0.99] in helo_lookup_domains? no (end of list)
>>> using ACL "rcpt"
->>> processing "require"
+>>> processing ACL rcpt "require" (TESTSUITE/test-config 23)
+>>> message: helo not verified
>>> check verify = helo
>>> verifying EHLO/HELO argument "[V4NET.0.0.99]"
->>> require: condition test failed
+>>> require: condition test failed in ACL rcpt
+>>> end of ACL rcpt: not OK
LOG: H=([V4NET.0.0.99]) [V4NET.0.0.13] F=<a@b> rejected RCPT <c@d>: helo not verified
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
+>>> host in helo_verify_hosts?
+>>> list element: ten-1.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-1.test.ex address=V4NET.0.0.1
+>>> list element: ten-3.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-3.test.ex address=V4NET.0.0.3
>>> host in helo_verify_hosts? no (end of list)
+>>> host in helo_try_verify_hosts?
+>>> list element: ten-2.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-2.test.ex address=V4NET.0.0.2
>>> host in helo_try_verify_hosts? no (end of list)
>>> host in helo_accept_junk_hosts? no (option unset)
+>>> [V4NET.0.0.13] in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> [V4NET.0.0.13] in helo_lookup_domains? no (end of list)
>>> using ACL "rcpt"
->>> processing "require"
+>>> processing ACL rcpt "require" (TESTSUITE/test-config 23)
+>>> message: helo not verified
>>> check verify = helo
>>> verifying EHLO/HELO argument "[V4NET.0.0.13]"
>>> matched host address
->>> require: condition test succeeded
->>> processing "deny"
->>> deny: condition test succeeded
+>>> require: condition test succeeded in ACL rcpt
+>>> processing ACL rcpt "deny" (TESTSUITE/test-config 26)
+>>> message: helo did verify
+>>> deny: condition test succeeded in ACL rcpt
+>>> end of ACL rcpt: DENY
LOG: H=([V4NET.0.0.13]) [V4NET.0.0.13] F=<a@b> rejected RCPT <c@d>: helo did verify
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
+>>> host in helo_verify_hosts?
+>>> list element: ten-1.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-1.test.ex address=V4NET.0.0.1
+>>> list element: ten-3.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-3.test.ex address=V4NET.0.0.3
>>> host in helo_verify_hosts? no (end of list)
+>>> host in helo_try_verify_hosts?
+>>> list element: ten-2.test.ex
MUNGED: ::1 will be omitted in what follows
>>> get[host|ipnode]byname[2] looked up these IP addresses:
>>> name=ten-2.test.ex address=V4NET.0.0.2
>>> host in helo_try_verify_hosts? no (end of list)
>>> host in helo_accept_junk_hosts? no (option unset)
+>>> rhubarb in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> rhubarb in helo_lookup_domains? no (end of list)
->>> host in pipelining_advertise_hosts? yes (matched "*")
+>>> list element: *
+>>> host in limits_advertise_hosts? yes (matched "*")
+>>> 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)
>>> using ACL "rcpt"
->>> processing "require"
+>>> processing ACL rcpt "require" (TESTSUITE/test-config 23)
+>>> message: helo not verified
>>> check verify = helo
>>> verifying EHLO/HELO argument "rhubarb"
>>> looking up host name for 99.99.99.99
>>> Test harness: host name lookup returns DEFER
>>> getting IP address for rhubarb
->>> no IP address found for host rhubarb (during SMTP connection from (rhubarb) [99.99.99.99])
->>> require: condition test failed
+>>> check dnssec require list
+>>> rhubarb in ""?
+>>> rhubarb in ""? no (end of list)
+>>> check dnssec request list
+>>> rhubarb in "*"?
+>>> list element: *
+>>> rhubarb in "*"? yes (matched "*")
+>>> require: condition test failed in ACL rcpt
+>>> end of ACL rcpt: not OK
LOG: H=(rhubarb) [99.99.99.99] F=<a@b> rejected RCPT <c@d>: helo not verified