diff --git a/validate-my-dns.py b/validate-my-dns.py index de5bbc9..8a3f81c 100755 --- a/validate-my-dns.py +++ b/validate-my-dns.py @@ -17,6 +17,7 @@ try: import dns.message import dns.resolver import dns.rdatatype + import dns.rcode except ImportError: print() print("CRITICAL: this script requires the 'dnspython' libary, please install it using `python3 -m pip install dnspython`") @@ -76,7 +77,9 @@ def get_domain_by_mntner(mntner): if line.startswith("nserver"): _tmp = _parse_nserver(line) if _tmp == "break": break - if _tmp[0] in domains[domain_name]["nserver"]: + if _tmp[1] == None: + domains[domain_name]["nserver"][_tmp[0]] = None + elif _tmp[0] in domains[domain_name]["nserver"]: domains[domain_name]["nserver"][_tmp[0]].append(_tmp[1]) else: domains[domain_name]["nserver"][_tmp[0] @@ -197,7 +200,7 @@ def get_dnskey(domain_name, nserver): if response[0].rcode() != 0: # HANDLE QUERY FAILED (SERVER ERROR OR NO DNSKEY RECORD) print( - f"WARN: query for a DNSKEY on {domain_name} failed on {nserver}, returncode: {response[0].rcode()}") + f"WARN: query for a DNSKEY on {domain_name} failed on {nserver}, returncode: {dns.rcode.to_text(response[0].rcode())}") errors += 1 return False return [dnskey.to_text().split("IN DNSKEY ")[1] for dnskey in response[0].answer]