diff --git a/ChangeLog b/ChangeLog index 58f34694da..9402cc88f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Nov 27 17:57:08 2010 Tanaka Akira + + * resolv.rb (Resolv::DNS): use the same DNS server when retry using + TCP. reported by Julian Mehnle. [ruby-core:32970] + Sat Nov 27 15:45:27 2010 Nobuyoshi Nakada * vm_dump.c (rb_vm_bugreport): see CrashReport log on Mac OS X. 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: