Fri Feb 20 12:32:26 2009 UTC ()
Apply patch from Ruby's repository, revision 22440.

It fixes OCPS(Online Certificate Status Protocol) verify method wasn't always
return false when verify was failed in OpenSSL's correspondence library.
(It might be possible security risk for using OCPS.

Fix small PLIST improvement, too.

Bump PKGREVISION.


(taca)
diff -r1.48 -r1.49 pkgsrc/lang/ruby18-base/Makefile
diff -r1.7 -r1.8 pkgsrc/lang/ruby18-base/PLIST.common_end
diff -r1.34 -r1.35 pkgsrc/lang/ruby18-base/distinfo
diff -r0 -r1.2 pkgsrc/lang/ruby18-base/patches/patch-dj

cvs diff -r1.48 -r1.49 pkgsrc/lang/ruby18-base/Attic/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/ruby18-base/Attic/Makefile 2008/09/15 03:30:22 1.48
+++ pkgsrc/lang/ruby18-base/Attic/Makefile 2009/02/20 12:32:26 1.49
@@ -1,19 +1,19 @@ @@ -1,19 +1,19 @@
1# $NetBSD: Makefile,v 1.48 2008/09/15 03:30:22 taca Exp $ 1# $NetBSD: Makefile,v 1.49 2009/02/20 12:32:26 taca Exp $
2# 2#
3 3
4DISTNAME= ${RUBY_DISTNAME} 4DISTNAME= ${RUBY_DISTNAME}
5PKGNAME= ${RUBY_PKGPREFIX}-base-${RUBY_VERSION_SUFFIX} 5PKGNAME= ${RUBY_PKGPREFIX}-base-${RUBY_VERSION_SUFFIX}
6PKGREVISION= 2 6PKGREVISION= 3
7CATEGORIES= lang ruby 7CATEGORIES= lang ruby
8MASTER_SITES= ${MASTER_SITE_RUBY} 8MASTER_SITES= ${MASTER_SITE_RUBY}
9#PKGREVISION= 9#PKGREVISION=
10 10
11MAINTAINER= taca@NetBSD.org 11MAINTAINER= taca@NetBSD.org
12HOMEPAGE= ${RUBY_HOMEPAGE} 12HOMEPAGE= ${RUBY_HOMEPAGE}
13COMMENT= Ruby 1.8 based release minimum package 13COMMENT= Ruby 1.8 based release minimum package
14 14
15RUBY_VERSION= ${RUBY18_VERSION} 15RUBY_VERSION= ${RUBY18_VERSION}
16 16
17CONFLICTS= ${RUBY_PKGPREFIX}-dbm-[0-9]* \ 17CONFLICTS= ${RUBY_PKGPREFIX}-dbm-[0-9]* \
18 ${RUBY_PKGPREFIX}-digest-[0-9]* \ 18 ${RUBY_PKGPREFIX}-digest-[0-9]* \
19 ${RUBY_PKGPREFIX}-iconv-[0-9]* \ 19 ${RUBY_PKGPREFIX}-iconv-[0-9]* \

cvs diff -r1.7 -r1.8 pkgsrc/lang/ruby18-base/Attic/PLIST.common_end (expand / switch to unified diff)

--- pkgsrc/lang/ruby18-base/Attic/PLIST.common_end 2008/06/19 14:35:37 1.7
+++ pkgsrc/lang/ruby18-base/Attic/PLIST.common_end 2009/02/20 12:32:26 1.8
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1@comment $NetBSD: PLIST.common_end,v 1.7 2008/06/19 14:35:37 taca Exp $ 1@comment $NetBSD: PLIST.common_end,v 1.8 2009/02/20 12:32:26 taca Exp $
2@dirrm ${RUBY_LIB}/bigdecimal 2@dirrm ${RUBY_LIB}/bigdecimal
3@dirrm ${RUBY_LIB}/cgi/session 3@dirrm ${RUBY_LIB}/cgi/session
4@dirrm ${RUBY_LIB}/cgi 4@dirrm ${RUBY_LIB}/cgi
5@dirrm ${RUBY_LIB}/date 5@dirrm ${RUBY_LIB}/date
6@dirrm ${RUBY_LIB}/digest 6@dirrm ${RUBY_LIB}/digest
7@dirrm ${RUBY_LIB}/dl 7@dirrm ${RUBY_LIB}/dl
8@dirrm ${RUBY_LIB}/drb 8@dirrm ${RUBY_LIB}/drb
9@dirrm ${RUBY_ARCHLIB}/digest 9@dirrm ${RUBY_ARCHLIB}/digest
10${PLIST.io}@dirrm ${RUBY_ARCHLIB}/io 10${PLIST.io}@dirrm ${RUBY_ARCHLIB}/io
11@dirrm ${RUBY_ARCHLIB}/racc 11@dirrm ${RUBY_ARCHLIB}/racc
12@dirrm ${RUBY_ARCHLIB} 12@dirrm ${RUBY_ARCHLIB}
13@dirrm ${RUBY_VENDORARCHLIB} 13@dirrm ${RUBY_VENDORARCHLIB}
14@dirrm ${RUBY_VENDORLIB} 14@dirrm ${RUBY_VENDORLIB}
@@ -90,14 +90,14 @@ ${PLIST.io}@dirrm ${RUBY_LIB}/io @@ -90,14 +90,14 @@ ${PLIST.io}@dirrm ${RUBY_LIB}/io
90@dirrm ${RUBY_EG}/dl 90@dirrm ${RUBY_EG}/dl
91@dirrm ${RUBY_EG}/drb 91@dirrm ${RUBY_EG}/drb
92@dirrm ${RUBY_EG}/erb 92@dirrm ${RUBY_EG}/erb
93@dirrm ${RUBY_EG}/logger 93@dirrm ${RUBY_EG}/logger
94@dirrm ${RUBY_EG}/openssl 94@dirrm ${RUBY_EG}/openssl
95@dirrm ${RUBY_EG}/optparse 95@dirrm ${RUBY_EG}/optparse
96@dirrm ${RUBY_EG}/pty 96@dirrm ${RUBY_EG}/pty
97@dirrm ${RUBY_EG}/rss 97@dirrm ${RUBY_EG}/rss
98@dirrm ${RUBY_EG}/testunit 98@dirrm ${RUBY_EG}/testunit
99@dirrm ${RUBY_EG}/webrick 99@dirrm ${RUBY_EG}/webrick
100@dirrm ${RUBY_EG} 100@dirrm ${RUBY_EG}
101@dirrm ${RUBY_SITERIDIR} 101@dirrm ${RUBY_SITERIDIR}
102@dirrm ${RUBY_BASERIDIR} 102@dirrm ${RUBY_BASERIDIR}
103@dirrm ${RUBY_RIDIR} 103@unexec ${RMDIR} %D/${RUBY_RIDIR} 2>/dev/null || ${TRUE}

cvs diff -r1.34 -r1.35 pkgsrc/lang/ruby18-base/Attic/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/ruby18-base/Attic/distinfo 2008/09/14 05:17:18 1.34
+++ pkgsrc/lang/ruby18-base/Attic/distinfo 2009/02/20 12:32:26 1.35
@@ -1,10 +1,11 @@ @@ -1,10 +1,11 @@
1$NetBSD: distinfo,v 1.34 2008/09/14 05:17:18 taca Exp $ 1$NetBSD: distinfo,v 1.35 2009/02/20 12:32:26 taca Exp $
2 2
3SHA1 (ruby-1.8.7-p72.tar.bz2) = 462e990a724580e4dfeeac5a271b93f6cfcbf5c7 3SHA1 (ruby-1.8.7-p72.tar.bz2) = 462e990a724580e4dfeeac5a271b93f6cfcbf5c7
4RMD160 (ruby-1.8.7-p72.tar.bz2) = 07bf0d6987ba111aed988093c569fb66ba54891b 4RMD160 (ruby-1.8.7-p72.tar.bz2) = 07bf0d6987ba111aed988093c569fb66ba54891b
5Size (ruby-1.8.7-p72.tar.bz2) = 4127450 bytes 5Size (ruby-1.8.7-p72.tar.bz2) = 4127450 bytes
6SHA1 (patch-aa) = 59f4462dada7e7b00c7a773c8a95454f3dc4f994 6SHA1 (patch-aa) = 59f4462dada7e7b00c7a773c8a95454f3dc4f994
7SHA1 (patch-ab) = 239872c5faf95c05d2a94fe5f40af5b8541423c7 7SHA1 (patch-ab) = 239872c5faf95c05d2a94fe5f40af5b8541423c7
8SHA1 (patch-ac) = eb4dd068729ba2a2c7d4d659f6bcdb1410227f3b 8SHA1 (patch-ac) = eb4dd068729ba2a2c7d4d659f6bcdb1410227f3b
9SHA1 (patch-dg) = 6c92da2111af7dd09d9cc28d1d82612ead14283e 9SHA1 (patch-dg) = 6c92da2111af7dd09d9cc28d1d82612ead14283e
10SHA1 (patch-dh) = ac637345ee171892b551f34d0deb65f238060c7c 10SHA1 (patch-dh) = ac637345ee171892b551f34d0deb65f238060c7c
 11SHA1 (patch-dj) = a325fcec8d90b8d550d0e4e858d60dd91b4d23c6

File Added: pkgsrc/lang/ruby18-base/patches/Attic/patch-dj
$NetBSD: patch-dj,v 1.2 2009/02/20 12:32:26 taca Exp $

Online Certificate Status Protocol's verify method fix from Ruby's
repository: revision 22440.

--- ext/openssl/ossl_ocsp.c.orig	2007-06-09 00:02:04.000000000 +0900
+++ ext/openssl/ossl_ocsp.c
@@ -589,22 +589,22 @@ ossl_ocspbres_sign(int argc, VALUE *argv
 static VALUE
 ossl_ocspbres_verify(int argc, VALUE *argv, VALUE self)
 {
-    VALUE certs, store, flags;
+    VALUE certs, store, flags, result;
     OCSP_BASICRESP *bs;
     STACK_OF(X509) *x509s;
     X509_STORE *x509st;
-    int flg, result;
+    int flg;
 
     rb_scan_args(argc, argv, "21", &certs, &store, &flags);
     x509st = GetX509StorePtr(store);
     flg = NIL_P(flags) ? 0 : INT2NUM(flags);
     x509s = ossl_x509_ary2sk(certs);
     GetOCSPBasicRes(self, bs);
-    result = OCSP_basic_verify(bs, x509s, x509st, flg);
+    result = OCSP_basic_verify(bs, x509s, x509st, flg) > 0 ? Qtrue : Qfalse;
     sk_X509_pop_free(x509s, X509_free);
     if(!result) rb_warn("%s", ERR_error_string(ERR_peek_error(), NULL));
 
-    return result ? Qtrue : Qfalse;
+    return result;
 }
 
 /*