diff options
author | Casey Deccio <casey@deccio.net> | 2019-01-12 06:26:42 +0300 |
---|---|---|
committer | Casey Deccio <casey@deccio.net> | 2019-01-12 06:26:42 +0300 |
commit | 82aa568a3b006e171a4e4f6ca19aed0fe96f0348 (patch) | |
tree | 6aedb8b1559bd14b933c92c24fcab307b4a71190 | |
parent | 93c907ae2c7a928652024b56fcd6ef4c92c1b207 (diff) |
Don't look up addresses if there's a hint
-rw-r--r-- | dnsviz/resolver.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/dnsviz/resolver.py b/dnsviz/resolver.py index 11ffc7c..78802e6 100644 --- a/dnsviz/resolver.py +++ b/dnsviz/resolver.py @@ -504,8 +504,16 @@ class FullResolver: except KeyError: pass else: - for rdata in ns_rrset: - ns_names[rdata.target] = None + for ns_rdata in ns_rrset: + addrs = [] + for a_rdtype in dns.rdatatype.A, dns.rdatatype.AAAA: + if (ns_rdata.target, a_rdtype) in self._hints: + for a_rdata in self._hints[(ns_rdata.target, a_rdtype)]: + addrs.append(IPAddr(a_rdata.address)) + if addrs: + ns_names[ns_rdata.target] = addrs + else: + ns_names[ns_rdata.target] = None # if there were NS records associated with the names, then # no need to continue |