[macruby-changes] [4510] MacRuby/trunk/ext/openssl

source_changes at macosforge.org source_changes at macosforge.org
Mon Sep 13 14:18:44 PDT 2010


Revision: 4510
          http://trac.macosforge.org/projects/ruby/changeset/4510
Author:   lsansonetti at apple.com
Date:     2010-09-13 14:18:42 -0700 (Mon, 13 Sep 2010)
Log Message:
-----------
more openssl fixes

Modified Paths:
--------------
    MacRuby/trunk/ext/openssl/ossl.h
    MacRuby/trunk/ext/openssl/ossl_asn1.c
    MacRuby/trunk/ext/openssl/ossl_ocsp.c
    MacRuby/trunk/ext/openssl/ossl_pkcs12.c
    MacRuby/trunk/ext/openssl/ossl_pkcs7.c
    MacRuby/trunk/ext/openssl/ossl_pkey_dh.c
    MacRuby/trunk/ext/openssl/ossl_pkey_dsa.c
    MacRuby/trunk/ext/openssl/ossl_pkey_ec.c
    MacRuby/trunk/ext/openssl/ossl_x509attr.c
    MacRuby/trunk/ext/openssl/ossl_x509cert.c
    MacRuby/trunk/ext/openssl/ossl_x509req.c

