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

ruby-changes:18280

From: shyouhei <ko1@a...>
Date: Thu, 23 Dec 2010 12:23:06 +0900 (JST)
Subject: [ruby-changes:18280] Ruby:r30303 (ruby_1_8_7): merge revision(s) 30302:

shyouhei	2010-12-23 12:22:57 +0900 (Thu, 23 Dec 2010)

  New Revision: 30303

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=30303

  Log:
    merge revision(s) 30302:
    * lib/resolv.rb (Resolv::IPv4::Regex): make it only accept 0 to 255.
      [ruby-core:29501]

  Added directories:
    branches/ruby_1_8_7/test/resolv/
  Modified files:
    branches/ruby_1_8_7/ChangeLog
    branches/ruby_1_8_7/lib/resolv.rb
    branches/ruby_1_8_7/version.h

Index: ruby_1_8_7/ChangeLog
===================================================================
--- ruby_1_8_7/ChangeLog	(revision 30302)
+++ ruby_1_8_7/ChangeLog	(revision 30303)
@@ -1,3 +1,8 @@
+Thu Dec 23 12:22:35 2010  Tanaka Akira  <akr@f...>
+
+	* lib/resolv.rb (Resolv::IPv4::Regex): make it only accept 0 to 255.
+	  [ruby-core:29501]
+
 Tue Dec 21 01:43:01 2010  NAKAMURA, Hiroshi  <nahi@r...>
 
 	* lib/webrick/https.rb: uninitialized instance variables.
Index: ruby_1_8_7/version.h
===================================================================
--- ruby_1_8_7/version.h	(revision 30302)
+++ ruby_1_8_7/version.h	(revision 30303)
@@ -1,15 +1,15 @@
 #define RUBY_VERSION "1.8.7"
-#define RUBY_RELEASE_DATE "2010-12-21"
+#define RUBY_RELEASE_DATE "2010-12-23"
 #define RUBY_VERSION_CODE 187
-#define RUBY_RELEASE_CODE 20101221
-#define RUBY_PATCHLEVEL 329
+#define RUBY_RELEASE_CODE 20101223
+#define RUBY_PATCHLEVEL 330
 
 #define RUBY_VERSION_MAJOR 1
 #define RUBY_VERSION_MINOR 8
 #define RUBY_VERSION_TEENY 7
 #define RUBY_RELEASE_YEAR 2010
 #define RUBY_RELEASE_MONTH 12
-#define RUBY_RELEASE_DAY 21
+#define RUBY_RELEASE_DAY 23
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];
Index: ruby_1_8_7/lib/resolv.rb
===================================================================
--- ruby_1_8_7/lib/resolv.rb	(revision 30302)
+++ ruby_1_8_7/lib/resolv.rb	(revision 30303)
@@ -2066,7 +2066,11 @@
     ##
     # Regular expression IPv4 addresses must match.
 
-    Regex = /\A(\d+)\.(\d+)\.(\d+)\.(\d+)\z/
+    Regex256 = /0
+               |1(?:[0-9][0-9]?)?
+               |2(?:[0-4][0-9]?|5[0-5]?|[6-9])?
+               |[3-9][0-9]?/x
+    Regex = /\A(#{Regex256})\.(#{Regex256})\.(#{Regex256})\.(#{Regex256})\z/
 
     def self.create(arg)
       case arg
Index: ruby_1_8_7/test/resolv/test_addr.rb
===================================================================
--- ruby_1_8_7/test/resolv/test_addr.rb	(revision 0)
+++ ruby_1_8_7/test/resolv/test_addr.rb	(revision 30303)
@@ -0,0 +1,16 @@
+require 'test/unit'
+require 'resolv'
+require 'socket'
+
+class TestResolvAddr < Test::Unit::TestCase
+  def test_invalid_ipv4_address
+    assert(Resolv::IPv4::Regex !~ "1.2.3.256", "[ruby-core:29501]")
+    1000.times {|i|
+      if i < 256
+        assert(Resolv::IPv4::Regex =~ "#{i}.#{i}.#{i}.#{i}")
+      else
+        assert(Resolv::IPv4::Regex !~ "#{i}.#{i}.#{i}.#{i}")
+      end
+    }
+  end
+end

Property changes on: ruby_1_8_7/test/resolv/test_addr.rb
___________________________________________________________________
Added: svn:eol-style
   + LF


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

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