summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortron <tron>2013-02-25 16:55:28 +0000
committertron <tron>2013-02-25 16:55:28 +0000
commit3bac10455335d36948bdf82362a883d3d0f94229 (patch)
tree26323460ec5bddfa879e674a1f8da824200521f7
parentce5e9790244d363de9f93053a667bd42080d0b8a (diff)
downloadpkgsrc-3bac10455335d36948bdf82362a883d3d0f94229.tar.gz
Pullup ticket #4080 - requested by taca
lang/ruby193-base: security update Revisions pulled up: - lang/ruby/rubyversion.mk 1.95 - lang/ruby193-base/Makefile 1.26 - lang/ruby193-base/distinfo 1.18 - lang/ruby193-base/patches/patch-ext_json_lib_json_add_core.rb deleted - lang/ruby193-base/patches/patch-ext_json_lib_json_common.rb deleted - lang/ruby193-base/patches/patch-ext_json_lib_json_version.rb deleted - lang/ruby193-base/patches/patch-ext_json_parser_parser.c deleted - lang/ruby193-base/patches/patch-ext_json_parser_parser.rl deleted - lang/ruby193-base/patches/patch-test_json_test__json.rb deleted - lang/ruby193-base/patches/patch-test_json_test__json__addition.rb deleted - lang/ruby193-base/patches/patch-test_json_test__json__string__matching.rb deleted --- Module Name: pkgsrc Committed By: taca Date: Fri Feb 22 16:20:48 UTC 2013 Modified Files: pkgsrc/lang/ruby: rubyversion.mk pkgsrc/lang/ruby193-base: Makefile distinfo Removed Files: pkgsrc/lang/ruby193-base/patches: patch-ext_json_lib_json_add_core.rb patch-ext_json_lib_json_common.rb patch-ext_json_lib_json_version.rb patch-ext_json_parser_parser.c patch-ext_json_parser_parser.rl patch-test_json_test__json.rb patch-test_json_test__json__addition.rb patch-test_json_test__json__string__matching.rb Log Message: Update ruby193-base package (and related) to 1.9.3-p392. Security problem of CVE-2013-0269 was already handled but REXML security problem is fixed by this package. Now Ruby 1.9.3-p392 is released. I apologize for updating too frequently. This release includes security fixes about bundled JSON and REXML. * Denial of Service and Unsafe Object Creation Vulnerability in JSON (CVE-2013-0269) * Entity expansion DoS vulnerability in REXML (XML bomb) And some small bugfixes are also included.
-rw-r--r--lang/ruby/rubyversion.mk4
-rw-r--r--lang/ruby193-base/Makefile3
-rw-r--r--lang/ruby193-base/distinfo16
-rw-r--r--lang/ruby193-base/patches/patch-ext_json_lib_json_add_core.rb32
-rw-r--r--lang/ruby193-base/patches/patch-ext_json_lib_json_common.rb54
-rw-r--r--lang/ruby193-base/patches/patch-ext_json_lib_json_version.rb14
-rw-r--r--lang/ruby193-base/patches/patch-ext_json_parser_parser.c15
-rw-r--r--lang/ruby193-base/patches/patch-ext_json_parser_parser.rl25
-rw-r--r--lang/ruby193-base/patches/patch-test_json_test__json.rb55
-rw-r--r--lang/ruby193-base/patches/patch-test_json_test__json__addition.rb104
-rw-r--r--lang/ruby193-base/patches/patch-test_json_test__json__string__matching.rb26
11 files changed, 7 insertions, 341 deletions
diff --git a/lang/ruby/rubyversion.mk b/lang/ruby/rubyversion.mk
index 8962cfde868..3e2f19d20f2 100644
--- a/lang/ruby/rubyversion.mk
+++ b/lang/ruby/rubyversion.mk
@@ -1,4 +1,4 @@
-# $NetBSD: rubyversion.mk,v 1.92.2.1 2013/02/11 17:39:07 tron Exp $
+# $NetBSD: rubyversion.mk,v 1.92.2.2 2013/02/25 16:55:28 tron Exp $
#
# This file determines which Ruby version is used as a dependency for
@@ -206,7 +206,7 @@ RUBY193_VERSION= 1.9.3
# patch
RUBY18_PATCHLEVEL= pl371
-RUBY193_PATCHLEVEL= p385
+RUBY193_PATCHLEVEL= p392
# current API compatible version; used for version of shared library
RUBY18_API_VERSION= 1.8.7
diff --git a/lang/ruby193-base/Makefile b/lang/ruby193-base/Makefile
index 32aac87993c..9bd469b4faf 100644
--- a/lang/ruby193-base/Makefile
+++ b/lang/ruby193-base/Makefile
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.20.2.2 2013/02/14 14:58:51 tron Exp $
+# $NetBSD: Makefile,v 1.20.2.3 2013/02/25 16:55:28 tron Exp $
#
DISTNAME= ${RUBY_DISTNAME}
PKGNAME= ${RUBY_PKGPREFIX}-base-${RUBY_VERSION_FULL}
-PKGREVISION= 2
CATEGORIES= lang ruby
MASTER_SITES= ${MASTER_SITE_RUBY}
diff --git a/lang/ruby193-base/distinfo b/lang/ruby193-base/distinfo
index 37191d866b2..c688535bb72 100644
--- a/lang/ruby193-base/distinfo
+++ b/lang/ruby193-base/distinfo
@@ -1,16 +1,11 @@
-$NetBSD: distinfo,v 1.13.2.2 2013/02/14 14:58:51 tron Exp $
+$NetBSD: distinfo,v 1.13.2.3 2013/02/25 16:55:28 tron Exp $
-SHA1 (ruby-1.9.3-p385.tar.bz2) = 54e8d08103e915e2b07dcfcea88ab7fc42d40b0a
-RMD160 (ruby-1.9.3-p385.tar.bz2) = b2fbe56de1295659aa54c0a2d9f77a1212f62a02
-Size (ruby-1.9.3-p385.tar.bz2) = 10021486 bytes
+SHA1 (ruby-1.9.3-p392.tar.bz2) = de73455ff6500372d647fb49d24cc130fbd5815e
+RMD160 (ruby-1.9.3-p392.tar.bz2) = 4d12f62ce294a9c8fe27369413253097241e3fb0
+Size (ruby-1.9.3-p392.tar.bz2) = 10024221 bytes
SHA1 (patch-configure) = e72a5414a9e706962692e645173c5b47ddb41932
SHA1 (patch-configure.in) = 0996411e3125a298c770f4eead0edbc530a0a584
SHA1 (patch-defs_default__gems) = fb24111736f1a76a05e853aa068024dbdd24e5a5
-SHA1 (patch-ext_json_lib_json_add_core.rb) = d5dc99b3ae708a3866bd7dc67d232f99f91ec6ff
-SHA1 (patch-ext_json_lib_json_common.rb) = 69aa40256393b75bf246f53302766ebfbe367e30
-SHA1 (patch-ext_json_lib_json_version.rb) = 868cb21e42ded3b891fb09de4d767f7ecc491b55
-SHA1 (patch-ext_json_parser_parser.c) = f17a3c3e65c9783db5e530058ee1c5e5ca1f28a3
-SHA1 (patch-ext_json_parser_parser.rl) = a64baf9d268c5161a061e29a0692583b599dd237
SHA1 (patch-lib_rdoc_ri_driver.rb) = acb4cb022893eb8dea2adf7564f5e5e1a0f1e9c8
SHA1 (patch-lib_rubygems.rb) = 2aed4990a868dc92668a78da7bcff2050ff3dd66
SHA1 (patch-lib_rubygems_commands_install__command.rb) = ff637f39f3fd76b7550fd7f8c32fe303eec6f8c3
@@ -30,9 +25,6 @@ SHA1 (patch-man_erb.1) = a8f69ebb02b4d5e1c80b270a3d683c23d8dfbcf1
SHA1 (patch-man_irb.1) = 58fcccbb5f5f76450715cbf246a018af58d9b57e
SHA1 (patch-man_ri.1) = 25d82d08a9eb74ccc1cbbc1fc324d23f1a56ed64
SHA1 (patch-man_ruby.1) = 43c638a38bed8257f33d8f5a491acd77a18032b7
-SHA1 (patch-test_json_test__json.rb) = 174f8664ad20bdcdcd7987c4c5234bcfa29e0df4
-SHA1 (patch-test_json_test__json__addition.rb) = 266421cf4f7b844bf354b9bf11cec371d9996e3f
-SHA1 (patch-test_json_test__json__string__matching.rb) = e2015f62e21607068e111ade3323207ae65093c8
SHA1 (patch-test_rubygems_test__gem.rb) = fe8b8e436b255595122d2a01462ba0a686575f24
SHA1 (patch-tool_rbinstall.rb) = f0497085a09b31145f57028b30e335b09acabcff
SHA1 (patch-vsnprintf.c) = 7bb4ca07381536717518143ef7803634168ca9fa
diff --git a/lang/ruby193-base/patches/patch-ext_json_lib_json_add_core.rb b/lang/ruby193-base/patches/patch-ext_json_lib_json_add_core.rb
deleted file mode 100644
index a459788f590..00000000000
--- a/lang/ruby193-base/patches/patch-ext_json_lib_json_add_core.rb
+++ /dev/null
@@ -1,32 +0,0 @@
-$NetBSD: patch-ext_json_lib_json_add_core.rb,v 1.1.2.2 2013/02/14 14:58:51 tron Exp $
-
-Fix for CVE-2013-0269.
-
---- ext/json/lib/json/add/core.rb.orig 2011-08-31 07:02:52.000000000 +0000
-+++ ext/json/lib/json/add/core.rb
-@@ -36,8 +36,8 @@ class Time
- if usec = object.delete('u') # used to be tv_usec -> tv_nsec
- object['n'] = usec * 1000
- end
-- if respond_to?(:tv_nsec)
-- at(*object.values_at('s', 'n'))
-+ if instance_methods.include?(:tv_nsec)
-+ at(object['s'], Rational(object['n'], 1000))
- else
- at(object['s'], object['n'] / 1000)
- end
-@@ -46,10 +46,13 @@ class Time
- # Returns a hash, that will be turned into a JSON object and represent this
- # object.
- def as_json(*)
-+ nanoseconds = [ tv_usec * 1000 ]
-+ respond_to?(:tv_nsec) and nanoseconds << tv_nsec
-+ nanoseconds = nanoseconds.max
- {
- JSON.create_id => self.class.name,
- 's' => tv_sec,
-- 'n' => respond_to?(:tv_nsec) ? tv_nsec : tv_usec * 1000
-+ 'n' => nanoseconds,
- }
- end
-
diff --git a/lang/ruby193-base/patches/patch-ext_json_lib_json_common.rb b/lang/ruby193-base/patches/patch-ext_json_lib_json_common.rb
deleted file mode 100644
index 43ed4fd0daa..00000000000
--- a/lang/ruby193-base/patches/patch-ext_json_lib_json_common.rb
+++ /dev/null
@@ -1,54 +0,0 @@
-$NetBSD: patch-ext_json_lib_json_common.rb,v 1.1.2.2 2013/02/14 14:58:51 tron Exp $
-
-Fix for CVE-2013-0269.
-
---- ext/json/lib/json/common.rb.orig 2011-08-30 02:25:32.000000000 +0000
-+++ ext/json/lib/json/common.rb
-@@ -141,7 +141,7 @@ module JSON
- # the default.
- # * *create_additions*: If set to false, the Parser doesn't create
- # additions even if a matching class and create_id was found. This option
-- # defaults to true.
-+ # defaults to false.
- # * *object_class*: Defaults to Hash
- # * *array_class*: Defaults to Array
- def parse(source, opts = {})
-@@ -162,7 +162,7 @@ module JSON
- # to true.
- # * *create_additions*: If set to false, the Parser doesn't create
- # additions even if a matching class and create_id was found. This option
-- # defaults to true.
-+ # defaults to false.
- def parse!(source, opts = {})
- opts = {
- :max_nesting => false,
-@@ -287,11 +287,18 @@ module JSON
- # Load a ruby data structure from a JSON _source_ and return it. A source can
- # either be a string-like object, an IO-like object, or an object responding
- # to the read method. If _proc_ was given, it will be called with any nested
-- # Ruby object as an argument recursively in depth first order.
-+ # Ruby object as an argument recursively in depth first order. To modify the
-+ # default options pass in the optional _options_ argument as well.
- #
- # This method is part of the implementation of the load/dump interface of
- # Marshal and YAML.
-- def load(source, proc = nil)
-+ def load(source, proc = nil, options = {})
-+ load_default_options = {
-+ :max_nesting => false,
-+ :allow_nan => true,
-+ :create_additions => false
-+ }
-+ opts = load_default_options.merge options
- if source.respond_to? :to_str
- source = source.to_str
- elsif source.respond_to? :to_io
-@@ -299,7 +306,7 @@ module JSON
- else
- source = source.read
- end
-- result = parse(source, :max_nesting => false, :allow_nan => true)
-+ result = parse(source, opts)
- recurse_proc(result, &proc) if proc
- result
- end
diff --git a/lang/ruby193-base/patches/patch-ext_json_lib_json_version.rb b/lang/ruby193-base/patches/patch-ext_json_lib_json_version.rb
deleted file mode 100644
index e703f599238..00000000000
--- a/lang/ruby193-base/patches/patch-ext_json_lib_json_version.rb
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-ext_json_lib_json_version.rb,v 1.1.2.2 2013/02/14 14:58:51 tron Exp $
-
-Fix for CVE-2013-0269.
-
---- ext/json/lib/json/version.rb.orig 2011-07-10 08:01:04.000000000 +0000
-+++ ext/json/lib/json/version.rb
-@@ -1,6 +1,6 @@
- module JSON
- # JSON version
-- VERSION = '1.5.4'
-+ VERSION = '1.5.5'
- VERSION_ARRAY = VERSION.split(/\./).map { |x| x.to_i } # :nodoc:
- VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
- VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
diff --git a/lang/ruby193-base/patches/patch-ext_json_parser_parser.c b/lang/ruby193-base/patches/patch-ext_json_parser_parser.c
deleted file mode 100644
index 1788a41d795..00000000000
--- a/lang/ruby193-base/patches/patch-ext_json_parser_parser.c
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-ext_json_parser_parser.c,v 1.1.2.2 2013/02/14 14:58:51 tron Exp $
-
-Fix for CVE-2013-0269.
-
---- ext/json/parser/parser.c.orig 2012-04-16 11:15:31.000000000 +0000
-+++ ext/json/parser/parser.c
-@@ -1676,7 +1676,7 @@ static VALUE cParser_initialize(int argc
- if (option_given_p(opts, tmp)) {
- json->create_additions = RTEST(rb_hash_aref(opts, tmp));
- } else {
-- json->create_additions = 1;
-+ json->create_additions = 0;
- }
- tmp = ID2SYM(i_create_id);
- if (option_given_p(opts, tmp)) {
diff --git a/lang/ruby193-base/patches/patch-ext_json_parser_parser.rl b/lang/ruby193-base/patches/patch-ext_json_parser_parser.rl
deleted file mode 100644
index 9c983703fcb..00000000000
--- a/lang/ruby193-base/patches/patch-ext_json_parser_parser.rl
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-ext_json_parser_parser.rl,v 1.1.2.2 2013/02/14 14:58:51 tron Exp $
-
-Fix for CVE-2013-0269.
-
---- ext/json/parser/parser.rl.orig 2012-04-16 11:15:31.000000000 +0000
-+++ ext/json/parser/parser.rl
-@@ -607,6 +607,9 @@ static VALUE convert_encoding(VALUE sour
- * defaults to true.
- * * *object_class*: Defaults to Hash
- * * *array_class*: Defaults to Array
-+ * * *quirks_mode*: Enables quirks_mode for parser, that is for example
-+ * parsing single JSON values instead of documents is possible.
-+ *
- */
- static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self)
- {
-@@ -657,7 +660,7 @@ static VALUE cParser_initialize(int argc
- if (option_given_p(opts, tmp)) {
- json->create_additions = RTEST(rb_hash_aref(opts, tmp));
- } else {
-- json->create_additions = 1;
-+ json->create_additions = 0;
- }
- tmp = ID2SYM(i_create_id);
- if (option_given_p(opts, tmp)) {
diff --git a/lang/ruby193-base/patches/patch-test_json_test__json.rb b/lang/ruby193-base/patches/patch-test_json_test__json.rb
deleted file mode 100644
index d1fabf363e9..00000000000
--- a/lang/ruby193-base/patches/patch-test_json_test__json.rb
+++ /dev/null
@@ -1,55 +0,0 @@
-$NetBSD: patch-test_json_test__json.rb,v 1.1.2.2 2013/02/14 14:58:51 tron Exp $
-
-Fix for CVE-2013-0269.
-
---- test/json/test_json.rb.orig 2011-08-30 02:25:32.000000000 +0000
-+++ test/json/test_json.rb
-@@ -4,6 +4,7 @@
- require 'test/unit'
- require File.join(File.dirname(__FILE__), 'setup_variant')
- require 'stringio'
-+require 'tempfile'
-
- unless Array.method_defined?(:permutation)
- begin
-@@ -263,12 +264,12 @@ class TC_JSON < Test::Unit::TestCase
- def test_generation_of_core_subclasses_with_new_to_json
- obj = SubHash2["foo" => SubHash2["bar" => true]]
- obj_json = JSON(obj)
-- obj_again = JSON(obj_json)
-+ obj_again = JSON.parse(obj_json, :create_additions => true)
- assert_kind_of SubHash2, obj_again
- assert_kind_of SubHash2, obj_again['foo']
- assert obj_again['foo']['bar']
- assert_equal obj, obj_again
-- assert_equal ["foo"], JSON(JSON(SubArray2["foo"]))
-+ assert_equal ["foo"], JSON(JSON(SubArray2["foo"]), :create_additions => true)
- end
-
- def test_generation_of_core_subclasses_with_default_to_json
-@@ -414,6 +415,25 @@ EOT
- JSON.parse('{"foo":"bar", "baz":"quux"}', :symbolize_names => true))
- end
-
-+ def test_load
-+ assert_equal @hash, JSON.load(@json)
-+ tempfile = Tempfile.open('json')
-+ tempfile.write @json
-+ tempfile.rewind
-+ assert_equal @hash, JSON.load(tempfile)
-+ stringio = StringIO.new(@json)
-+ stringio.rewind
-+ assert_equal @hash, JSON.load(stringio)
-+ assert_raise(NoMethodError) { JSON.load(nil) }
-+ assert_raise(JSON::ParserError) {JSON.load('') }
-+ end
-+
-+ def test_load_with_options
-+ small_hash = JSON("foo" => 'bar')
-+ symbol_hash = { :foo => 'bar' }
-+ assert_equal symbol_hash, JSON.load(small_hash, nil, :symbolize_names => true)
-+ end
-+
- def test_load_dump
- too_deep = '[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]'
- assert_equal too_deep, JSON.dump(eval(too_deep))
diff --git a/lang/ruby193-base/patches/patch-test_json_test__json__addition.rb b/lang/ruby193-base/patches/patch-test_json_test__json__addition.rb
deleted file mode 100644
index 155fc72f754..00000000000
--- a/lang/ruby193-base/patches/patch-test_json_test__json__addition.rb
+++ /dev/null
@@ -1,104 +0,0 @@
-$NetBSD: patch-test_json_test__json__addition.rb,v 1.1.2.2 2013/02/14 14:58:51 tron Exp $
-
-Fix for CVE-2013-0269.
-
---- test/json/test_json_addition.rb.orig 2011-09-01 00:25:52.000000000 +0000
-+++ test/json/test_json_addition.rb
-@@ -69,11 +69,19 @@ class TC_JSONAddition < Test::Unit::Test
- a = A.new(666)
- assert A.json_creatable?
- json = generate(a)
-- a_again = JSON.parse(json)
-+ a_again = JSON.parse(json, :create_additions => true)
- assert_kind_of a.class, a_again
- assert_equal a, a_again
- end
-
-+ def test_extended_json_default
-+ a = A.new(666)
-+ assert A.json_creatable?
-+ json = generate(a)
-+ a_hash = JSON.parse(json)
-+ assert_kind_of Hash, a_hash
-+ end
-+
- def test_extended_json_disabled
- a = A.new(666)
- assert A.json_creatable?
-@@ -100,7 +108,7 @@ class TC_JSONAddition < Test::Unit::Test
- c = C.new
- assert !C.json_creatable?
- json = generate(c)
-- assert_raises(ArgumentError, NameError) { JSON.parse(json) }
-+ assert_raises(ArgumentError, NameError) { JSON.parse(json, :create_additions => true) }
- end
-
- def test_raw_strings
-@@ -118,7 +126,7 @@ class TC_JSONAddition < Test::Unit::Test
- assert_match(/\A\{.*\}\Z/, json)
- assert_match(/"json_class":"String"/, json)
- assert_match(/"raw":\[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255\]/, json)
-- raw_again = JSON.parse(json)
-+ raw_again = JSON.parse(json, :create_additions => true)
- assert_equal raw, raw_again
- end
-
-@@ -126,17 +134,17 @@ class TC_JSONAddition < Test::Unit::Test
-
- def test_core
- t = Time.now
-- assert_equal t.inspect, JSON(JSON(t)).inspect
-+ assert_equal t, JSON(JSON(t), :create_additions => true)
- d = Date.today
-- assert_equal d, JSON(JSON(d))
-+ assert_equal d, JSON(JSON(d), :create_additions => true)
- d = DateTime.civil(2007, 6, 14, 14, 57, 10, Rational(1, 12), 2299161)
-- assert_equal d, JSON(JSON(d))
-- assert_equal 1..10, JSON(JSON(1..10))
-- assert_equal 1...10, JSON(JSON(1...10))
-- assert_equal "a".."c", JSON(JSON("a".."c"))
-- assert_equal "a"..."c", JSON(JSON("a"..."c"))
-+ assert_equal d, JSON(JSON(d), :create_additions => true)
-+ assert_equal 1..10, JSON(JSON(1..10), :create_additions => true)
-+ assert_equal 1...10, JSON(JSON(1...10), :create_additions => true)
-+ assert_equal "a".."c", JSON(JSON("a".."c"), :create_additions => true)
-+ assert_equal "a"..."c", JSON(JSON("a"..."c"), :create_additions => true)
- s = MyJsonStruct.new 4711, 'foot'
-- assert_equal s, JSON(JSON(s))
-+ assert_equal s, JSON(JSON(s), :create_additions => true)
- struct = Struct.new :foo, :bar
- s = struct.new 4711, 'foot'
- assert_raises(JSONError) { JSON(s) }
-@@ -144,24 +152,24 @@ class TC_JSONAddition < Test::Unit::Test
- raise TypeError, "test me"
- rescue TypeError => e
- e_json = JSON.generate e
-- e_again = JSON e_json
-+ e_again = JSON e_json, :create_additions => true
- assert_kind_of TypeError, e_again
- assert_equal e.message, e_again.message
- assert_equal e.backtrace, e_again.backtrace
- end
-- assert_equal(/foo/, JSON(JSON(/foo/)))
-- assert_equal(/foo/i, JSON(JSON(/foo/i)))
-+ assert_equal(/foo/, JSON(JSON(/foo/), :create_additions => true))
-+ assert_equal(/foo/i, JSON(JSON(/foo/i), :create_additions => true))
- end
-
- def test_utc_datetime
- now = Time.now
-- d = DateTime.parse(now.to_s) # usual case
-- assert_equal d, JSON.parse(d.to_json)
-+ d = DateTime.parse(now.to_s, :create_additions => true) # usual case
-+ assert_equal d, JSON.parse(d.to_json, :create_additions => true)
- d = DateTime.parse(now.utc.to_s) # of = 0
-- assert_equal d, JSON.parse(d.to_json)
-+ assert_equal d, JSON.parse(d.to_json, :create_additions => true)
- d = DateTime.civil(2008, 6, 17, 11, 48, 32, Rational(1,24))
-- assert_equal d, JSON.parse(d.to_json)
-+ assert_equal d, JSON.parse(d.to_json, :create_additions => true)
- d = DateTime.civil(2008, 6, 17, 11, 48, 32, Rational(12,24))
-- assert_equal d, JSON.parse(d.to_json)
-+ assert_equal d, JSON.parse(d.to_json, :create_additions => true)
- end
- end
diff --git a/lang/ruby193-base/patches/patch-test_json_test__json__string__matching.rb b/lang/ruby193-base/patches/patch-test_json_test__json__string__matching.rb
deleted file mode 100644
index 243695eaaec..00000000000
--- a/lang/ruby193-base/patches/patch-test_json_test__json__string__matching.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-$NetBSD: patch-test_json_test__json__string__matching.rb,v 1.1.2.2 2013/02/14 14:58:51 tron Exp $
-
-Fix for CVE-2013-0269.
-
---- test/json/test_json_string_matching.rb.orig 2011-07-10 08:01:04.000000000 +0000
-+++ test/json/test_json_string_matching.rb
-@@ -27,14 +27,13 @@ class TestJsonStringMatching < Test::Uni
- t = TestTime.new
- t_json = [ t ].to_json
- assert_equal [ t ],
-- JSON.parse(t_json,
-- :match_string => { /\A\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\Z/ => TestTime })
-+ JSON.parse(t_json, :create_additions => true,
-+ :match_string => { /\A\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\z/ => TestTime })
- assert_equal [ t.strftime('%FT%T%z') ],
-- JSON.parse(t_json,
-- :match_string => { /\A\d{3}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\Z/ => TestTime })
-+ JSON.parse(t_json, :create_additions => true,
-+ :match_string => { /\A\d{3}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\z/ => TestTime })
- assert_equal [ t.strftime('%FT%T%z') ],
- JSON.parse(t_json,
-- :match_string => { /\A\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\Z/ => TestTime },
-- :create_additions => false)
-+ :match_string => { /\A\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\z/ => TestTime })
- end
- end