From fff06f7d71bac530955e9f24e2adf14f7fe2e741 Mon Sep 17 00:00:00 2001 From: Joshua Tauberer Date: Wed, 4 Jun 2014 17:01:49 -0400 Subject: [PATCH] improve DNS test output --- tests/test_dns.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tests/test_dns.py b/tests/test_dns.py index 10bf81f1..205da6a2 100755 --- a/tests/test_dns.py +++ b/tests/test_dns.py @@ -51,7 +51,7 @@ def test2(tests, server, description): response = dns.resolver.query(qname, rtype) except dns.resolver.NXDOMAIN: # host did not have an answer for this query - response = ["NOT SET"] + response = ["[no value]"] response = ";".join(str(r) for r in response) response = re.sub(r"(\"p=).*(\")", r"\1__KEY__\2", response) # normalize DKIM key @@ -64,9 +64,10 @@ def test2(tests, server, description): if first: print("Incorrect DNS Response from", description) print() + print("QUERY ", "RESPONSE ", "CORRECT VALUE", sep='\t') first = False - print(qname, rtype, "got", repr(response), "but we should have gotten", repr(expected_answer)) + print((qname + "/" + rtype).ljust(20), response.ljust(12), expected_answer, sep='\t') return first # success # Test the response from the machine itself. @@ -75,6 +76,9 @@ if not test(ipaddr, "Mail-in-a-Box"): print ("Please run the Mail-in-a-Box setup script on %s again." % hostname) sys.exit(1) else: + print ("The Mail-in-a-Box provided correct DNS answers.") + print () + # If those settings are OK, also test Google's Public DNS # to see if the machine is hooked up to recursive DNS properly. if not test("8.8.8.8", "Google Public DNS"): @@ -82,10 +86,15 @@ else: print ("Check that the nameserver settings for %s are correct at your domain registrar. It may take a few hours for Google Public DNS to update after changes on your Mail-in-a-Box." % hostname) sys.exit(1) else: + print ("Your domain registrar or DNS host appears to be configured correctly as well. Public DNS provides the same answers.") + print () + # And if that's OK, also check reverse DNS (the PTR record). if not test_ptr("8.8.8.8", "Google Public DNS (Reverse DNS)"): print () print ("The reverse DNS for %s is not correct. Consult your ISP for how to set the reverse DNS (also called the PTR record) for %s to %s." % (hostname, hostname, ipaddr)) sys.exit(1) else: + print ("And the reverse DNS for the domain is correct.") + print () print ("DNS is OK.")