diff options
author | Casey Deccio <casey@deccio.net> | 2021-01-19 19:40:58 +0300 |
---|---|---|
committer | Casey Deccio <casey@deccio.net> | 2021-01-19 19:40:58 +0300 |
commit | 01827c85cfdb32fbc1c82daabc5b1e145c3e4e3d (patch) | |
tree | ccc26dd7046b7ff212879537fae14df7167de03c | |
parent | 178b9d7135bfb714ad26a073dd18c797c2ee1511 (diff) |
Allow custom ports for recursive servers too
Recursive servers were not previously being considered. This is fixed
by checking for WILDCARD_EXPLICIT_DELEGATION.
Fixes #71.
-rw-r--r-- | dnsviz/analysis/online.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/dnsviz/analysis/online.py b/dnsviz/analysis/online.py index 77bca69..68b290f 100644 --- a/dnsviz/analysis/online.py +++ b/dnsviz/analysis/online.py @@ -1705,7 +1705,7 @@ class Analyst(object): else: servers = name_obj.zone.get_responsive_auth_or_designated_servers() - odd_ports = dict([(s, self.odd_ports[(n, s)]) for n, s in self.odd_ports if n == name_obj.zone.name]) + odd_ports = dict([(s, self.odd_ports[(n, s)]) for n, s in self.odd_ports if n in (name_obj.zone.name, WILDCARD_EXPLICIT_DELEGATION)]) cookie_jar = name_obj.zone.cookie_jar servers = self._filter_servers(servers) @@ -1807,7 +1807,7 @@ class Analyst(object): parent_servers = name_obj.zone.parent.get_auth_or_designated_servers() parent_servers = self._filter_servers(parent_servers) - parent_odd_ports = dict([(s, self.odd_ports[(n, s)]) for n, s in self.odd_ports if n == name_obj.zone.parent.name]) + parent_odd_ports = dict([(s, self.odd_ports[(n, s)]) for n, s in self.odd_ports if n in (name_obj.zone.parent.name, WILDCARD_EXPLICIT_DELEGATION)]) parent_cookie_jar = name_obj.zone.parent.cookie_jar self.logger.debug('Preparing query %s/DS...' % fmt.humanize_name(name_obj.name)) @@ -1818,7 +1818,7 @@ class Analyst(object): dlv_servers = self._filter_servers(dlv_servers) dlv_name = name_obj.dlv_name if dlv_servers: - dlv_odd_ports = dict([(s, self.odd_ports[(n, s)]) for n, s in self.odd_ports if n == name_obj.dlv_parent.name]) + dlv_odd_ports = dict([(s, self.odd_ports[(n, s)]) for n, s in self.odd_ports if n in (name_obj.dlv_parent.name, WILDCARD_EXPLICIT_DELEGATION)]) dlv_cookie_jar = name_obj.dlv_parent.cookie_jar self.logger.debug('Preparing query %s/DLV...' % fmt.humanize_name(dlv_name)) @@ -1864,7 +1864,7 @@ class Analyst(object): parent_auth_servers = name_obj.parent.get_auth_or_designated_servers() parent_auth_servers = set(self._filter_servers(parent_auth_servers)) - odd_ports = dict([(s, self.odd_ports[(n, s)]) for n, s in self.odd_ports if n == name_obj.zone.name]) + odd_ports = dict([(s, self.odd_ports[(n, s)]) for n, s in self.odd_ports if n in (name_obj.zone.name, WILDCARD_EXPLICIT_DELEGATION)]) cookie_jar = name_obj.zone.cookie_jar if not parent_auth_servers: @@ -2412,7 +2412,7 @@ class RecursiveAnalyst(Analyst): if not servers: raise NoNameservers('No resolvers available to query!') - odd_ports = dict([(s, self.odd_ports[(n, s)]) for n, s in self.odd_ports if n == name_obj.zone.name]) + odd_ports = dict([(s, self.odd_ports[(n, s)]) for n, s in self.odd_ports if n in (name_obj.zone.name, WILDCARD_EXPLICIT_DELEGATION)]) cookie_jar = name_obj.zone.cookie_jar # make common query first to prime the cache |