From d743d77d5e218d0fb6064e02528bebd30c2331a6 Mon Sep 17 00:00:00 2001 From: taca Date: Tue, 11 Aug 2009 14:26:58 +0000 Subject: [PATCH] * Make Ruby's OpenSSL library compatible with OpenSSL 1.0.0 and later, focusing to PR pkg/41829. * Add comments to patches. Bump PKGREVISION. --- lang/ruby18-base/Makefile | 6 +- lang/ruby18-base/distinfo | 23 ++++- lang/ruby18-base/patches/patch-aa | 4 +- lang/ruby18-base/patches/patch-ab | 4 +- lang/ruby18-base/patches/patch-ac | 4 +- lang/ruby18-base/patches/patch-bd | 33 +++++++ lang/ruby18-base/patches/patch-be | 24 ++++++ lang/ruby18-base/patches/patch-dj | 24 ++++++ lang/ruby18-base/patches/patch-dk | 68 +++++++++++++++ lang/ruby18-base/patches/patch-dl | 139 ++++++++++++++++++++++++++++++ lang/ruby18-base/patches/patch-dm | 116 +++++++++++++++++++++++++ lang/ruby18-base/patches/patch-dn | 15 ++++ lang/ruby18-base/patches/patch-do | 15 ++++ lang/ruby18-base/patches/patch-dp | 100 +++++++++++++++++++++ lang/ruby18-base/patches/patch-dq | 82 ++++++++++++++++++ lang/ruby18-base/patches/patch-dr | 15 ++++ lang/ruby18-base/patches/patch-ds | 15 ++++ lang/ruby18-base/patches/patch-dt | 24 ++++++ lang/ruby18-base/patches/patch-du | 15 ++++ lang/ruby18-base/patches/patch-dv | 15 ++++ 20 files changed, 731 insertions(+), 10 deletions(-) create mode 100644 lang/ruby18-base/patches/patch-bd create mode 100644 lang/ruby18-base/patches/patch-be create mode 100644 lang/ruby18-base/patches/patch-dj create mode 100644 lang/ruby18-base/patches/patch-dk create mode 100644 lang/ruby18-base/patches/patch-dl create mode 100644 lang/ruby18-base/patches/patch-dm create mode 100644 lang/ruby18-base/patches/patch-dn create mode 100644 lang/ruby18-base/patches/patch-do create mode 100644 lang/ruby18-base/patches/patch-dp create mode 100644 lang/ruby18-base/patches/patch-dq create mode 100644 lang/ruby18-base/patches/patch-dr create mode 100644 lang/ruby18-base/patches/patch-ds create mode 100644 lang/ruby18-base/patches/patch-dt create mode 100644 lang/ruby18-base/patches/patch-du create mode 100644 lang/ruby18-base/patches/patch-dv diff --git a/lang/ruby18-base/Makefile b/lang/ruby18-base/Makefile index 320b29adc73e..15e42b32416a 100644 --- a/lang/ruby18-base/Makefile +++ b/lang/ruby18-base/Makefile @@ -1,11 +1,11 @@ -# $NetBSD: Makefile,v 1.51 2009/08/04 19:47:16 hasso Exp $ +# $NetBSD: Makefile,v 1.52 2009/08/11 14:26:58 taca Exp $ # DISTNAME= ${RUBY_DISTNAME} PKGNAME= ${RUBY_PKGPREFIX}-base-${RUBY_VERSION_SUFFIX} CATEGORIES= lang ruby MASTER_SITES= ${MASTER_SITE_RUBY} -PKGREVISION= 1 +PKGREVISION= 2 MAINTAINER= taca@NetBSD.org HOMEPAGE= ${RUBY_HOMEPAGE} @@ -28,7 +28,7 @@ TEST_TARGET= test CONFIGURE_ARGS+= --enable-shared \ --with-ssl-include="${BUILDLINK_PREFIX.openssl}/include" \ --with-ssl-lib="${BUILDLINK_PREFIX.openssl}/lib" -CONFIGURE_ENV+= PREFIX=${PREFIX:Q} +CONFIGURE_ENV+= PREFIX=${PREFIX} WRKSRC= ${RUBY_WRKSRC} .include "../../mk/compiler.mk" diff --git a/lang/ruby18-base/distinfo b/lang/ruby18-base/distinfo index 1703d2d09b96..e874af623df7 100644 --- a/lang/ruby18-base/distinfo +++ b/lang/ruby18-base/distinfo @@ -1,8 +1,23 @@ -$NetBSD: distinfo,v 1.39 2009/06/16 15:08:38 taca Exp $ +$NetBSD: distinfo,v 1.40 2009/08/11 14:26:58 taca Exp $ SHA1 (ruby-1.8.7-p174.tar.bz2) = 9e84b49ad545ad54b8e7dc3c227eaaefeb1041aa RMD160 (ruby-1.8.7-p174.tar.bz2) = f854d456003af1e31d50330c88c3cb152c434249 Size (ruby-1.8.7-p174.tar.bz2) = 4144807 bytes -SHA1 (patch-aa) = 59f4462dada7e7b00c7a773c8a95454f3dc4f994 -SHA1 (patch-ab) = 239872c5faf95c05d2a94fe5f40af5b8541423c7 -SHA1 (patch-ac) = eb4dd068729ba2a2c7d4d659f6bcdb1410227f3b +SHA1 (patch-aa) = 88e4a338c4ca40b32f9e3748eb825769631c3e76 +SHA1 (patch-ab) = 93a3dc95ee5e5cd6c7584240a285fa39b6f21efd +SHA1 (patch-ac) = 77c3ba81bb65d13475bf7ea64328fbc35fe788bf +SHA1 (patch-bd) = fb1a6a6724210c2fd84464d028932e78890ad7da +SHA1 (patch-be) = 79cd592267068820fa2225242034819ba38aa0b1 +SHA1 (patch-dj) = 436c3c0704b878427d947b2e27e5ce0a057eebeb +SHA1 (patch-dk) = 2d436ac4089aa7d818b337de81f405fc5836c9af +SHA1 (patch-dl) = 687803dc966594479467fc4b5e7bd45e767daa2b +SHA1 (patch-dm) = ab3063fecee241420a66d5d6f4ef8bf37440e70d +SHA1 (patch-dn) = f63e0cb7dbd86b4a2c022156fddd22c1ccdd5666 +SHA1 (patch-do) = f9eda9e784da02dff203fd47e8f1ee6871a6a9d4 +SHA1 (patch-dp) = 0b50909072159937c62944a38763fd18ce3181db +SHA1 (patch-dq) = f5a605c49afb29b2c3963a82d844ff4cdf3a8846 +SHA1 (patch-dr) = e0fa1dc8674c6412d73bc4ccd2cfc8b4acad744a +SHA1 (patch-ds) = 5344a63980b88d83e279cee50398312b90d5c2da +SHA1 (patch-dt) = 3dd34a91cbffcb8e432d926c9490372f238e7f2e +SHA1 (patch-du) = 55f021e2eb780743e35ecf70141f7738b04f4b62 +SHA1 (patch-dv) = 25e779444c16717c7aaf800ebf68988878ed636f diff --git a/lang/ruby18-base/patches/patch-aa b/lang/ruby18-base/patches/patch-aa index 319d89bbb550..805543a832f2 100644 --- a/lang/ruby18-base/patches/patch-aa +++ b/lang/ruby18-base/patches/patch-aa @@ -1,4 +1,6 @@ -$NetBSD: patch-aa,v 1.12 2008/06/20 15:39:29 taca Exp $ +$NetBSD: patch-aa,v 1.13 2009/08/11 14:26:58 taca Exp $ + +* Adding Interix support. --- configure.in.orig 2008-06-09 03:23:46.000000000 +0900 +++ configure.in diff --git a/lang/ruby18-base/patches/patch-ab b/lang/ruby18-base/patches/patch-ab index 11fd98131456..c3a4af0ddcbb 100644 --- a/lang/ruby18-base/patches/patch-ab +++ b/lang/ruby18-base/patches/patch-ab @@ -1,4 +1,6 @@ -$NetBSD: patch-ab,v 1.12 2008/06/20 15:39:29 taca Exp $ +$NetBSD: patch-ab,v 1.13 2009/08/11 14:26:58 taca Exp $ + +* Adding Interix support. --- configure.orig 2008-06-09 18:38:04.000000000 +0900 +++ configure diff --git a/lang/ruby18-base/patches/patch-ac b/lang/ruby18-base/patches/patch-ac index 92479ea910ba..8daa27d00cba 100644 --- a/lang/ruby18-base/patches/patch-ac +++ b/lang/ruby18-base/patches/patch-ac @@ -1,4 +1,6 @@ -$NetBSD: patch-ac,v 1.6 2007/10/28 02:33:24 taca Exp $ +$NetBSD: patch-ac,v 1.7 2009/08/11 14:26:58 taca Exp $ + +* Accept db3 or db4 as include/library. --- ext/dbm/extconf.rb.orig 2007-02-13 08:01:19.000000000 +0900 +++ ext/dbm/extconf.rb diff --git a/lang/ruby18-base/patches/patch-bd b/lang/ruby18-base/patches/patch-bd new file mode 100644 index 000000000000..2e482417c61a --- /dev/null +++ b/lang/ruby18-base/patches/patch-bd @@ -0,0 +1,33 @@ +$NetBSD: patch-bd,v 1.3 2009/08/11 14:26:58 taca Exp $ + +* Use modern OpenSSL API to catch up OpenSSL 1.0.0 and later. + +--- ext/openssl/ossl.c.orig 2007-06-09 00:02:04.000000000 +0900 ++++ ext/openssl/ossl.c +@@ -92,7 +92,7 @@ ossl_x509_ary2sk(VALUE ary) + + #define OSSL_IMPL_SK2ARY(name, type) \ + VALUE \ +-ossl_##name##_sk2ary(STACK *sk) \ ++ossl_##name##_sk2ary(STACK_OF(type) *sk) \ + { \ + type *t; \ + int i, num; \ +@@ -102,7 +102,7 @@ ossl_##name##_sk2ary(STACK *sk) \ + OSSL_Debug("empty sk!"); \ + return Qnil; \ + } \ +- num = sk_num(sk); \ ++ num = sk_##type##_num(sk); \ + if (num < 0) { \ + OSSL_Debug("items in sk < -1???"); \ + return rb_ary_new(); \ +@@ -110,7 +110,7 @@ ossl_##name##_sk2ary(STACK *sk) \ + ary = rb_ary_new2(num); \ + \ + for (i=0; i= 0x10000000L ++get_conf_section_doall_arg(void *arg1, void *arg2) ++#else ++get_conf_section(void *arg1, void *arg2) ++#endif + { ++ CONF_VALUE *cv; ++ VALUE ary; ++ ++ cv = arg1; ++ ary = (VALUE)arg2; + if(cv->name) return; + rb_ary_push(ary, rb_str_new2(cv->section)); + } +@@ -310,19 +319,31 @@ ossl_config_get_sections(VALUE self) + + GetConfig(self, conf); + ary = rb_ary_new(); ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ LHM_lh_doall_arg(CONF_VALUE, conf->data, ++ LHASH_DOALL_ARG_FN(get_conf_section), void, (void*)ary); ++#else + lh_doall_arg(conf->data, LHASH_DOALL_ARG_FN(get_conf_section), (void*)ary); ++#endif + + return ary; + } + + static void +-dump_conf_value(CONF_VALUE *cv, VALUE str) ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++dump_conf_value_doall_arg(void *arg1, void *arg2) ++#else ++dump_conf_value(void *arg1, void *arg2) ++#endif + { + STACK_OF(CONF_VALUE) *sk; +- CONF_VALUE *v; ++ CONF_VALUE *cv, *v; ++ VALUE str; + int i, num; + ++ cv = arg1; + if (cv->name) return; ++ str = (VALUE)arg2; + sk = (STACK_OF(CONF_VALUE)*)cv->value; + num = sk_CONF_VALUE_num(sk); + rb_str_cat2(str, "[ "); +@@ -346,7 +367,12 @@ dump_conf(CONF *conf) + VALUE str; + + str = rb_str_new(0, 0); ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ LHM_lh_doall_arg(CONF_VALUE, conf->data, ++ LHASH_DOALL_ARG_FN(dump_conf_value), void, (void*)str); ++#else + lh_doall_arg(conf->data, LHASH_DOALL_ARG_FN(dump_conf_value), (void*)str); ++#endif + + return str; + } +@@ -362,13 +388,18 @@ ossl_config_to_s(VALUE self) + } + + static void +-each_conf_value(CONF_VALUE *cv, void* dummy) ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++each_conf_value_doall_arg(void *arg1, void* dummy) ++#else ++each_conf_value(void *arg1, void* dummy) ++#endif + { + STACK_OF(CONF_VALUE) *sk; +- CONF_VALUE *v; ++ CONF_VALUE *cv, *v; + VALUE section, name, value, args; + int i, num; + ++ cv = arg1; + if (cv->name) return; + sk = (STACK_OF(CONF_VALUE)*)cv->value; + num = sk_CONF_VALUE_num(sk); +@@ -390,7 +421,12 @@ ossl_config_each(VALUE self) + CONF *conf; + + GetConfig(self, conf); ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ LHM_lh_doall_arg(CONF_VALUE, conf->data, ++ LHASH_DOALL_ARG_FN(each_conf_value), void, (void*)NULL); ++#else + lh_doall_arg(conf->data, LHASH_DOALL_ARG_FN(each_conf_value), (void*)NULL); ++#endif + + return self; + } +@@ -421,7 +457,7 @@ static VALUE + ossl_config_inspect(VALUE self) + { + VALUE str, ary = ossl_config_get_sections(self); +- char *cname = rb_class2name(rb_obj_class(self)); ++ const char *cname = rb_class2name(rb_obj_class(self)); + + str = rb_str_new2("#<"); + rb_str_cat2(str, cname); diff --git a/lang/ruby18-base/patches/patch-dn b/lang/ruby18-base/patches/patch-dn new file mode 100644 index 000000000000..2ac756a5bc44 --- /dev/null +++ b/lang/ruby18-base/patches/patch-dn @@ -0,0 +1,15 @@ +$NetBSD: patch-dn,v 1.1 2009/08/11 14:26:59 taca Exp $ + +* Constify. + +--- ext/openssl/ossl_engine.c.orig 2007-06-09 00:02:04.000000000 +0900 ++++ ext/openssl/ossl_engine.c +@@ -326,7 +326,7 @@ static VALUE + ossl_engine_inspect(VALUE self) + { + VALUE str; +- char *cname = rb_class2name(rb_obj_class(self)); ++ const char *cname = rb_class2name(rb_obj_class(self)); + + str = rb_str_new2("#<"); + rb_str_cat2(str, cname); diff --git a/lang/ruby18-base/patches/patch-do b/lang/ruby18-base/patches/patch-do new file mode 100644 index 000000000000..3b5ecc7de082 --- /dev/null +++ b/lang/ruby18-base/patches/patch-do @@ -0,0 +1,15 @@ +$NetBSD: patch-do,v 1.1 2009/08/11 14:26:59 taca Exp $ + +* Constify. + +--- ext/openssl/ossl_ns_spki.c.orig 2007-06-09 00:02:04.000000000 +0900 ++++ ext/openssl/ossl_ns_spki.c +@@ -56,7 +56,7 @@ ossl_spki_initialize(int argc, VALUE *ar + { + NETSCAPE_SPKI *spki; + VALUE buffer; +- unsigned char *p; ++ const unsigned char *p; + + if (rb_scan_args(argc, argv, "01", &buffer) == 0) { + return self; diff --git a/lang/ruby18-base/patches/patch-dp b/lang/ruby18-base/patches/patch-dp new file mode 100644 index 000000000000..80ea3d0e07df --- /dev/null +++ b/lang/ruby18-base/patches/patch-dp @@ -0,0 +1,100 @@ +$NetBSD: patch-dp,v 1.1 2009/08/11 14:26:59 taca Exp $ + +* Instead of returning different type of value thorugh generic type, + use separate functions for each type. + +--- ext/openssl/ossl_pkcs7.c.orig 2007-06-09 00:02:04.000000000 +0900 ++++ ext/openssl/ossl_pkcs7.c +@@ -570,12 +570,11 @@ ossl_pkcs7_add_certificate(VALUE self, V + return self; + } + +-static STACK * +-pkcs7_get_certs_or_crls(VALUE self, int want_certs) ++static STACK_OF(X509) * ++pkcs7_get_certs(VALUE self) + { + PKCS7 *pkcs7; + STACK_OF(X509) *certs; +- STACK_OF(X509_CRL) *crls; + int i; + + GetPKCS7(self, pkcs7); +@@ -583,17 +582,38 @@ pkcs7_get_certs_or_crls(VALUE self, int + switch(i){ + case NID_pkcs7_signed: + certs = pkcs7->d.sign->cert; +- crls = pkcs7->d.sign->crl; + break; + case NID_pkcs7_signedAndEnveloped: + certs = pkcs7->d.signed_and_enveloped->cert; ++ break; ++ default: ++ certs = NULL; ++ } ++ ++ return certs; ++} ++ ++static STACK_OF(X509_CRL) * ++pkcs7_get_crls(VALUE self) ++{ ++ PKCS7 *pkcs7; ++ STACK_OF(X509_CRL) *crls; ++ int i; ++ ++ GetPKCS7(self, pkcs7); ++ i = OBJ_obj2nid(pkcs7->type); ++ switch(i){ ++ case NID_pkcs7_signed: ++ crls = pkcs7->d.sign->crl; ++ break; ++ case NID_pkcs7_signedAndEnveloped: + crls = pkcs7->d.signed_and_enveloped->crl; + break; + default: +- certs = crls = NULL; ++ crls = NULL; + } + +- return want_certs ? certs : crls; ++ return crls; + } + + static VALUE +@@ -608,7 +628,7 @@ ossl_pkcs7_set_certificates(VALUE self, + STACK_OF(X509) *certs; + X509 *cert; + +- certs = pkcs7_get_certs_or_crls(self, 1); ++ certs = pkcs7_get_certs(self); + while((cert = sk_X509_pop(certs))) X509_free(cert); + rb_block_call(ary, rb_intern("each"), 0, 0, ossl_pkcs7_set_certs_i, self); + +@@ -618,7 +638,7 @@ ossl_pkcs7_set_certificates(VALUE self, + static VALUE + ossl_pkcs7_get_certificates(VALUE self) + { +- return ossl_x509_sk2ary(pkcs7_get_certs_or_crls(self, 1)); ++ return ossl_x509_sk2ary(pkcs7_get_certs(self)); + } + + static VALUE +@@ -648,7 +668,7 @@ ossl_pkcs7_set_crls(VALUE self, VALUE ar + STACK_OF(X509_CRL) *crls; + X509_CRL *crl; + +- crls = pkcs7_get_certs_or_crls(self, 0); ++ crls = pkcs7_get_crls(self); + while((crl = sk_X509_CRL_pop(crls))) X509_CRL_free(crl); + rb_block_call(ary, rb_intern("each"), 0, 0, ossl_pkcs7_set_crls_i, self); + +@@ -658,7 +678,7 @@ ossl_pkcs7_set_crls(VALUE self, VALUE ar + static VALUE + ossl_pkcs7_get_crls(VALUE self) + { +- return ossl_x509crl_sk2ary(pkcs7_get_certs_or_crls(self, 0)); ++ return ossl_x509crl_sk2ary(pkcs7_get_crls(self)); + } + + static VALUE diff --git a/lang/ruby18-base/patches/patch-dq b/lang/ruby18-base/patches/patch-dq new file mode 100644 index 000000000000..09179335e7a8 --- /dev/null +++ b/lang/ruby18-base/patches/patch-dq @@ -0,0 +1,82 @@ +$NetBSD: patch-dq,v 1.1 2009/08/11 14:26:59 taca Exp $ + +* Use modern OpenSSL API to catch up OpenSSL 1.0.0 and later. +* Constify (some cases are depends on OpenSSL's version). + +--- ext/openssl/ossl_ssl.c.orig 2008-06-06 17:05:24.000000000 +0900 ++++ ext/openssl/ossl_ssl.c +@@ -26,6 +26,12 @@ + # define TO_SOCKET(s) s + #endif + ++#if OPENSSL_VERSION_NUMBER >= 0x00909000L ++#define OSSL_CONST const ++#else ++#define OSSL_CONST ++#endif ++ + VALUE mSSL; + VALUE eSSLError; + VALUE cSSLContext; +@@ -95,7 +101,7 @@ ID ID_callback_state; + */ + struct { + const char *name; +- SSL_METHOD *(*func)(void); ++ OSSL_CONST SSL_METHOD *(*func)(void); + } ossl_ssl_method_tab[] = { + #define OSSL_SSL_METHOD_ENTRY(name) { #name, name##_method } + OSSL_SSL_METHOD_ENTRY(TLSv1), +@@ -144,7 +150,7 @@ ossl_sslctx_s_alloc(VALUE klass) + static VALUE + ossl_sslctx_set_ssl_version(VALUE self, VALUE ssl_method) + { +- SSL_METHOD *method = NULL; ++ OSSL_CONST SSL_METHOD *method = NULL; + const char *s; + int i; + +@@ -585,7 +591,7 @@ ossl_sslctx_setup(VALUE self) + } + + static VALUE +-ossl_ssl_cipher_to_ary(SSL_CIPHER *cipher) ++ossl_ssl_cipher_to_ary(const SSL_CIPHER *cipher) + { + VALUE ary; + int bits, alg_bits; +@@ -623,10 +629,10 @@ ossl_sslctx_get_ciphers(VALUE self) + if (!ciphers) + return rb_ary_new(); + +- num = sk_num((STACK*)ciphers); ++ num = sk_SSL_CIPHER_num(ciphers); + ary = rb_ary_new2(num); + for(i = 0; i < num; i++){ +- cipher = (SSL_CIPHER*)sk_value((STACK*)ciphers, i); ++ cipher = sk_SSL_CIPHER_value(ciphers, i); + rb_ary_push(ary, ossl_ssl_cipher_to_ary(cipher)); + } + return ary; +@@ -1196,10 +1202,10 @@ ossl_ssl_get_peer_cert_chain(VALUE self) + } + chain = SSL_get_peer_cert_chain(ssl); + if(!chain) return Qnil; +- num = sk_num(chain); ++ num = sk_X509_num(chain); + ary = rb_ary_new2(num); + for (i = 0; i < num; i++){ +- cert = (X509*)sk_value(chain, i); ++ cert = sk_X509_value(chain, i); + rb_ary_push(ary, ossl_x509_new(cert)); + } + +@@ -1214,7 +1220,7 @@ static VALUE + ossl_ssl_get_cipher(VALUE self) + { + SSL *ssl; +- SSL_CIPHER *cipher; ++ const SSL_CIPHER *cipher; + + Data_Get_Struct(self, SSL, ssl); + if (!ssl) { diff --git a/lang/ruby18-base/patches/patch-dr b/lang/ruby18-base/patches/patch-dr new file mode 100644 index 000000000000..eecb5fb7ffdc --- /dev/null +++ b/lang/ruby18-base/patches/patch-dr @@ -0,0 +1,15 @@ +$NetBSD: patch-dr,v 1.1 2009/08/11 14:26:59 taca Exp $ + +* Constify. + +--- ext/openssl/ossl_x509attr.c.orig 2007-06-09 00:02:04.000000000 +0900 ++++ ext/openssl/ossl_x509attr.c +@@ -93,7 +93,7 @@ ossl_x509attr_initialize(int argc, VALUE + { + VALUE oid, value; + X509_ATTRIBUTE *attr; +- unsigned char *p; ++ const unsigned char *p; + + GetX509Attr(self, attr); + if(rb_scan_args(argc, argv, "11", &oid, &value) == 1){ diff --git a/lang/ruby18-base/patches/patch-ds b/lang/ruby18-base/patches/patch-ds new file mode 100644 index 000000000000..8fec5e34c58d --- /dev/null +++ b/lang/ruby18-base/patches/patch-ds @@ -0,0 +1,15 @@ +$NetBSD: patch-ds,v 1.1 2009/08/11 14:26:59 taca Exp $ + +* Constify. + +--- ext/openssl/ossl_x509cert.c.orig 2007-06-09 00:02:04.000000000 +0900 ++++ ext/openssl/ossl_x509cert.c +@@ -690,7 +690,7 @@ static VALUE + ossl_x509_inspect(VALUE self) + { + VALUE str; +- char *cname = rb_class2name(rb_obj_class(self)); ++ const char *cname = rb_class2name(rb_obj_class(self)); + + str = rb_str_new2("#<"); + rb_str_cat2(str, cname); diff --git a/lang/ruby18-base/patches/patch-dt b/lang/ruby18-base/patches/patch-dt new file mode 100644 index 000000000000..0c34c1935c60 --- /dev/null +++ b/lang/ruby18-base/patches/patch-dt @@ -0,0 +1,24 @@ +$NetBSD: patch-dt,v 1.1 2009/08/11 14:26:59 taca Exp $ + +* Use proper funcition assosiated type. + +--- ext/openssl/ossl_x509crl.c.orig 2007-06-09 00:02:04.000000000 +0900 ++++ ext/openssl/ossl_x509crl.c +@@ -262,7 +262,7 @@ ossl_x509crl_get_revoked(VALUE self) + VALUE ary, revoked; + + GetX509CRL(self, crl); +- num = sk_X509_CRL_num(X509_CRL_get_REVOKED(crl)); ++ num = sk_X509_REVOKED_num(X509_CRL_get_REVOKED(crl)); + if (num < 0) { + OSSL_Debug("num < 0???"); + return rb_ary_new(); +@@ -270,7 +270,7 @@ ossl_x509crl_get_revoked(VALUE self) + ary = rb_ary_new2(num); + for(i=0; i