diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-28 07:38:56 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-28 07:38:56 +0000 |
commit | 727d85c0e359657ea0538c9d81de2f870d007120 (patch) | |
tree | 854b8611f21a08800c63eb0feaf32dfe0ec77953 /lib | |
parent | c43f86785288df9e39ebbe66235bea9824226e4a (diff) | |
download | ruby-727d85c0e359657ea0538c9d81de2f870d007120.tar.gz |
* lib/resolv.rb (Resolv::DNS#each_address): now returns IPv6 address.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r-- | lib/resolv.rb | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/resolv.rb b/lib/resolv.rb index 1fa3598e89..5fcf6420f5 100644 --- a/lib/resolv.rb +++ b/lib/resolv.rb @@ -28,7 +28,6 @@ require 'thread' # # * NIS is not supported. # * /etc/nsswitch.conf is not supported. -# * IPv6 is not supported. class Resolv @@ -388,7 +387,16 @@ class Resolv # be a Resolv::IPv4 or Resolv::IPv6 def each_address(name) - each_resource(name, Resource::IN::A) {|resource| yield resource.address} + buf = [] + each_resource(name, Resource::IN::ANY) do |resource| + case resource.address + when Resolv::IPv4 + yield resource.address + when Resolv::IPv6 + buf << resource.address + end + end + buf.each {|resource| yield resource.address} end ## @@ -445,7 +453,6 @@ class Resolv # * Resolv::DNS::Resource::IN::A # * Resolv::DNS::Resource::IN::AAAA # * Resolv::DNS::Resource::IN::ANY - # * Resolv::DNS::Resource::IN::ANY # * Resolv::DNS::Resource::IN::CNAME # * Resolv::DNS::Resource::IN::HINFO # * Resolv::DNS::Resource::IN::MINFO |