diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-28 07:41:02 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-28 07:41:02 +0000 |
commit | 56c04e54e6bf5e195e828f0e5d921f37688cdc08 (patch) | |
tree | e55f81b5e773f620e7c9e805f41293ba51923634 | |
parent | 1f84e89cf45158c2ddca44b7823bbcadbca9d732 (diff) |
* lib/resolv.rb (Resolv::DNS#each_address): now returns IPv6 address.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@14764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | lib/resolv.rb | 13 |
2 files changed, 14 insertions, 3 deletions
@@ -1,3 +1,7 @@ +Fri Dec 28 16:36:33 2007 NARUSE, Yui <naruse@airemix.com> + + * lib/resolv.rb (Resolv::DNS#each_address): now returns IPv6 address. + Fri Dec 28 13:21:32 2007 Kouhei Sutou <kou@cozmixng.org> * lib/rss/rss.rb, test/rss/test_version.rb, NEWS: 0.2.2 -> 0.2.3. diff --git a/lib/resolv.rb b/lib/resolv.rb index 1f549a4710..252ac49c0f 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 |