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

ruby-changes:18279

From: shyouhei <ko1@a...>
Date: Thu, 23 Dec 2010 12:12:23 +0900 (JST)
Subject: [ruby-changes:18279] Ruby:r30302 (ruby_1_8): merge revision(s) 27388:27390:

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

  New Revision: 30302

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

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

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

Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 30301)
+++ ruby_1_8/ChangeLog	(revision 30302)
@@ -1,3 +1,8 @@
+Thu Dec 23 12:11:22 2010  Tanaka Akira  <akr@f...>
+
+	* lib/resolv.rb (Resolv::IPv4::Regex): make it only accept 0 to 255.
+	  [ruby-core:29501]
+
 Tue Dec 21 00:58:21 2010  NAKAMURA, Hiroshi  <nahi@r...>
 
 	* Backported the fix at
Index: ruby_1_8/version.h
===================================================================
--- ruby_1_8/version.h	(revision 30301)
+++ ruby_1_8/version.h	(revision 30302)
@@ -1,15 +1,15 @@
 #define RUBY_VERSION "1.8.8"
-#define RUBY_RELEASE_DATE "2010-12-21"
+#define RUBY_RELEASE_DATE "2010-12-23"
 #define RUBY_VERSION_CODE 188
-#define RUBY_RELEASE_CODE 20101221
-#define RUBY_PATCHLEVEL -1
+#define RUBY_RELEASE_CODE 20101223
+#define RUBY_PATCHLEVEL 1
 
 #define RUBY_VERSION_MAJOR 1
 #define RUBY_VERSION_MINOR 8
 #define RUBY_VERSION_TEENY 8
 #define RUBY_RELEASE_YEAR 2010
 #define RUBY_RELEASE_MONTH 12
-#define RUBY_RELEASE_DAY 21
+#define RUBY_RELEASE_DAY 23
 
 #define NO_STRING_LITERAL_CONCATENATION 1
 #ifdef RUBY_EXTERN
Index: ruby_1_8/lib/resolv.rb
===================================================================
--- ruby_1_8/lib/resolv.rb	(revision 30301)
+++ ruby_1_8/lib/resolv.rb	(revision 30302)
@@ -2086,7 +2086,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/test/resolv/test_addr.rb
===================================================================
--- ruby_1_8/test/resolv/test_addr.rb	(revision 0)
+++ ruby_1_8/test/resolv/test_addr.rb	(revision 30302)
@@ -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/test/resolv/test_addr.rb
___________________________________________________________________
Added: svn:eol-style
   + LF


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

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