Update to ruby 2.0.0-p247, fixing CVE-2013-4073, with extra patches

backported to fix a regression and restore a function that would
have caused a major bump of libruby20.so. Bumping the minor of
libruby20.so due to added functions.
This commit is contained in:
jeremy 2013-07-17 15:52:55 +00:00
parent 74850763f5
commit 84c4674ccf
5 changed files with 41 additions and 10 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.5 2013/07/03 20:09:54 landry Exp $
# $OpenBSD: Makefile,v 1.6 2013/07/17 15:52:55 jeremy Exp $
BROKEN-sparc64 = segfaults during build
BROKEN-hppa = miniruby abort trap when generating rdoc
@ -9,11 +9,11 @@ COMMENT-tk = tk interface for ruby
COMMENT-ri_docs = ri documentation files for ruby
VERSION = 2.0.0
PATCHLEVEL = 195
PATCHLEVEL = 247
RUBYLIBREV = 2.0
DISTNAME = ruby-${VERSION}-p${PATCHLEVEL}
SHARED_LIBS = ruby20 0.0
SHARED_LIBS = ruby20 0.1
PKGNAME-main = ruby-${VERSION}.${PATCHLEVEL}
PKGNAME-gdbm = ruby20-gdbm-${VERSION}.${PATCHLEVEL}
PKGNAME-tk = ruby20-tk-${VERSION}.${PATCHLEVEL}

View File

@ -1,2 +1,2 @@
SHA256 (ruby-2.0.0-p195.tar.gz) = ov6NROrDwn0ZHKLQ7i2HH5rthzx0SRsqjfIpv9xOWpM=
SIZE (ruby-2.0.0-p195.tar.gz) = 13641558
SHA256 (ruby-2.0.0-p247.tar.gz) = PnEEKHLHdyZAlGDoZHovMECDoVrg3v6Q2AAKaZF+INM=
SIZE (ruby-2.0.0-p247.tar.gz) = 13652782

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-ext_openssl_lib_openssl_ssl_rb,v 1.1 2013/07/17 15:52:55 jeremy Exp $
Backport fix for regression introduced by fix for CVE-2013-4073 from
ruby svn r41805.
--- ext/openssl/lib/openssl/ssl.rb.orig Thu Jun 27 04:13:08 2013
+++ ext/openssl/lib/openssl/ssl.rb Sun Jul 14 19:24:37 2013
@@ -88,7 +88,7 @@ module OpenSSL
should_verify_common_name = true
cert.extensions.each{|ext|
next if ext.oid != "subjectAltName"
- id, ostr = OpenSSL::ASN1.decode(ext.to_der).value
+ ostr = OpenSSL::ASN1.decode(ext.to_der).value.last
sequence = OpenSSL::ASN1.decode(ostr.value)
sequence.value.each{|san|
case san.tag

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-include_ruby_intern_h,v 1.1 2013/07/17 15:52:55 jeremy Exp $
Don't break ABI in a patch level release, from ruby svn r41875.
--- include/ruby/intern.h.orig Sun Jul 14 19:25:14 2013
+++ include/ruby/intern.h Sun Jul 14 19:25:28 2013
@@ -350,6 +350,7 @@ VALUE rb_require_safe(VALUE, int);
void rb_obj_call_init(VALUE, int, VALUE*);
VALUE rb_class_new_instance(int, VALUE*, VALUE);
VALUE rb_block_proc(void);
+VALUE rb_f_lambda(void);
VALUE rb_block_lambda(void);
VALUE rb_proc_new(VALUE (*)(ANYARGS/* VALUE yieldarg[, VALUE procarg] */), VALUE);
VALUE rb_obj_is_proc(VALUE);

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST-ri_docs,v 1.2 2013/05/17 20:11:43 jeremy Exp $
@comment $OpenBSD: PLIST-ri_docs,v 1.3 2013/07/17 15:52:56 jeremy Exp $
share/ri/
share/ri/${RUBYLIBREV}/
share/ri/${RUBYLIBREV}/system/
@ -3836,6 +3836,7 @@ share/ri/${RUBYLIBREV}/system/Gem/TestCase/StaticSet/new-c.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/StaticSet/prefetch-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/add_to_fetcher-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/all_spec_names-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/assert_contains_make_command-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/assert_path_exists-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/build_rake_in-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/cdesc-TestCase.ri
@ -3856,6 +3857,7 @@ share/ri/${RUBYLIBREV}/system/Gem/TestCase/mu_pp-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/new_default_spec-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/new_spec-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/nmake_found%3f-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/parse_make_command_line-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/process_based_port-c.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/process_based_port-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/quick_gem-i.ri
@ -3865,6 +3867,7 @@ share/ri/${RUBYLIBREV}/system/Gem/TestCase/read_cache-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/refute_path_exists-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/req-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/rubybin-c.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/scan_make_command_lines-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/setup-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/spec-i.ri
share/ri/${RUBYLIBREV}/system/Gem/TestCase/teardown-i.ri
@ -3964,8 +3967,10 @@ share/ri/${RUBYLIBREV}/system/Gem/configuration%3d-c.ri
share/ri/${RUBYLIBREV}/system/Gem/configuration-c.ri
share/ri/${RUBYLIBREV}/system/Gem/datadir-c.ri
share/ri/${RUBYLIBREV}/system/Gem/default_bindir-c.ri
share/ri/${RUBYLIBREV}/system/Gem/default_cert_path-c.ri
share/ri/${RUBYLIBREV}/system/Gem/default_dir-c.ri
share/ri/${RUBYLIBREV}/system/Gem/default_exec_format-c.ri
share/ri/${RUBYLIBREV}/system/Gem/default_key_path-c.ri
share/ri/${RUBYLIBREV}/system/Gem/default_path-c.ri
share/ri/${RUBYLIBREV}/system/Gem/default_rubygems_dirs-c.ri
share/ri/${RUBYLIBREV}/system/Gem/default_sources-c.ri
@ -7936,10 +7941,6 @@ share/ri/${RUBYLIBREV}/system/Psych/Coder/seq-i.ri
share/ri/${RUBYLIBREV}/system/Psych/Coder/style-i.ri
share/ri/${RUBYLIBREV}/system/Psych/Coder/tag-i.ri
share/ri/${RUBYLIBREV}/system/Psych/Coder/type-i.ri
share/ri/${RUBYLIBREV}/system/Psych/EngineManager/
share/ri/${RUBYLIBREV}/system/Psych/EngineManager/cdesc-EngineManager.ri
share/ri/${RUBYLIBREV}/system/Psych/EngineManager/yamler%3d-i.ri
share/ri/${RUBYLIBREV}/system/Psych/EngineManager/yamler-i.ri
share/ri/${RUBYLIBREV}/system/Psych/Error/
share/ri/${RUBYLIBREV}/system/Psych/Error/cdesc-Error.ri
share/ri/${RUBYLIBREV}/system/Psych/Exception/