Modified: MacRuby/trunk/ext/openssl/ossl.h
===================================================================
--- MacRuby/trunk/ext/openssl/ossl.h	2010-09-11 08:51:52 UTC (rev 4509)
+++ MacRuby/trunk/ext/openssl/ossl.h	2010-09-13 21:18:42 UTC (rev 4510)
@@ -119,10 +119,10 @@
 VALUE ossl_buf2str(char *buf, int len);
 #define ossl_str_adjust(str, p) \
 do{\
-    int len = RSTRING_LEN(str);\
-    int newlen = (p) - (unsigned char*)RSTRING_PTR(str);\
+    long len = rb_bstr_length(str);\
+    long newlen = (p) - (unsigned char*)rb_bstr_bytes(str);\
     assert(newlen <= len);\
-    rb_str_set_len(str, newlen);\
+    rb_bstr_set_length(str, newlen);\
 }while(0)
 
 /*

Modified: MacRuby/trunk/ext/openssl/ossl_asn1.c
===================================================================
--- MacRuby/trunk/ext/openssl/ossl_asn1.c	2010-09-11 08:51:52 UTC (rev 4509)
+++ MacRuby/trunk/ext/openssl/ossl_asn1.c	2010-09-13 21:18:42 UTC (rev 4510)
@@ -696,8 +696,9 @@
     tag_class = ossl_asn1_tag_class(self);
     if((length = ASN1_object_size(1, RSTRING_LEN(value), tag)) <= 0)
 	ossl_raise(eASN1Error, NULL);
-    der = rb_str_new(0, length);
-    p = (unsigned char *)RSTRING_PTR(der);
+    der = rb_bstr_new();
+    rb_bstr_resize(der, length);
+    p = (unsigned char *)rb_bstr_bytes(der);
     ASN1_put_object(&p, is_cons, RSTRING_LEN(value), tag, tag_class);
     memcpy(p, RSTRING_PTR(value), RSTRING_LEN(value));
     p += RSTRING_LEN(value);

Modified: MacRuby/trunk/ext/openssl/ossl_ocsp.c
===================================================================
--- MacRuby/trunk/ext/openssl/ossl_ocsp.c	2010-09-11 08:51:52 UTC (rev 4509)
+++ MacRuby/trunk/ext/openssl/ossl_ocsp.c	2010-09-13 21:18:42 UTC (rev 4510)
@@ -266,8 +266,9 @@
     GetOCSPReq(self, req);
     if((len = i2d_OCSP_REQUEST(req, NULL)) <= 0)
 	ossl_raise(eOCSPError, NULL);
-    str = rb_str_new(0, len);
-    p = (unsigned char *)RSTRING_PTR(str);
+    str = rb_bstr_new();
+    rb_bstr_resize(str, len);
+    p = (unsigned char *)rb_bstr_bytes(str);
     if(i2d_OCSP_REQUEST(req, &p) <= 0)
 	ossl_raise(eOCSPError, NULL);
     ossl_str_adjust(str, p);
@@ -380,8 +381,9 @@
     GetOCSPRes(self, res);
     if((len = i2d_OCSP_RESPONSE(res, NULL)) <= 0)
 	ossl_raise(eOCSPError, NULL);
-    str = rb_str_new(0, len);
-    p = (unsigned char *)RSTRING_PTR(str);
+    str = rb_bstr_new();
+    rb_bstr_resize(str, len);
+    p = (unsigned char *)rb_bstr_bytes(str);
     if(i2d_OCSP_RESPONSE(res, &p) <= 0)
 	ossl_raise(eOCSPError, NULL);
     ossl_str_adjust(str, p);

Modified: MacRuby/trunk/ext/openssl/ossl_pkcs12.c
===================================================================
--- MacRuby/trunk/ext/openssl/ossl_pkcs12.c	2010-09-11 08:51:52 UTC (rev 4509)
+++ MacRuby/trunk/ext/openssl/ossl_pkcs12.c	2010-09-13 21:18:42 UTC (rev 4510)
@@ -182,8 +182,9 @@
     GetPKCS12(self, p12);
     if((len = i2d_PKCS12(p12, NULL)) <= 0)
 	ossl_raise(ePKCS12Error, NULL);
-    str = rb_str_new(0, len);
-    p = (unsigned char *)RSTRING_PTR(str);
+    str = rb_bstr_new();
+    rb_bstr_resize(str, len);
+    p = (unsigned char *)rb_bstr_bytes(str);
     if(i2d_PKCS12(p12, &p) <= 0)
 	ossl_raise(ePKCS12Error, NULL);
     ossl_str_adjust(str, p);

Modified: MacRuby/trunk/ext/openssl/ossl_pkcs7.c
===================================================================
--- MacRuby/trunk/ext/openssl/ossl_pkcs7.c	2010-09-11 08:51:52 UTC (rev 4509)
+++ MacRuby/trunk/ext/openssl/ossl_pkcs7.c	2010-09-13 21:18:42 UTC (rev 4510)
@@ -779,8 +779,9 @@
     GetPKCS7(self, pkcs7);
     if((len = i2d_PKCS7(pkcs7, NULL)) <= 0)
 	ossl_raise(ePKCS7Error, NULL);
-    str = rb_str_new(0, len);
-    p = (unsigned char *)RSTRING_PTR(str);
+    str = rb_bstr_new();
+    rb_bstr_resize(str, len);
+    p = (unsigned char *)rb_bstr_bytes(str);
     if(i2d_PKCS7(pkcs7, &p) <= 0)
 	ossl_raise(ePKCS7Error, NULL);
     ossl_str_adjust(str, p);

Modified: MacRuby/trunk/ext/openssl/ossl_pkey_dh.c
===================================================================
--- MacRuby/trunk/ext/openssl/ossl_pkey_dh.c	2010-09-11 08:51:52 UTC (rev 4509)
+++ MacRuby/trunk/ext/openssl/ossl_pkey_dh.c	2010-09-13 21:18:42 UTC (rev 4510)
@@ -253,8 +253,9 @@
     GetPKeyDH(self, pkey);
     if((len = i2d_DHparams(pkey->pkey.dh, NULL)) <= 0)
 	ossl_raise(eDHError, NULL);
-    str = rb_str_new(0, len);
-    p = (unsigned char *)RSTRING_PTR(str);
+    str = rb_bstr_new();
+    rb_bstr_resize(str, len);
+    p = (unsigned char *)rb_bstr_bytes(str);
     if(i2d_DHparams(pkey->pkey.dh, &p) < 0)
 	ossl_raise(eDHError, NULL);
     ossl_str_adjust(str, p);

Modified: MacRuby/trunk/ext/openssl/ossl_pkey_dsa.c
===================================================================
--- MacRuby/trunk/ext/openssl/ossl_pkey_dsa.c	2010-09-11 08:51:52 UTC (rev 4509)
+++ MacRuby/trunk/ext/openssl/ossl_pkey_dsa.c	2010-09-13 21:18:42 UTC (rev 4510)
@@ -288,8 +288,9 @@
 	i2d_func = i2d_DSA_PUBKEY;
     if((len = i2d_func(pkey->pkey.dsa, NULL)) <= 0)
 	ossl_raise(eDSAError, NULL);
-    str = rb_str_new(0, len);
-    p = (unsigned char *)RSTRING_PTR(str);
+    str = rb_bstr_new();
+    rb_bstr_resize(str, len);
+    p = (unsigned char *)rb_bstr_bytes(str);
     if(i2d_func(pkey->pkey.dsa, &p) < 0)
 	ossl_raise(eDSAError, NULL);
     ossl_str_adjust(str, p);

Modified: MacRuby/trunk/ext/openssl/ossl_pkey_ec.c
===================================================================
--- MacRuby/trunk/ext/openssl/ossl_pkey_ec.c	2010-09-11 08:51:52 UTC (rev 4509)
+++ MacRuby/trunk/ext/openssl/ossl_pkey_ec.c	2010-09-13 21:18:42 UTC (rev 4510)
@@ -672,8 +672,9 @@
     if (EC_KEY_get0_private_key(ec) == NULL)
 	ossl_raise(eECError, "Private EC key needed!");
 
-    str = rb_str_new(0, ECDSA_size(ec) + 16);
-    if (ECDSA_sign(0, (unsigned char *) RSTRING_PTR(data), RSTRING_LEN(data), (unsigned char *) RSTRING_PTR(str), &buf_len, ec) != 1)
+    str = rb_bstr_new();
+    rb_bstr_resize(str, ECDSA_size(ec) + 16);
+    if (ECDSA_sign(0, (const unsigned char *) RSTRING_PTR(data), RSTRING_LEN(data), (unsigned char *) rb_bstr_bytes(str), &buf_len, ec) != 1)
          ossl_raise(eECError, "ECDSA_sign");
 
     rb_str_resize(str, buf_len);

Modified: MacRuby/trunk/ext/openssl/ossl_x509attr.c
===================================================================
--- MacRuby/trunk/ext/openssl/ossl_x509attr.c	2010-09-11 08:51:52 UTC (rev 4509)
+++ MacRuby/trunk/ext/openssl/ossl_x509attr.c	2010-09-13 21:18:42 UTC (rev 4510)
@@ -212,16 +212,18 @@
     if(attr->value.ptr == NULL) return Qnil;
     if(OSSL_X509ATTR_IS_SINGLE(attr)){
 	length = i2d_ASN1_TYPE(attr->value.single, NULL);
-	str = rb_str_new(0, length);
-	p = (unsigned char *)RSTRING_PTR(str);
+	str = rb_bstr_new();
+	rb_bstr_resize(str, length);
+	p = (unsigned char *)rb_bstr_bytes(str);
 	i2d_ASN1_TYPE(attr->value.single, &p);
 	ossl_str_adjust(str, p);
     }
     else{
 	length = i2d_ASN1_SET_OF_ASN1_TYPE(attr->value.set, NULL,
 			i2d_ASN1_TYPE, V_ASN1_SET, V_ASN1_UNIVERSAL, 0);
-	str = rb_str_new(0, length);
-	p = (unsigned char *)RSTRING_PTR(str);
+	str = rb_bstr_new();
+	rb_bstr_resize(str, length);
+	p = (unsigned char *)rb_bstr_bytes(str);
 	i2d_ASN1_SET_OF_ASN1_TYPE(attr->value.set, &p,
 			i2d_ASN1_TYPE, V_ASN1_SET, V_ASN1_UNIVERSAL, 0);
 	ossl_str_adjust(str, p);

Modified: MacRuby/trunk/ext/openssl/ossl_x509cert.c
===================================================================
--- MacRuby/trunk/ext/openssl/ossl_x509cert.c	2010-09-11 08:51:52 UTC (rev 4509)
+++ MacRuby/trunk/ext/openssl/ossl_x509cert.c	2010-09-13 21:18:42 UTC (rev 4510)
@@ -191,8 +191,8 @@
     GetX509(self, x509);
     if ((len = i2d_X509(x509, NULL)) <= 0)
 	ossl_raise(eX509CertError, NULL);
-    str = rb_bstr_new_with_data(0, len);
-    rb_bstr_set_length(str, len);
+    str = rb_bstr_new();
+    rb_bstr_resize(str, len);
     p = (unsigned char *)rb_bstr_bytes(str);
     if (i2d_X509(x509, &p) <= 0)
 	ossl_raise(eX509CertError, NULL);

Modified: MacRuby/trunk/ext/openssl/ossl_x509req.c
===================================================================
--- MacRuby/trunk/ext/openssl/ossl_x509req.c	2010-09-11 08:51:52 UTC (rev 4509)
+++ MacRuby/trunk/ext/openssl/ossl_x509req.c	2010-09-13 21:18:42 UTC (rev 4510)
@@ -172,8 +172,9 @@
     GetX509Req(self, req);
     if ((len = i2d_X509_REQ(req, NULL)) <= 0)
 	ossl_raise(eX509CertError, NULL);
-    str = rb_str_new(0, len);
-    p = (unsigned char *)RSTRING_PTR(str);
+    str = rb_bstr_new();
+    rb_bstr_resize(str, len);
+    p = (unsigned char *)rb_bstr_bytes(str);
     if (i2d_X509_REQ(req, &p) <= 0)
 	ossl_raise(eX509ReqError, NULL);
     ossl_str_adjust(str, p);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100913/d910562c/attachment-0001.html>


More information about the macruby-changes mailing list