--- ext/openssl/ossl_config.c 2007-07-20 02:22:54.000000000 -0400 +++ ext/openssl/ossl_config.c 2009-10-28 15:35:50.688043000 -0400 @@ -422,5 +422,5 @@ { 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("#<"); --- ext/openssl/ossl_x509name.c 2007-07-15 09:24:51.000000000 -0400 +++ ext/openssl/ossl_x509name.c 2009-10-22 17:18:48.000000000 -0400 @@ -136,8 +136,8 @@ } else{ - unsigned char *p; + const unsigned char *p; VALUE str = ossl_to_der_if_possible(arg); StringValue(str); - p = RSTRING_PTR(str); + p = (const unsigned char *)RSTRING_PTR(str); if(!d2i_X509_NAME((X509_NAME**)&DATA_PTR(self), &p, RSTRING_LEN(str))){ ossl_raise(eX509NameError, NULL); @@ -165,5 +165,5 @@ GetX509Name(self, name); if (!X509_NAME_add_entry_by_txt(name, RSTRING_PTR(oid), NUM2INT(type), - RSTRING_PTR(value), RSTRING_LEN(value), -1, 0)) { + (unsigned char *)RSTRING_PTR(value), RSTRING_LEN(value), -1, 0)) { ossl_raise(eX509NameError, NULL); } @@ -246,5 +246,5 @@ short_name = OBJ_nid2sn(OBJ_ln2nid(long_name)); ary = rb_ary_new3(3, rb_str_new2(short_name), - rb_str_new(entry->value->data, entry->value->length), + rb_str_new((const char *)entry->value->data, entry->value->length), INT2FIX(entry->value->type)); rb_ary_push(ret, ary); @@ -320,5 +320,5 @@ ossl_raise(eX509NameError, NULL); str = rb_str_new(0, len); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); if(i2d_X509_NAME(name, &p) <= 0) ossl_raise(eX509NameError, NULL); --- ext/openssl/ossl_pkey_dsa.c 2008-05-29 13:45:47.000000000 -0400 +++ ext/openssl/ossl_pkey_dsa.c 2009-10-28 15:10:09.365560000 -0400 @@ -290,5 +290,5 @@ ossl_raise(eDSAError, NULL); str = rb_str_new(0, len); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); if(i2d_func(pkey->pkey.dsa, &p) < 0) ossl_raise(eDSAError, NULL); @@ -388,5 +388,5 @@ { EVP_PKEY *pkey; - int buf_len; + unsigned int buf_len; VALUE str; @@ -397,5 +397,6 @@ } str = rb_str_new(0, ossl_dsa_buf_size(pkey)); - if (!DSA_sign(0, RSTRING_PTR(data), RSTRING_LEN(data), RSTRING_PTR(str), + if (!DSA_sign(0, (unsigned char *)RSTRING_PTR(data), RSTRING_LEN(data), + (unsigned char *)RSTRING_PTR(str), &buf_len, pkey->pkey.dsa)) { /* type is ignored (0) */ ossl_raise(eDSAError, NULL); @@ -421,6 +422,8 @@ StringValue(sig); /* type is ignored (0) */ - ret = DSA_verify(0, RSTRING_PTR(digest), RSTRING_LEN(digest), - RSTRING_PTR(sig), RSTRING_LEN(sig), pkey->pkey.dsa); + ret = DSA_verify(0, + (unsigned char *)RSTRING_PTR(digest), RSTRING_LEN(digest), + (unsigned char *)RSTRING_PTR(sig), RSTRING_LEN(sig), + pkey->pkey.dsa); if (ret < 0) { ossl_raise(eDSAError, NULL); --- ext/openssl/ossl_pkey_rsa.c 2008-02-26 02:11:23.000000000 -0500 +++ ext/openssl/ossl_pkey_rsa.c 2009-10-28 15:14:06.041120000 -0400 @@ -289,5 +289,5 @@ ossl_raise(eRSAError, NULL); str = rb_str_new(0, len); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); if(i2d_func(pkey->pkey.rsa, &p) < 0) ossl_raise(eRSAError, NULL); @@ -316,7 +316,8 @@ StringValue(buffer); str = rb_str_new(0, ossl_rsa_buf_size(pkey)); - buf_len = RSA_public_encrypt(RSTRING_LEN(buffer), RSTRING_PTR(buffer), - RSTRING_PTR(str), pkey->pkey.rsa, - pad); + buf_len = RSA_public_encrypt(RSTRING_LEN(buffer), + (unsigned char *)RSTRING_PTR(buffer), + (unsigned char *)RSTRING_PTR(str), + pkey->pkey.rsa, pad); if (buf_len < 0) ossl_raise(eRSAError, NULL); rb_str_set_len(str, buf_len); @@ -342,7 +343,8 @@ StringValue(buffer); str = rb_str_new(0, ossl_rsa_buf_size(pkey)); - buf_len = RSA_public_decrypt(RSTRING_LEN(buffer), RSTRING_PTR(buffer), - RSTRING_PTR(str), pkey->pkey.rsa, - pad); + buf_len = RSA_public_decrypt(RSTRING_LEN(buffer), + (unsigned char *)RSTRING_PTR(buffer), + (unsigned char *)RSTRING_PTR(str), + pkey->pkey.rsa, pad); if (buf_len < 0) ossl_raise(eRSAError, NULL); rb_str_set_len(str, buf_len); @@ -371,7 +373,8 @@ StringValue(buffer); str = rb_str_new(0, ossl_rsa_buf_size(pkey)); - buf_len = RSA_private_encrypt(RSTRING_LEN(buffer), RSTRING_PTR(buffer), - RSTRING_PTR(str), pkey->pkey.rsa, - pad); + buf_len = RSA_private_encrypt(RSTRING_LEN(buffer), + (unsigned char *)RSTRING_PTR(buffer), + (unsigned char *)RSTRING_PTR(str), + pkey->pkey.rsa, pad); if (buf_len < 0) ossl_raise(eRSAError, NULL); rb_str_set_len(str, buf_len); @@ -401,7 +404,8 @@ StringValue(buffer); str = rb_str_new(0, ossl_rsa_buf_size(pkey)); - buf_len = RSA_private_decrypt(RSTRING_LEN(buffer), RSTRING_PTR(buffer), - RSTRING_PTR(str), pkey->pkey.rsa, - pad); + buf_len = RSA_private_decrypt(RSTRING_LEN(buffer), + (unsigned char *)RSTRING_PTR(buffer), + (unsigned char *)RSTRING_PTR(str), + pkey->pkey.rsa, pad); if (buf_len < 0) ossl_raise(eRSAError, NULL); rb_str_set_len(str, buf_len); --- ext/openssl/ossl_engine.c 2007-06-08 11:02:04.000000000 -0400 +++ ext/openssl/ossl_engine.c 2009-10-28 15:17:24.226563000 -0400 @@ -327,5 +327,5 @@ { VALUE str; - char *cname = rb_class2name(rb_obj_class(self)); + const char *cname = rb_class2name(rb_obj_class(self)); str = rb_str_new2("#<"); --- ext/openssl/openssl_missing.h 2008-08-04 00:44:17.000000000 -0400 +++ ext/openssl/openssl_missing.h 2009-10-28 15:40:22.110416000 -0400 @@ -26,5 +26,5 @@ #if !defined(PEM_read_bio_DSAPublicKey) # define PEM_read_bio_DSAPublicKey(bp,x,cb,u) (DSA *)PEM_ASN1_read_bio( \ - (char *(*)())d2i_DSAPublicKey,PEM_STRING_DSA_PUBLIC,bp,(char **)x,cb,u) + (void * (*)())d2i_DSAPublicKey,PEM_STRING_DSA_PUBLIC,bp,x,cb,u) #endif @@ -43,20 +43,20 @@ #if !defined(DSAPublicKey_dup) # define DSAPublicKey_dup(dsa) (DSA *)ASN1_dup((int (*)())i2d_DSAPublicKey, \ - (char *(*)())d2i_DSAPublicKey,(char *)dsa) + (void *(*)())d2i_DSAPublicKey,(char *)dsa) #endif #if !defined(X509_REVOKED_dup) # define X509_REVOKED_dup(rev) (X509_REVOKED *)ASN1_dup((int (*)())i2d_X509_REVOKED, \ - (char *(*)())d2i_X509_REVOKED, (char *)rev) + (void *(*)())d2i_X509_REVOKED, (char *)rev) #endif #if !defined(PKCS7_SIGNER_INFO_dup) # define PKCS7_SIGNER_INFO_dup(si) (PKCS7_SIGNER_INFO *)ASN1_dup((int (*)())i2d_PKCS7_SIGNER_INFO, \ - (char *(*)())d2i_PKCS7_SIGNER_INFO, (char *)si) + (void *(*)())d2i_PKCS7_SIGNER_INFO, (char *)si) #endif #if !defined(PKCS7_RECIP_INFO_dup) # define PKCS7_RECIP_INFO_dup(ri) (PKCS7_RECIP_INFO *)ASN1_dup((int (*)())i2d_PKCS7_RECIP_INFO, \ - (char *(*)())d2i_PKCS7_RECIP_INFO, (char *)ri) + (void *(*)())d2i_PKCS7_RECIP_INFO, (char *)ri) #endif --- ext/openssl/ossl_pkcs5.c 2008-05-19 05:30:25.000000000 -0400 +++ ext/openssl/ossl_pkcs5.c 2009-10-28 15:38:28.742604000 -0400 @@ -73,5 +73,8 @@ str = rb_str_new(0, len); - if (PKCS5_PBKDF2_HMAC_SHA1(RSTRING_PTR(pass), RSTRING_LEN(pass), RSTRING_PTR(salt), RSTRING_LEN(salt), NUM2INT(iter), len, RSTRING_PTR(str)) != 1) + if (PKCS5_PBKDF2_HMAC_SHA1(RSTRING_PTR(pass), RSTRING_LEN(pass), + (unsigned char *)RSTRING_PTR(salt), RSTRING_LEN(salt), + NUM2INT(iter), len, + (unsigned char *)RSTRING_PTR(str)) != 1) ossl_raise(ePKCS5, "PKCS5_PBKDF2_HMAC_SHA1"); --- ext/openssl/ossl_pkey_dh.c 2008-05-29 13:45:47.000000000 -0400 +++ ext/openssl/ossl_pkey_dh.c 2009-10-28 15:32:13.649500000 -0400 @@ -255,5 +255,5 @@ ossl_raise(eDHError, NULL); str = rb_str_new(0, len); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); if(i2d_DHparams(pkey->pkey.dh, &p) < 0) ossl_raise(eDHError, NULL); @@ -408,5 +408,5 @@ len = DH_size(dh); str = rb_str_new(0, len); - if ((len = DH_compute_key(RSTRING_PTR(str), pub_key, dh)) < 0) { + if ((len = DH_compute_key((unsigned char *)RSTRING_PTR(str), pub_key, dh)) < 0) { ossl_raise(eDHError, NULL); } --- ext/openssl/ossl_pkcs7.c 2007-06-08 11:02:04.000000000 -0400 +++ ext/openssl/ossl_pkcs7.c 2009-10-28 15:40:37.007223000 -0400 @@ -779,5 +779,5 @@ ossl_raise(ePKCS7Error, NULL); str = rb_str_new(0, len); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); if(i2d_PKCS7(pkcs7, &p) <= 0) ossl_raise(ePKCS7Error, NULL); --- ext/openssl/ossl_bn.c 2008-05-29 13:45:47.000000000 -0400 +++ ext/openssl/ossl_bn.c 2009-10-28 15:42:48.430512000 -0400 @@ -132,10 +132,10 @@ switch (base) { case 0: - if (!BN_mpi2bn(RSTRING_PTR(str), RSTRING_LEN(str), bn)) { + if (!BN_mpi2bn((unsigned char *)RSTRING_PTR(str), RSTRING_LEN(str), bn)) { ossl_raise(eBNError, NULL); } break; case 2: - if (!BN_bin2bn(RSTRING_PTR(str), RSTRING_LEN(str), bn)) { + if (!BN_bin2bn((unsigned char *)RSTRING_PTR(str), RSTRING_LEN(str), bn)) { ossl_raise(eBNError, NULL); } @@ -186,5 +186,5 @@ len = BN_bn2mpi(bn, NULL); str = rb_str_new(0, len); - if (BN_bn2mpi(bn, RSTRING_PTR(str)) != len) + if (BN_bn2mpi(bn, (unsigned char *)RSTRING_PTR(str)) != len) ossl_raise(eBNError, NULL); break; @@ -192,5 +192,5 @@ len = BN_num_bytes(bn); str = rb_str_new(0, len); - if (BN_bn2bin(bn, RSTRING_PTR(str)) != len) + if (BN_bn2bin(bn, (unsigned char *)RSTRING_PTR(str)) != len) ossl_raise(eBNError, NULL); break; --- ext/openssl/ossl_pkcs12.c 2007-06-08 11:02:04.000000000 -0400 +++ ext/openssl/ossl_pkcs12.c 2009-10-28 15:47:19.120495000 -0400 @@ -182,5 +182,5 @@ ossl_raise(ePKCS12Error, NULL); str = rb_str_new(0, len); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); if(i2d_PKCS12(p12, &p) <= 0) ossl_raise(ePKCS12Error, NULL); --- ext/openssl/ossl_cipher.c 2007-06-08 11:02:04.000000000 -0400 +++ ext/openssl/ossl_cipher.c 2009-10-28 15:55:45.249467000 -0400 @@ -187,5 +187,5 @@ * keeping this behaviour for backward compatibility. */ - char *cname = rb_class2name(rb_obj_class(self)); + const char *cname = rb_class2name(rb_obj_class(self)); rb_warn("argumtents for %s#encrypt and %s#decrypt were deprecated; " "use %s#pkcs5_keyivgen to derive key and IV", @@ -203,5 +203,6 @@ } EVP_BytesToKey(EVP_CIPHER_CTX_cipher(ctx), EVP_md5(), iv, - RSTRING_PTR(pass), RSTRING_LEN(pass), 1, key, NULL); + (unsigned char *)RSTRING_PTR(pass), RSTRING_LEN(pass), + 1, key, NULL); p_key = key; p_iv = iv; @@ -280,5 +281,5 @@ if(RSTRING_LEN(vsalt) != PKCS5_SALT_LEN) rb_raise(eCipherError, "salt must be an 8-octet string"); - salt = RSTRING_PTR(vsalt); + salt = (unsigned char *)RSTRING_PTR(vsalt); } iter = NIL_P(viter) ? 2048 : NUM2INT(viter); @@ -286,5 +287,6 @@ GetCipher(self, ctx); EVP_BytesToKey(EVP_CIPHER_CTX_cipher(ctx), digest, salt, - RSTRING_PTR(vpass), RSTRING_LEN(vpass), iter, key, iv); + (unsigned char *)RSTRING_PTR(vpass), RSTRING_LEN(vpass), + iter, key, iv); if (EVP_CipherInit_ex(ctx, NULL, NULL, key, iv, -1) != 1) ossl_raise(eCipherError, NULL); @@ -308,5 +310,5 @@ ossl_cipher_update_deprecated(VALUE self, VALUE data) { - char *cname; + const char *cname; cname = rb_class2name(rb_obj_class(self)); @@ -328,5 +330,5 @@ { EVP_CIPHER_CTX *ctx; - char *in; + unsigned char *in; int in_len, out_len; VALUE data, str; @@ -335,5 +337,5 @@ StringValue(data); - in = RSTRING_PTR(data); + in = (unsigned char *)RSTRING_PTR(data); if ((in_len = RSTRING_LEN(data)) == 0) rb_raise(rb_eArgError, "data must not be empty"); @@ -348,5 +350,6 @@ } - if (!EVP_CipherUpdate(ctx, RSTRING_PTR(str), &out_len, in, in_len)) + if (!EVP_CipherUpdate(ctx, (unsigned char *)RSTRING_PTR(str), &out_len, + in, in_len)) ossl_raise(eCipherError, NULL); assert(out_len < RSTRING_LEN(str)); @@ -373,5 +376,5 @@ GetCipher(self, ctx); str = rb_str_new(0, EVP_CIPHER_CTX_block_size(ctx)); - if (!EVP_CipherFinal_ex(ctx, RSTRING_PTR(str), &out_len)) + if (!EVP_CipherFinal_ex(ctx, (unsigned char *)RSTRING_PTR(str), &out_len)) ossl_raise(eCipherError, NULL); assert(out_len <= RSTRING_LEN(str)); @@ -416,5 +419,6 @@ ossl_raise(eCipherError, "key length too short"); - if (EVP_CipherInit_ex(ctx, NULL, NULL, RSTRING_PTR(key), NULL, -1) != 1) + if (EVP_CipherInit_ex(ctx, NULL, NULL, (unsigned char *)RSTRING_PTR(key), + NULL, -1) != 1) ossl_raise(eCipherError, NULL); @@ -441,5 +445,6 @@ ossl_raise(eCipherError, "iv length too short"); - if (EVP_CipherInit_ex(ctx, NULL, NULL, NULL, RSTRING_PTR(iv), -1) != 1) + if (EVP_CipherInit_ex(ctx, NULL, NULL, NULL, + (unsigned char *)RSTRING_PTR(iv), -1) != 1) ossl_raise(eCipherError, NULL); --- ext/openssl/ossl_asn1.c 2007-06-08 11:02:04.000000000 -0400 +++ ext/openssl/ossl_asn1.c 2009-10-28 16:17:54.309258000 -0400 @@ -10,4 +10,5 @@ */ #include "ossl.h" +#include #if defined(HAVE_SYS_TIME_H) @@ -24,5 +25,5 @@ */ VALUE -asn1time_to_time(ASN1_TIME *time) +asn1time_to_time(const ASN1_TIME *time) { struct tm tm; @@ -34,5 +35,5 @@ switch (time->type) { case V_ASN1_UTCTIME: - if (sscanf(time->data, "%2d%2d%2d%2d%2d%2dZ", &tm.tm_year, &tm.tm_mon, + if (sscanf((char *)time->data, "%2d%2d%2d%2d%2d%2dZ", &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &tm.tm_hour, &tm.tm_min, &tm.tm_sec) != 6) { ossl_raise(rb_eTypeError, "bad UTCTIME format"); @@ -45,5 +46,5 @@ break; case V_ASN1_GENERALIZEDTIME: - if (sscanf(time->data, "%4d%2d%2d%2d%2d%2dZ", &tm.tm_year, &tm.tm_mon, + if (sscanf((char *)time->data, "%4d%2d%2d%2d%2d%2dZ", &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &tm.tm_hour, &tm.tm_min, &tm.tm_sec) != 6) { ossl_raise(rb_eTypeError, "bad GENERALIZEDTIME format" ); @@ -79,7 +80,7 @@ */ VALUE -asn1str_to_str(ASN1_STRING *str) +asn1str_to_str(const ASN1_STRING *str) { - return rb_str_new(str->data, str->length); + return rb_str_new((const char *)str->data, str->length); } @@ -215,5 +216,5 @@ if(!(bstr = ASN1_BIT_STRING_new())) ossl_raise(eASN1Error, NULL); - ASN1_BIT_STRING_set(bstr, RSTRING_PTR(obj), RSTRING_LEN(obj)); + ASN1_BIT_STRING_set(bstr, (unsigned char *)RSTRING_PTR(obj), RSTRING_LEN(obj)); bstr->flags &= ~(ASN1_STRING_FLAG_BITS_LEFT|0x07); /* clear */ bstr->flags |= ASN1_STRING_FLAG_BITS_LEFT|(unused_bits&0x07); @@ -305,11 +306,9 @@ */ static VALUE -decode_bool(unsigned char* der, int length) +decode_bool(const unsigned char* der, int length) { int bool; - unsigned char *p; - p = der; - if((bool = d2i_ASN1_BOOLEAN(NULL, &p, length)) < 0) + if((bool = d2i_ASN1_BOOLEAN(NULL, &der, length)) < 0) ossl_raise(eASN1Error, NULL); @@ -318,13 +317,11 @@ static VALUE -decode_int(unsigned char* der, int length) +decode_int(const unsigned char* der, int length) { ASN1_INTEGER *ai; - unsigned char *p; VALUE ret; int status = 0; - p = der; - if(!(ai = d2i_ASN1_INTEGER(NULL, &p, length))) + if(!(ai = d2i_ASN1_INTEGER(NULL, &der, length))) ossl_raise(eASN1Error, NULL); ret = rb_protect((VALUE(*)_((VALUE)))asn1integer_to_num, @@ -337,13 +334,12 @@ 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; - unsigned char *p, *buf; + char *buf; long len; VALUE ret; - p = der; - if(!(bstr = d2i_ASN1_BIT_STRING(NULL, &p, length))) + if(!(bstr = d2i_ASN1_BIT_STRING(NULL, &der, length))) ossl_raise(eASN1Error, NULL); len = bstr->length; @@ -363,13 +359,11 @@ static VALUE -decode_enum(unsigned char* der, int length) +decode_enum(const unsigned char* der, int length) { ASN1_ENUMERATED *ai; - unsigned char *p; VALUE ret; int status = 0; - p = der; - if(!(ai = d2i_ASN1_ENUMERATED(NULL, &p, length))) + if(!(ai = d2i_ASN1_ENUMERATED(NULL, &der, length))) ossl_raise(eASN1Error, NULL); ret = rb_protect((VALUE(*)_((VALUE)))asn1integer_to_num, @@ -382,11 +376,9 @@ static VALUE -decode_null(unsigned char* der, int length) +decode_null(const unsigned char* der, int length) { ASN1_NULL *null; - unsigned char *p; - p = der; - if(!(null = d2i_ASN1_NULL(NULL, &p, length))) + if(!(null = d2i_ASN1_NULL(NULL, &der, length))) ossl_raise(eASN1Error, NULL); ASN1_NULL_free(null); @@ -396,14 +388,12 @@ static VALUE -decode_obj(unsigned char* der, int length) +decode_obj(const unsigned char* der, int length) { ASN1_OBJECT *obj; - unsigned char *p; VALUE ret; int nid; BIO *bio; - p = der; - if(!(obj = d2i_ASN1_OBJECT(NULL, &p, length))) + if(!(obj = d2i_ASN1_OBJECT(NULL, &der, length))) ossl_raise(eASN1Error, NULL); if((nid = OBJ_obj2nid(obj)) != NID_undef){ @@ -425,5 +415,5 @@ static VALUE -decode_time(unsigned char* der, int length) +decode_time(const unsigned char* der, int length) { ASN1_TIME *time; @@ -432,6 +422,5 @@ int status = 0; - p = der; - if(!(time = d2i_ASN1_TIME(NULL, &p, length))) + if(!(time = d2i_ASN1_TIME(NULL, &der, length))) ossl_raise(eASN1Error, NULL); ret = rb_protect((VALUE(*)_((VALUE)))asn1time_to_time, @@ -501,5 +490,5 @@ switch(tag){ case V_ASN1_BOOLEAN: - ptr = (void*)obj_to_asn1bool(value); + ptr = (void*)(intptr_t)obj_to_asn1bool(value); free_func = NULL; break; @@ -703,5 +692,5 @@ ossl_raise(eASN1Error, NULL); der = rb_str_new(0, length); - p = RSTRING_PTR(der); + p = (unsigned char *)RSTRING_PTR(der); ASN1_put_object(&p, is_cons, RSTRING_LEN(value), tag, tag_class); memcpy(p, RSTRING_PTR(value), RSTRING_LEN(value)); @@ -713,8 +702,8 @@ static VALUE -ossl_asn1_decode0(unsigned char **pp, long length, long *offset, long depth, +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; long len, off = *offset; int hlen, tag, tc, j; @@ -760,5 +749,5 @@ } else{ - value = rb_str_new(p, len); + value = rb_str_new((const char *)p, len); p += len; off += len; @@ -819,5 +808,5 @@ ossl_asn1_traverse(VALUE self, VALUE obj) { - unsigned char *p; + const unsigned char *p; long offset = 0; volatile VALUE tmp; @@ -825,5 +814,5 @@ obj = ossl_to_der_if_possible(obj); tmp = rb_str_new4(StringValue(obj)); - p = RSTRING_PTR(tmp); + p = (const unsigned char *)RSTRING_PTR(tmp); ossl_asn1_decode0(&p, RSTRING_LEN(tmp), &offset, 0, 0, 1); @@ -835,5 +824,5 @@ { VALUE ret, ary; - unsigned char *p; + const unsigned char *p; long offset = 0; volatile VALUE tmp; @@ -841,5 +830,5 @@ obj = ossl_to_der_if_possible(obj); tmp = rb_str_new4(StringValue(obj)); - p = RSTRING_PTR(tmp); + p = (const unsigned char *)RSTRING_PTR(tmp); ary = ossl_asn1_decode0(&p, RSTRING_LEN(tmp), &offset, 0, 1, 0); ret = rb_ary_entry(ary, 0); @@ -852,5 +841,5 @@ { VALUE ret; - unsigned char *p; + const unsigned char *p; long offset = 0; volatile VALUE tmp; @@ -858,5 +847,5 @@ obj = ossl_to_der_if_possible(obj); tmp = rb_str_new4(StringValue(obj)); - p = RSTRING_PTR(tmp); + p = (const unsigned char *)RSTRING_PTR(tmp); ret = ossl_asn1_decode0(&p, RSTRING_LEN(tmp), &offset, 0, 0, 0); @@ -955,5 +944,5 @@ reallen = p - buf; assert(reallen <= length); - str = ossl_buf2str(buf, reallen); /* buf will be free in ossl_buf2str */ + str = ossl_buf2str((char *)buf, reallen); /* buf will be free in ossl_buf2str */ return str; @@ -977,5 +966,5 @@ length = ASN1_object_size(1, seq_len, tn); str = rb_str_new(0, length); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); if(tc == V_ASN1_UNIVERSAL) ASN1_put_object(&p, 1, RSTRING_LEN(value), tn, tc); --- ext/openssl/ossl_asn1.h 2007-02-12 18:01:19.000000000 -0500 +++ ext/openssl/ossl_asn1.h 2009-10-28 16:03:56.531709000 -0400 @@ -15,5 +15,5 @@ * ASN1_DATE conversions */ -VALUE asn1time_to_time(ASN1_TIME *); +VALUE asn1time_to_time(const ASN1_TIME *); time_t time_to_time_t(VALUE); @@ -21,5 +21,5 @@ * ASN1_STRING conversions */ -VALUE asn1str_to_str(ASN1_STRING *); +VALUE asn1str_to_str(const ASN1_STRING *); /* --- ext/openssl/ossl_ssl.c 2008-06-06 04:05:24.000000000 -0400 +++ ext/openssl/ossl_ssl.c 2009-10-28 16:25:56.740972000 -0400 @@ -326,5 +326,5 @@ ary = rb_ary_new2(2); rb_ary_push(ary, ssl_obj); - rb_ary_push(ary, rb_str_new(buf, len)); + rb_ary_push(ary, rb_str_new((char *)buf, len)); ret_obj = rb_protect((VALUE(*)_((VALUE)))ossl_call_session_get_cb, ary, &state); @@ -564,5 +564,5 @@ if (!NIL_P(val)){ StringValue(val); - if (!SSL_CTX_set_session_id_context(ctx, RSTRING_PTR(val), + if (!SSL_CTX_set_session_id_context(ctx, (const unsigned char *)RSTRING_PTR(val), RSTRING_LEN(val))){ ossl_raise(eSSLError, "SSL_CTX_set_session_id_context:"); --- ext/openssl/ossl_hmac.c 2008-05-18 23:00:52.000000000 -0400 +++ ext/openssl/ossl_hmac.c 2009-10-28 16:35:59.801314000 -0400 @@ -104,5 +104,5 @@ StringValue(data); GetHMAC(self, ctx); - HMAC_Update(ctx, RSTRING_PTR(data), RSTRING_LEN(data)); + HMAC_Update(ctx, (unsigned char *)RSTRING_PTR(data), RSTRING_LEN(data)); return self; @@ -110,5 +110,5 @@ static void -hmac_final(HMAC_CTX *ctx, char **buf, int *buf_len) +hmac_final(HMAC_CTX *ctx, unsigned char **buf, unsigned int *buf_len) { HMAC_CTX final; @@ -133,11 +133,11 @@ { HMAC_CTX *ctx; - char *buf; - int buf_len; + unsigned char *buf; + unsigned int buf_len; VALUE digest; GetHMAC(self, ctx); hmac_final(ctx, &buf, &buf_len); - digest = ossl_buf2str(buf, buf_len); + digest = ossl_buf2str((char *)buf, buf_len); return digest; @@ -153,6 +153,7 @@ { HMAC_CTX *ctx; - char *buf, *hexbuf; - int buf_len; + unsigned char *buf; + char *hexbuf; + unsigned int buf_len; VALUE hexdigest; @@ -193,13 +194,14 @@ ossl_hmac_s_digest(VALUE klass, VALUE digest, VALUE key, VALUE data) { - char *buf; - int buf_len; + unsigned char *buf; + unsigned int buf_len; StringValue(key); StringValue(data); buf = HMAC(GetDigestPtr(digest), RSTRING_PTR(key), RSTRING_LEN(key), - RSTRING_PTR(data), RSTRING_LEN(data), NULL, &buf_len); + (unsigned char *)RSTRING_PTR(data), RSTRING_LEN(data), NULL, + &buf_len); - return rb_str_new(buf, buf_len); + return rb_str_new((char *)buf, buf_len); } @@ -212,6 +214,7 @@ ossl_hmac_s_hexdigest(VALUE klass, VALUE digest, VALUE key, VALUE data) { - char *buf, *hexbuf; - int buf_len; + unsigned char *buf; + char *hexbuf; + unsigned int buf_len; VALUE hexdigest; @@ -220,5 +223,6 @@ buf = HMAC(GetDigestPtr(digest), RSTRING_PTR(key), RSTRING_LEN(key), - RSTRING_PTR(data), RSTRING_LEN(data), NULL, &buf_len); + (unsigned char *)RSTRING_PTR(data), RSTRING_LEN(data), + NULL, &buf_len); if (string2hex(buf, buf_len, &hexbuf, NULL) != 2 * buf_len) { ossl_raise(eHMACError, "Cannot convert buf to hexbuf"); --- ext/openssl/ossl_ns_spki.c 2007-06-08 11:02:04.000000000 -0400 +++ ext/openssl/ossl_ns_spki.c 2009-10-28 16:51:14.851960000 -0400 @@ -57,5 +57,5 @@ NETSCAPE_SPKI *spki; VALUE buffer; - unsigned char *p; + const unsigned char *p; if (rb_scan_args(argc, argv, "01", &buffer) == 0) { @@ -64,5 +64,5 @@ StringValue(buffer); if (!(spki = NETSCAPE_SPKI_b64_decode(RSTRING_PTR(buffer), -1))) { - p = RSTRING_PTR(buffer); + p = (const unsigned char *)RSTRING_PTR(buffer); if (!(spki = d2i_NETSCAPE_SPKI(NULL, &p, RSTRING_LEN(buffer)))) { ossl_raise(eSPKIError, NULL); @@ -88,5 +88,5 @@ ossl_raise(eX509CertError, NULL); str = rb_str_new(0, len); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); if (i2d_NETSCAPE_SPKI(spki, &p) <= 0) ossl_raise(eX509CertError, NULL); @@ -173,5 +173,5 @@ } - return rb_str_new(spki->spkac->challenge->data, + return rb_str_new((char *)spki->spkac->challenge->data, spki->spkac->challenge->length); } --- ext/openssl/ossl.c 2007-06-08 11:02:04.000000000 -0400 +++ ext/openssl/ossl.c 2009-10-28 16:33:38.987711000 -0400 @@ -16,5 +16,5 @@ */ int -string2hex(char *buf, int buf_len, char **hexbuf, int *hexbuf_len) +string2hex(const unsigned char *buf, int buf_len, char **hexbuf, int *hexbuf_len) { static const char hex[]="0123456789abcdef"; --- ext/openssl/ossl.h 2008-06-29 04:16:02.000000000 -0400 +++ ext/openssl/ossl.h 2009-10-28 16:33:22.832492000 -0400 @@ -111,5 +111,5 @@ * String to HEXString conversion */ -int string2hex(char *, int, char **, int *); +int string2hex(const unsigned char *, int, char **, int *); /* --- ext/openssl/ossl_x509ext.c 2007-06-08 11:02:04.000000000 -0400 +++ ext/openssl/ossl_x509ext.c 2009-10-28 16:37:33.480853000 -0400 @@ -274,5 +274,5 @@ { VALUE oid, value, critical; - unsigned char *p; + const unsigned char *p; X509_EXTENSION *ext; @@ -281,5 +281,5 @@ oid = ossl_to_der_if_possible(oid); StringValue(oid); - p = RSTRING_PTR(oid); + p = (const unsigned char *)RSTRING_PTR(oid); if(!d2i_X509_EXTENSION((X509_EXTENSION**)&DATA_PTR(self), &p, RSTRING_LEN(oid))) @@ -410,5 +410,5 @@ ossl_raise(eX509ExtError, NULL); str = rb_str_new(0, len); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); if(i2d_X509_EXTENSION(ext, &p) < 0) ossl_raise(eX509ExtError, NULL); --- ext/openssl/ossl_x509req.c 2007-06-08 11:02:04.000000000 -0400 +++ ext/openssl/ossl_x509req.c 2009-10-28 16:38:14.039696000 -0400 @@ -172,5 +172,5 @@ ossl_raise(eX509CertError, NULL); str = rb_str_new(0, len); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); if (i2d_X509_REQ(req, &p) <= 0) ossl_raise(eX509ReqError, NULL); --- ext/openssl/ossl_ocsp.c 2009-03-09 07:59:27.000000000 -0400 +++ ext/openssl/ossl_ocsp.c 2009-10-28 16:43:22.015316000 -0400 @@ -104,5 +104,5 @@ { VALUE arg; - unsigned char *p; + const unsigned char *p; rb_scan_args(argc, argv, "01", &arg); @@ -110,5 +110,5 @@ arg = ossl_to_der_if_possible(arg); StringValue(arg); - p = (unsigned char*)RSTRING_PTR(arg); + p = (const unsigned char*)RSTRING_PTR(arg); if(!d2i_OCSP_REQUEST((OCSP_REQUEST**)&DATA_PTR(self), &p, RSTRING_LEN(arg))){ @@ -135,5 +135,6 @@ StringValue(val); GetOCSPReq(self, req); - ret = OCSP_request_add1_nonce(req, RSTRING_PTR(val), RSTRING_LEN(val)); + ret = OCSP_request_add1_nonce(req, (unsigned char *)RSTRING_PTR(val), + RSTRING_LEN(val)); } if(!ret) ossl_raise(eOCSPError, NULL); @@ -266,5 +267,5 @@ ossl_raise(eOCSPError, NULL); str = rb_str_new(0, len); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); if(i2d_OCSP_REQUEST(req, &p) <= 0) ossl_raise(eOCSPError, NULL); @@ -311,5 +312,5 @@ { VALUE arg; - unsigned char *p; + const unsigned char *p; rb_scan_args(argc, argv, "01", &arg); @@ -317,5 +318,5 @@ arg = ossl_to_der_if_possible(arg); StringValue(arg); - p = RSTRING_PTR(arg); + p = (const unsigned char *)RSTRING_PTR(arg); if(!d2i_OCSP_RESPONSE((OCSP_RESPONSE**)&DATA_PTR(self), &p, RSTRING_LEN(arg))){ @@ -378,5 +379,5 @@ ossl_raise(eOCSPError, NULL); str = rb_str_new(0, len); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); if(i2d_OCSP_RESPONSE(res, NULL) <= 0) ossl_raise(eOCSPError, NULL); @@ -437,5 +438,6 @@ StringValue(val); GetOCSPBasicRes(self, bs); - ret = OCSP_basic_add1_nonce(bs, RSTRING_PTR(val), RSTRING_LEN(val)); + ret = OCSP_basic_add1_nonce(bs, (unsigned char *)RSTRING_PTR(val), + RSTRING_LEN(val)); } if(!ret) ossl_raise(eOCSPError, NULL); --- ext/openssl/ossl_pkey.c 2007-06-08 11:02:04.000000000 -0400 +++ ext/openssl/ossl_pkey.c 2009-10-28 16:46:05.822088000 -0400 @@ -165,5 +165,5 @@ EVP_PKEY *pkey; EVP_MD_CTX ctx; - int buf_len; + unsigned int buf_len; VALUE str; @@ -176,5 +176,5 @@ EVP_SignUpdate(&ctx, RSTRING_PTR(data), RSTRING_LEN(data)); str = rb_str_new(0, EVP_PKEY_size(pkey)+16); - if (!EVP_SignFinal(&ctx, RSTRING_PTR(str), &buf_len, pkey)) + if (!EVP_SignFinal(&ctx, (unsigned char *)RSTRING_PTR(str), &buf_len, pkey)) ossl_raise(ePKeyError, NULL); assert(buf_len <= RSTRING_LEN(str)); @@ -195,5 +195,6 @@ StringValue(data); EVP_VerifyUpdate(&ctx, RSTRING_PTR(data), RSTRING_LEN(data)); - switch (EVP_VerifyFinal(&ctx, RSTRING_PTR(sig), RSTRING_LEN(sig), pkey)) { + switch (EVP_VerifyFinal(&ctx, (unsigned char *)RSTRING_PTR(sig), + RSTRING_LEN(sig), pkey)) { case 0: return Qfalse; --- ext/openssl/ossl_rand.c 2008-05-29 14:15:50.000000000 -0400 +++ ext/openssl/ossl_rand.c 2009-10-28 16:47:12.526848000 -0400 @@ -100,5 +100,5 @@ str = rb_str_new(0, n); - if (!RAND_bytes(RSTRING_PTR(str), n)) { + if (!RAND_bytes((unsigned char *)RSTRING_PTR(str), n)) { ossl_raise(eRandomError, NULL); } @@ -119,5 +119,5 @@ str = rb_str_new(0, n); - if (!RAND_pseudo_bytes(RSTRING_PTR(str), n)) { + if (!RAND_pseudo_bytes((unsigned char *)RSTRING_PTR(str), n)) { ossl_raise(eRandomError, NULL); } --- ext/openssl/ossl_x509attr.c 2007-06-08 11:02:04.000000000 -0400 +++ ext/openssl/ossl_x509attr.c 2009-10-28 16:48:46.928306000 -0400 @@ -94,5 +94,5 @@ VALUE oid, value; X509_ATTRIBUTE *attr; - unsigned char *p; + const unsigned char *p; GetX509Attr(self, attr); @@ -100,5 +100,5 @@ oid = ossl_to_der_if_possible(oid); StringValue(oid); - p = RSTRING_PTR(oid); + p = (const unsigned char *)RSTRING_PTR(oid); if(!d2i_X509_ATTRIBUTE((X509_ATTRIBUTE**)&DATA_PTR(self), &p, RSTRING_LEN(oid))){ @@ -213,5 +213,5 @@ length = i2d_ASN1_TYPE(attr->value.single, NULL); str = rb_str_new(0, length); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); i2d_ASN1_TYPE(attr->value.single, &p); ossl_str_adjust(str, p); @@ -221,5 +221,5 @@ i2d_ASN1_TYPE, V_ASN1_SET, V_ASN1_UNIVERSAL, 0); str = rb_str_new(0, length); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); i2d_ASN1_SET_OF_ASN1_TYPE(attr->value.set, &p, i2d_ASN1_TYPE, V_ASN1_SET, V_ASN1_UNIVERSAL, 0); @@ -247,5 +247,5 @@ ossl_raise(eX509AttrError, NULL); str = rb_str_new(0, len); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); if(i2d_X509_ATTRIBUTE(attr, &p) <= 0) ossl_raise(eX509AttrError, NULL); --- ext/openssl/ossl_x509cert.c 2007-06-08 11:02:04.000000000 -0400 +++ ext/openssl/ossl_x509cert.c 2009-10-28 16:49:32.574297000 -0400 @@ -191,5 +191,5 @@ ossl_raise(eX509CertError, NULL); str = rb_str_new(0, len); - p = RSTRING_PTR(str); + p = (unsigned char *)RSTRING_PTR(str); if (i2d_X509(x509, &p) <= 0) ossl_raise(eX509CertError, NULL); @@ -691,5 +691,5 @@ { VALUE str; - char *cname = rb_class2name(rb_obj_class(self)); + const char *cname = rb_class2name(rb_obj_class(self)); str = rb_str_new2("#<"); --- ext/openssl/ossl_digest.c 2009-10-22 15:36:29.000000000 -0400 +++ ext/openssl/ossl_digest.c 2009-10-28 16:50:13.935017000 -0400 @@ -183,5 +183,5 @@ } - EVP_DigestFinal_ex(ctx, RSTRING_PTR(str), NULL); + EVP_DigestFinal_ex(ctx, (unsigned char *)RSTRING_PTR(str), NULL); return str;