summaryrefslogtreecommitdiff
path: root/lib/resolv.rb
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-11-27 09:03:26 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-11-27 09:03:26 +0000
commit0ebec8cf722da3e3c1c557ae28cce8943eef0d4d (patch)
treecfc7334d9a7d650077a95e103daf516553e0732f /lib/resolv.rb
parent3e57529e3edf120d0c6444ed0b21d4ea2b44133a (diff)
* resolv.rb (Resolv::DNS): use the same DNS server when retry using TCP.
reported by Julian Mehnle. [ruby-core:32970] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/resolv.rb')
-rw-r--r--lib/resolv.rb7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/resolv.rb b/lib/resolv.rb
index f706d7037d..18b26994d7 100644
--- a/lib/resolv.rb
+++ b/lib/resolv.rb
@@ -509,7 +509,7 @@ class Resolv
if reply.tc == 1 and not Requester::TCP === requester
requester.close
# Retry via TCP:
- requester = make_tcp_requester
+ requester = make_tcp_requester(nameserver, port)
senders = {}
# This will use TCP for all remaining candidates (assuming the
# current candidate does not already respond successfully via
@@ -540,9 +540,8 @@ class Resolv
end
end
- def make_tcp_requester # :nodoc:
- nameserver_port = @config.nameserver_port
- return Requester::TCP.new(*nameserver_port[0])
+ def make_tcp_requester(host, port) # :nodoc:
+ return Requester::TCP.new(host, port)
end
def extract_resources(msg, name, typeclass) # :nodoc: