Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dnsviz/dnsviz.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorCasey Deccio <casey@deccio.net>2015-08-19 16:49:14 +0300
committerCasey Deccio <casey@deccio.net>2015-08-19 16:49:14 +0300
commit291fcf7fbf8a654c98cdc94f6691a9e36a322a14 (patch)
tree42baf3d59e78dc8987c115c7e8f2953d06313a88 /bin
parentce8719b685a800dcbcf1a71dad797a632da12cfa (diff)
Pick only the first server for dv
Diffstat (limited to 'bin')
-rwxr-xr-xbin/dv28
1 files changed, 25 insertions, 3 deletions
diff --git a/bin/dv b/bin/dv
index 30a5daa..b66a481 100755
--- a/bin/dv
+++ b/bin/dv
@@ -102,7 +102,7 @@ class DVCommandLineQuery:
usage('Option "%s" not recognized.' % arg)
sys.exit(1)
- def process_nameservers(self, nameservers, use_ipv4, use_ipv6):
+ def process_nameservers(self, nameservers):
processed_nameservers = []
for addr in self.nameservers:
processed_nameservers.extend(_get_nameservers_for_name(addr))
@@ -137,7 +137,7 @@ class DVCommandLineQuery:
if self.trace:
dnsget_args.append('-A')
else:
- dnsget_args.extend(['-s', ','.join(self.nameservers)])
+ dnsget_args.extend(['-s', self.nameservers[0]])
dnsget_args.append(self.qname)
if self.trusted_keys_file is not None:
@@ -176,7 +176,7 @@ class DVCommandLine:
self.queries.append(DVCommandLineQuery('.', dns.rdatatype.NS, dns.rdataclass.IN))
for q in self.queries:
- q.process_nameservers(self.nameservers, self.options['use_ipv4'], self.options['use_ipv6'])
+ q.process_nameservers(self.nameservers)
q.process_query_options(self.global_query_options)
if not q.nameservers and not q.trace:
@@ -346,7 +346,24 @@ class DVCommandLine:
query = self._add_qname()
self.queries.append(query)
+ def _process_network(self):
+ if self.options['use_ipv4'] is None and self.options['use_ipv6'] is None:
+ use_ipv4 = True
+ use_ipv6 = True
+ else:
+ if self.options['use_ipv4']:
+ use_ipv4 = True
+ else:
+ use_ipv4 = False
+ if self.options['use_ipv6']:
+ use_ipv6 = True
+ else:
+ use_ipv6 = False
+ return use_ipv4, use_ipv6
+
def _process_nameservers(self):
+ use_ipv4, use_ipv6 = self._process_network()
+
if not self.nameservers:
processed_nameservers = Resolver.get_standard_resolver()._servers
else:
@@ -354,6 +371,11 @@ class DVCommandLine:
for addr in self.nameservers:
processed_nameservers.extend(_get_nameservers_for_name(addr))
+ if not use_ipv4:
+ processed_nameservers = filter(lambda x: x.version != 4, processed_nameservers)
+ if not use_ipv6:
+ processed_nameservers = filter(lambda x: x.version != 6, processed_nameservers)
+
self.nameservers = processed_nameservers
def main():