[前][次][番号順一覧][スレッド一覧]

ruby-changes:3271

From: ko1@a...
Date: 28 Dec 2007 16:41:15 +0900
Subject: [ruby-changes:3271] naruse - Ruby:r14764 (ruby_1_8): * lib/resolv.rb (Resolv::DNS#each_address): now returns IPv6 address.

naruse	2007-12-28 16:41:02 +0900 (Fri, 28 Dec 2007)

  New Revision: 14764

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/lib/resolv.rb

  Log:
    * lib/resolv.rb (Resolv::DNS#each_address): now returns IPv6 address.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=14764&r2=14763
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/lib/resolv.rb?r1=14764&r2=14763

Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 14763)
+++ ruby_1_8/ChangeLog	(revision 14764)
@@ -1,3 +1,7 @@
+Fri Dec 28 16:36:33 2007  NARUSE, Yui  <naruse@a...>
+
+       * lib/resolv.rb (Resolv::DNS#each_address): now returns IPv6 address.
+
 Fri Dec 28 13:21:32 2007  Kouhei Sutou  <kou@c...>
 
 	* lib/rss/rss.rb, test/rss/test_version.rb, NEWS: 0.2.2 -> 0.2.3.
Index: ruby_1_8/lib/resolv.rb
===================================================================
--- ruby_1_8/lib/resolv.rb	(revision 14763)
+++ ruby_1_8/lib/resolv.rb	(revision 14764)
@@ -28,7 +28,6 @@
 # 
 # * NIS is not supported.
 # * /etc/nsswitch.conf is not supported.
-# * IPv6 is not supported.
 
 class Resolv
 
@@ -388,7 +387,16 @@
     # 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 @@
     # * 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

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧]