summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTreeve Jelbert2010-09-06 10:27:26 +0200
committerGeorge Sherwood2010-09-10 14:48:30 -0500
commita78d2aa44bcf70edef72fbd1675be1c154db5a6f (patch)
treeec37f6831fbf129916ded4dcf6e5fcba5166d384
parent2734bfb173a0b1480a1c93f2e583852f3c390902 (diff)
ruby-1.9: => 1.9.2-p0
(cherry picked from commit 805f0ad39e8c1d7885515b9163662d0695e4ecef)
-rwxr-xr-xruby-raa/ruby-1.9/DETAILS6
-rw-r--r--ruby-raa/ruby-1.9/HISTORY5
-rwxr-xr-xruby-raa/ruby-1.9/PRE_BUILD3
-rw-r--r--ruby-raa/ruby-1.9/ruby-1.9.2pre1-openssl1-patch463
4 files changed, 8 insertions, 469 deletions
diff --git a/ruby-raa/ruby-1.9/DETAILS b/ruby-raa/ruby-1.9/DETAILS
index 3cb06f8797..52fb18cc87 100755
--- a/ruby-raa/ruby-1.9/DETAILS
+++ b/ruby-raa/ruby-1.9/DETAILS
@@ -1,9 +1,9 @@
SPELL=ruby-1.9
PACKAGE=ruby
- VERSION=1.9.1-p429
- SOURCE_HASH=sha512:40bb204c46597edd0fae5b9c3efe189edfafb16095a85d79f5026d825e045d0a19ae893e55f3f3d11cd669185912a78676a7598f400a5b70335bea5660d4fe7b
+ VERSION=1.9.2-p0
+ SOURCE_HASH=sha512:2ba01f6948e980427c98f144454ff03eff78497a026b5412592d4c3afececcaa852b4764af2387009ec4ad8a01dec2127784952b48af90bf0f108baebd55b88d
SOURCE=$PACKAGE-$VERSION.tar.gz
- SECURITY_PATCH=1
+ SECURITY_PATCH=2
SOURCE_URL[0]=ftp://ftp.ruby-lang.org/pub/ruby/1.9/$SOURCE
SOURCE_URL[1]=ftp://www.ibiblio.org/pub/languages/ruby/$SOURCE
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$PACKAGE-$VERSION
diff --git a/ruby-raa/ruby-1.9/HISTORY b/ruby-raa/ruby-1.9/HISTORY
index 65c6be5c07..1a57ddefbc 100644
--- a/ruby-raa/ruby-1.9/HISTORY
+++ b/ruby-raa/ruby-1.9/HISTORY
@@ -1,3 +1,8 @@
+2010-09-06 Treeve Jelbert <treeve@sourcemage.org>
+ * DETAILS: version 1.9.2-p0
+ fixes CVE-2010-0541
+ * PRE_BUILD, ruby-1.9.2pre1-openssl1-patch: deleted
+
2010-08-11 Treeve Jelbert <treeve@sourcemage.org>
* DETAILS: version 1.9.1-p429
diff --git a/ruby-raa/ruby-1.9/PRE_BUILD b/ruby-raa/ruby-1.9/PRE_BUILD
deleted file mode 100755
index f04549ffdf..0000000000
--- a/ruby-raa/ruby-1.9/PRE_BUILD
+++ /dev/null
@@ -1,3 +0,0 @@
-default_pre_build &&
-cd ${SOURCE_DIRECTORY} &&
-patch -p0 < ${SCRIPT_DIRECTORY}/ruby-1.9.2pre1-openssl1-patch
diff --git a/ruby-raa/ruby-1.9/ruby-1.9.2pre1-openssl1-patch b/ruby-raa/ruby-1.9/ruby-1.9.2pre1-openssl1-patch
deleted file mode 100644
index d2a44b15d4..0000000000
--- a/ruby-raa/ruby-1.9/ruby-1.9.2pre1-openssl1-patch
+++ /dev/null
@@ -1,463 +0,0 @@
-
-Index: ext/openssl/ossl.c
-
---- ext/openssl/ossl.c.orig 2009-03-19 20:40:38.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<num; i++) { \
-- t = (type *)sk_value(sk, i); \
-+ t = sk_##type##_value(sk, i); \
- rb_ary_push(ary, ossl_##name##_new(t)); \
- } \
- return ary; \
-Index: ext/openssl/ossl_asn1.c
-
---- ext/openssl/ossl_asn1.c.orig 2009-03-13 10:42:21.000000000 +0900
-+++ ext/openssl/ossl_asn1.c
-@@ -304,7 +304,7 @@ obj_to_asn1derstr(VALUE obj)
- * DER to Ruby converters
- */
- static VALUE
--decode_bool(unsigned char* der, int length)
-+decode_bool(const unsigned char* der, int length)
- {
- int val;
- const unsigned char *p;
-@@ -317,7 +317,7 @@ decode_bool(unsigned char* der, int leng
- }
-
- static VALUE
--decode_int(unsigned char* der, int length)
-+decode_int(const unsigned char* der, int length)
- {
- ASN1_INTEGER *ai;
- const unsigned char *p;
-@@ -336,7 +336,7 @@ decode_int(unsigned char* der, int lengt
- }
-
- static VALUE
--decode_bstr(unsigned char* der, int length, long *unused_bits)
-+decode_bstr(const unsigned char* der, int length, long *unused_bits)
- {
- ASN1_BIT_STRING *bstr;
- const unsigned char *p;
-@@ -357,7 +357,7 @@ decode_bstr(unsigned char* der, int leng
- }
-
- static VALUE
--decode_enum(unsigned char* der, int length)
-+decode_enum(const unsigned char* der, int length)
- {
- ASN1_ENUMERATED *ai;
- const unsigned char *p;
-@@ -376,7 +376,7 @@ decode_enum(unsigned char* der, int leng
- }
-
- static VALUE
--decode_null(unsigned char* der, int length)
-+decode_null(const unsigned char* der, int length)
- {
- ASN1_NULL *null;
- const unsigned char *p;
-@@ -390,7 +390,7 @@ decode_null(unsigned char* der, int leng
- }
-
- static VALUE
--decode_obj(unsigned char* der, int length)
-+decode_obj(const unsigned char* der, int length)
- {
- ASN1_OBJECT *obj;
- const unsigned char *p;
-@@ -419,7 +419,7 @@ decode_obj(unsigned char* der, int lengt
- }
-
- static VALUE
--decode_time(unsigned char* der, int length)
-+decode_time(const unsigned char* der, int length)
- {
- ASN1_TIME *time;
- const unsigned char *p;
-@@ -707,10 +707,10 @@ ossl_asn1data_to_der(VALUE self)
- }
-
- static VALUE
--ossl_asn1_decode0(unsigned char **pp, long length, long *offset, long depth,
-- int once, int yield)
-+ossl_asn1_decode0(const unsigned char **pp, long length, long *offset,
-+ long depth, int once, int yield)
- {
-- unsigned char *start, *p;
-+ const unsigned char *start, *p;
- const unsigned char *p0;
- long len, off = *offset;
- int hlen, tag, tc, j;
-@@ -816,7 +816,7 @@ ossl_asn1_decode0(unsigned char **pp, lo
- static VALUE
- ossl_asn1_traverse(VALUE self, VALUE obj)
- {
-- unsigned char *p;
-+ const unsigned char *p;
- long offset = 0;
- volatile VALUE tmp;
-
-@@ -832,7 +832,7 @@ static VALUE
- ossl_asn1_decode(VALUE self, VALUE obj)
- {
- VALUE ret, ary;
-- unsigned char *p;
-+ const unsigned char *p;
- long offset = 0;
- volatile VALUE tmp;
-
-@@ -849,7 +849,7 @@ static VALUE
- ossl_asn1_decode_all(VALUE self, VALUE obj)
- {
- VALUE ret;
-- unsigned char *p;
-+ const unsigned char *p;
- long offset = 0;
- volatile VALUE tmp;
-
-Index: ext/openssl/ossl_config.c
-
---- ext/openssl/ossl_config.c.orig 2009-04-18 23:10:06.000000000 +0900
-+++ ext/openssl/ossl_config.c
-@@ -304,8 +304,17 @@ ossl_config_get_section_old(VALUE self,
-
- #ifdef IMPLEMENT_LHASH_DOALL_ARG_FN
- static void
--get_conf_section(CONF_VALUE *cv, VALUE ary)
-+#if OPENSSL_VERSION_NUMBER >= 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));
- }
-@@ -320,19 +329,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, "[ ");
-@@ -356,7 +377,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;
- }
-@@ -372,13 +398,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);
-@@ -402,7 +433,12 @@ ossl_config_each(VALUE self)
- RETURN_ENUMERATOR(self, 0, 0);
-
- 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;
- }
-Index: ext/openssl/ossl_pkcs7.c
-
---- ext/openssl/ossl_pkcs7.c.orig 2008-07-23 00:34:23.000000000 +0900
-+++ ext/openssl/ossl_pkcs7.c
-@@ -572,12 +572,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);
-@@ -585,17 +584,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
-@@ -610,7 +630,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);
-
-@@ -620,7 +640,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
-@@ -650,7 +670,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);
-
-@@ -660,7 +680,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
-Index: ext/openssl/ossl_ssl.c
-
---- ext/openssl/ossl_ssl.c.orig 2009-03-21 17:08:52.000000000 +0900
-+++ ext/openssl/ossl_ssl.c
-@@ -16,6 +16,12 @@
- # include <unistd.h> /* for read(), and write() */
- #endif
-
-+#if OPENSSL_VERSION_NUMBER >= 0x00909000L
-+#define OSSL_CONST const
-+#else
-+#define OSSL_CONST
-+#endif
-+
- #define numberof(ary) (sizeof(ary)/sizeof(ary[0]))
-
- #ifdef _WIN32
-@@ -101,7 +107,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),
-@@ -150,7 +156,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;
-
-@@ -662,7 +668,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;
-@@ -700,10 +706,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;
-@@ -1400,10 +1406,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));
- }
-
-@@ -1418,7 +1424,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) {
-Index: ext/openssl/ossl_ssl_session.c
-
---- ext/openssl/ossl_ssl_session.c.orig 2009-03-13 16:45:35.000000000 +0900
-+++ ext/openssl/ossl_ssl_session.c
-@@ -84,10 +84,12 @@ static VALUE ossl_ssl_session_eq(VALUE v
- GetSSLSession(val1, ctx1);
- SafeGetSSLSession(val2, ctx2);
-
-- switch (SSL_SESSION_cmp(ctx1, ctx2)) {
-- case 0: return Qtrue;
-- default: return Qfalse;
-- }
-+ if ((ctx1->ssl_version == ctx2->ssl_version) &&
-+ (ctx1->session_id_length == ctx2->session_id_length) &&
-+ memcmp(ctx1->session_id, ctx2->session_id, ctx1->session_id_length) == 0)
-+ return Qtrue;
-+ else
-+ return Qfalse;
- }
-
- /*
-Index: ext/openssl/ossl_x509crl.c
-
---- ext/openssl/ossl_x509crl.c.orig 2008-07-23 00:34:23.000000000 +0900
-+++ ext/openssl/ossl_x509crl.c
-@@ -264,7 +264,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();
-@@ -272,7 +272,7 @@ ossl_x509crl_get_revoked(VALUE self)
- ary = rb_ary_new2(num);
- for(i=0; i<num; i++) {
- /* NO DUP - don't free! */
-- rev = (X509_REVOKED *)sk_X509_CRL_value(X509_CRL_get_REVOKED(crl), i);
-+ rev = sk_X509_REVOKED_value(X509_CRL_get_REVOKED(crl), i);
- revoked = ossl_x509revoked_new(rev);
- rb_ary_push(ary, revoked);
- }