verify: use all tld_ns to avoid errors from .hk & .cm's non-responsive servers
This commit is contained in:
parent
cbdc2e231f
commit
30a679400f
10
verify.rb
10
verify.rb
|
@ -67,7 +67,8 @@ class ChinaListVerify
|
||||||
resolver = Resolv::DNS.new(nameserver: @dns)
|
resolver = Resolv::DNS.new(nameserver: @dns)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
resolver = Resolv::DNS.new(nameserver: [server])
|
server = [server] unless server.is_a? Array
|
||||||
|
resolver = Resolv::DNS.new(nameserver: server)
|
||||||
end
|
end
|
||||||
if !with_glue
|
if !with_glue
|
||||||
resolver.getresources(domain, rdtype)
|
resolver.getresources(domain, rdtype)
|
||||||
|
@ -92,13 +93,14 @@ class ChinaListVerify
|
||||||
def get_ns_for_tld(tld)
|
def get_ns_for_tld(tld)
|
||||||
if !@tld_ns.has_key? tld
|
if !@tld_ns.has_key? tld
|
||||||
answers = resolve(tld + ".", "NS")
|
answers = resolve(tld + ".", "NS")
|
||||||
|
results = []
|
||||||
answers.each do |answer|
|
answers.each do |answer|
|
||||||
ips = resolve answer.name.to_s
|
ips = resolve answer.name.to_s
|
||||||
if !ips.empty?
|
ips.each do |ip|
|
||||||
@tld_ns[tld] = ips[0].address.to_s
|
results << ip.address.to_s
|
||||||
break
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@tld_ns[tld] = results
|
||||||
end
|
end
|
||||||
|
|
||||||
@tld_ns[tld]
|
@tld_ns[tld]
|
||||||
|
|
Loading…
Reference in New Issue