From 01161239ae75f7b87385fcb062199b18badd82ca Mon Sep 17 00:00:00 2001 From: Michal Rokos Date: Wed, 12 Jun 2002 17:56:23 +0000 Subject: change all rb_raise and OSSL_Raise to ossl_raise fix: Cipher#final cannot be called without preceding Cipher#(en|de)crypt Config ported to OpenSSL 0.9.7 interface --- ChangeLog | 12 ++++++++ ToDo | 4 +-- ossl.c | 11 +++---- ossl.h | 1 - ossl_bn.c | 86 +++++++++++++++++++++++++++--------------------------- ossl_cipher.c | 34 +++++++++++---------- ossl_config.c | 58 +++++++++++++++++++++++------------- ossl_digest.c | 21 +++++-------- ossl_hmac.c | 8 ++--- ossl_ns_spki.c | 24 +++++++-------- ossl_pkcs7.c | 72 ++++++++++++++++++++++----------------------- ossl_pkey.c | 28 +++++++++--------- ossl_pkey_dh.c | 26 ++++++++--------- ossl_pkey_dsa.c | 36 +++++++++++------------ ossl_pkey_rsa.c | 60 ++++++++++++++++++------------------- ossl_rand.c | 12 ++++---- ossl_ssl.c | 30 +++++++++---------- ossl_x509attr.c | 18 ++++++------ ossl_x509cert.c | 70 ++++++++++++++++++++++---------------------- ossl_x509crl.c | 42 +++++++++++++------------- ossl_x509ext.c | 22 +++++++------- ossl_x509name.c | 18 ++++++------ ossl_x509req.c | 44 ++++++++++++++-------------- ossl_x509revoked.c | 18 ++++++------ ossl_x509store.c | 18 ++++++------ 25 files changed, 400 insertions(+), 373 deletions(-) diff --git a/ChangeLog b/ChangeLog index 50f6a6d..a502deb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,18 @@ ChangeLog for ### CHANGE LOG ### +Wed, 12 Jun 2002 19:52:20 +0200 -- Michal Rokos + * config.c: ported to OpenSSL 0.9.7 interface + +Wed, 12 Jun 2002 19:05:21 +0200 -- Michal Rokos + ALL FILES: change all rb_raise and OSSL_Raise to ossl_raise + * ossl.h: drop define OSSL_Raise + * cipher.c: disable to call Cipher#final without preceding Cipher#(en|de)crypt + +Wed, 12 Jun 2002 18:20:57 +0200 -- Michal Rokos + * ossl.h: really fixed OSSL_Debug macro + * ossl.c: implement part of OSSL_Debug for Windows + Wed, 12 Jun 2002 14:12:36 +0200 -- Michal Rokos * tc_cipher.rb: NEW (TestCase for Cipher) * tc_digest.rb: NEW (TestCase for Digest) diff --git a/ToDo b/ToDo index c9d525e..810806d 100644 --- a/ToDo +++ b/ToDo @@ -28,8 +28,8 @@ OpenSSL:: Cipher:: [DONE] Use Factory (Cipher.new("DES_EDE3_CBC"))? - Conf:: - * Port it to new (0.9.7) interface (Already done??) + Config:: + [DONE] Port it to new (0.9.7) interface Digest:: [DONE] Use Factory (Digest.new("SHA1"))? [Used exactly like this: OpenSSL::Digest::Digest.new("SHA1")] diff --git a/ossl.c b/ossl.c index 5ef1d84..6587e79 100644 --- a/ossl.c +++ b/ossl.c @@ -33,7 +33,7 @@ void ossl_check_kind(VALUE obj, VALUE klass) { if (rb_obj_is_kind_of(obj, klass) != Qtrue) { - rb_raise(rb_eTypeError, "wrong argument (%s)! (Expected kind of %s)", \ + ossl_raise(rb_eTypeError, "wrong argument (%s)! (Expected kind of %s)", \ rb_class2name(CLASS_OF(obj)), rb_class2name(klass)); } } @@ -42,7 +42,7 @@ void ossl_check_instance(VALUE obj, VALUE klass) { if (rb_obj_is_instance_of(obj, klass) != Qtrue) { - rb_raise(rb_eTypeError, "wrong argument (%s)! (Expected instance of %s)",\ + ossl_raise(rb_eTypeError, "wrong argument (%s)! (Expected instance of %s)",\ rb_class2name(CLASS_OF(obj)), rb_class2name(klass)); } } @@ -58,16 +58,16 @@ asn1time_to_time(ASN1_UTCTIME *time) switch(time->type) { case V_ASN1_UTCTIME: if (!strptime(time->data, "%y%m%d%H%M%SZ", &tm)) { - rb_raise(rb_eTypeError, "bad UTCTIME format"); + ossl_raise(rb_eTypeError, "bad UTCTIME format"); } break; case V_ASN1_GENERALIZEDTIME: if (!strptime(time->data, "%Y%m%d%H%M%SZ", &tm)) { - rb_raise(rb_eTypeError, "bad GENERALIZEDTIME format" ); + ossl_raise(rb_eTypeError, "bad GENERALIZEDTIME format" ); } break; default: - rb_raise(rb_eTypeError, "unknown time format"); + ossl_raise(rb_eTypeError, "unknown time format"); } /* * QUESTION: @@ -172,6 +172,7 @@ void ossl_debug(const char *fmt, ...) va_start(args, fmt); vfprintf(stderr, fmt, args); va_end(args); + fprintf(stderr, " [CONTEXT N/A]\n"); } } #endif diff --git a/ossl.h b/ossl.h index f4f9fbf..ce4f366 100644 --- a/ossl.h +++ b/ossl.h @@ -93,7 +93,6 @@ int string2hex(char *, int, char **, int *); ERR_reason_error_string(ERR_get_error()) void ossl_raise(VALUE, const char *, ...); -#define OSSL_Raise ossl_raise /* * Debug diff --git a/ossl_bn.c b/ossl_bn.c index cd5d4c6..b53b31b 100644 --- a/ossl_bn.c +++ b/ossl_bn.c @@ -13,14 +13,14 @@ #define WrapBN(klass, obj, bn) do { \ if (!bn) { \ - rb_raise(rb_eRuntimeError, "BN wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "BN wasn't initialized!"); \ } \ obj = Data_Wrap_Struct(klass, 0, BN_clear_free, bn); \ } while (0) #define GetBN(obj, bn) do { \ Data_Get_Struct(obj, BIGNUM, bn); \ if (!bn) { \ - rb_raise(rb_eRuntimeError, "BN wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "BN wasn't initialized!"); \ } \ } while (0) #define SafeGetBN(obj, bn) do { \ @@ -50,7 +50,7 @@ ossl_bn_new(BIGNUM *bn) new = BN_dup(bn); } if (!new) { - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } WrapBN(cBN, obj, new); @@ -74,7 +74,7 @@ ossl_bn_s_allocate(VALUE klass) VALUE obj; if (!(bn = BN_new())) { - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } WrapBN(klass, obj, bn); @@ -98,7 +98,7 @@ ossl_bn_initialize(int argc, VALUE *argv, VALUE self) GetBN(str, other); /* Safe - we checked kind_of? above */ if (!BN_copy(bn, other)) { - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } } else { StringValue(str); @@ -106,26 +106,26 @@ ossl_bn_initialize(int argc, VALUE *argv, VALUE self) switch (base) { case 0: if (!BN_mpi2bn(RSTRING(str)->ptr, RSTRING(str)->len, bn)) { - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } break; case 2: if (!BN_bin2bn(RSTRING(str)->ptr, RSTRING(str)->len, bn)) { - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } break; case 10: if (!BN_dec2bn(&bn, StringValuePtr(str))) { - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } break; case 16: if (!BN_hex2bn(&bn, StringValuePtr(str))) { - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } break; default: - rb_raise(rb_eArgError, "illegal radix %d", base); + ossl_raise(rb_eArgError, "illegal radix %d", base); } } return self; @@ -148,37 +148,37 @@ ossl_bn_to_s(int argc, VALUE *argv, VALUE self) case 0: len = BN_bn2mpi(bn, NULL); if (!(buf = OPENSSL_malloc(len))) { - OSSL_Raise(eBNError, "Cannot allocate mem for BN"); + ossl_raise(eBNError, "Cannot allocate mem for BN"); } if (BN_bn2mpi(bn, buf) != len) { OPENSSL_free(buf); - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } break; case 2: len = BN_num_bytes(bn); if (!(buf = OPENSSL_malloc(len))) { - OSSL_Raise(eBNError, "Cannot allocate mem for BN"); + ossl_raise(eBNError, "Cannot allocate mem for BN"); } if (BN_bn2bin(bn, buf) != len) { OPENSSL_free(buf); - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } break; case 10: if (!(buf = BN_bn2dec(bn))) { - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } len = strlen(buf); break; case 16: if (!(buf = BN_bn2hex(bn))) { - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } len = strlen(buf); break; default: - rb_raise(rb_eArgError, "illegal radix %d", base); + ossl_raise(rb_eArgError, "illegal radix %d", base); } str = rb_str_new(buf, len); OPENSSL_free(buf); @@ -213,11 +213,11 @@ BIGNUM_BOOL1(is_odd); GetBN(self, bn); \ \ if (!(result = BN_new())) { \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ if (!BN_##func(result, bn, ossl_bn_ctx)) { \ BN_free(result); \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ WrapBN(CLASS_OF(self), obj, result); \ \ @@ -236,11 +236,11 @@ BIGNUM_1c(sqr); SafeGetBN(other, bn2); \ \ if (!(result = BN_new())) { \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ if (!BN_##func(result, bn1, bn2)) { \ BN_free(result); \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ WrapBN(CLASS_OF(self), obj, result); \ \ @@ -260,11 +260,11 @@ BIGNUM_2(sub); SafeGetBN(other, bn2); \ \ if (!(result = BN_new())) { \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ if (!BN_##func(result, bn1, bn2, ossl_bn_ctx)) { \ BN_free(result); \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ WrapBN(CLASS_OF(self), obj, result); \ \ @@ -287,16 +287,16 @@ ossl_bn_div(VALUE self, VALUE other) SafeGetBN(other, bn2); if (!(r1 = BN_new())) { - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } if (!(r2 = BN_new())) { BN_free(r1); - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } if (!BN_div(r1, r2, bn1, bn2, ossl_bn_ctx)) { BN_free(r1); BN_free(r2); - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } WrapBN(CLASS_OF(self), obj1, r1); WrapBN(CLASS_OF(self), obj2, r2); @@ -316,11 +316,11 @@ ossl_bn_div(VALUE self, VALUE other) SafeGetBN(other2, bn3); \ \ if (!(result = BN_new())) { \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ if (!BN_##func(result, bn1, bn2, bn3, ossl_bn_ctx)) { \ BN_free(result); \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ WrapBN(CLASS_OF(self), obj, result); \ \ @@ -340,7 +340,7 @@ BIGNUM_3c(mod_exp); GetBN(self, bn); \ \ if (!BN_##func(bn, NUM2INT(bit))) { \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ return self; \ } @@ -371,11 +371,11 @@ ossl_bn_is_bit_set(VALUE self, VALUE bit) GetBN(self, bn); \ \ if (!(result = BN_new())) { \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ if (!BN_##func(result, bn, NUM2INT(bits))) { \ BN_free(result); \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ WrapBN(CLASS_OF(self), obj, result); \ \ @@ -400,11 +400,11 @@ BIGNUM_SHIFT(rshift); top = FIX2INT(fill); \ } \ if (!(result = BN_new())) { \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ if (!BN_##func(result, NUM2INT(bits), top, bottom)) { \ BN_free(result); \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ WrapBN(klass, obj, result); \ \ @@ -423,11 +423,11 @@ BIGNUM_RAND(pseudo_rand); SafeGetBN(range, bn); \ \ if (!(result = BN_new())) { \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ if (!BN_##func##_range(result, bn)) { \ BN_free(result); \ - OSSL_Raise(eBNError, ""); \ + ossl_raise(eBNError, ""); \ } \ WrapBN(klass, obj, result); \ \ @@ -450,17 +450,17 @@ ossl_bn_s_generate_prime(int argc, VALUE *argv, VALUE klass) } if (!NIL_P(vadd)) { if (NIL_P(vrem)) { - rb_raise(rb_eArgError, "if ADD is specified, REM must be also given"); + ossl_raise(rb_eArgError, "if ADD is specified, REM must be also given"); } SafeGetBN(vadd, add); SafeGetBN(vrem, rem); } if (!(result = BN_new())) { - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } if (!BN_generate_prime(result, NUM2INT(vnum), safe, add, rem, NULL, NULL)) { BN_free(result); - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } WrapBN(klass, obj, result); @@ -489,7 +489,7 @@ ossl_bn_dup(VALUE self) GetBN(self, bn); if (!(new = BN_dup(bn))) { - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } WrapBN(CLASS_OF(self), obj, new); @@ -505,7 +505,7 @@ ossl_bn_copy(VALUE self, VALUE other) SafeGetBN(other, bn2); if (!BN_copy(bn1, bn2)) { - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } return self; } @@ -551,7 +551,7 @@ ossl_bn_is_prime(int argc, VALUE *argv, VALUE self) case 0: return Qfalse; default: - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } /* not reachable */ return Qnil; @@ -581,7 +581,7 @@ ossl_bn_is_prime_fasttest(int argc, VALUE *argv, VALUE self) case 0: return Qfalse; default: - OSSL_Raise(eBNError, ""); + ossl_raise(eBNError, ""); } /* not reachable */ return Qnil; @@ -595,7 +595,7 @@ void Init_ossl_bn() { if (!(ossl_bn_ctx = BN_CTX_new())) { - OSSL_Raise(rb_eRuntimeError, "Cannot init BN_CTX"); + ossl_raise(rb_eRuntimeError, "Cannot init BN_CTX"); } eBNError = rb_define_class_under(mOSSL, "BNError", eOSSLError); diff --git a/ossl_cipher.c b/ossl_cipher.c index 0687cff..e21153f 100644 --- a/ossl_cipher.c +++ b/ossl_cipher.c @@ -14,14 +14,14 @@ #define GetCipher(obj, ciphp) do { \ Data_Get_Struct(obj, ossl_cipher, ciphp); \ if (!ciphp) { \ - rb_raise(rb_eRuntimeError, "Cipher not inititalized!"); \ + ossl_raise(rb_eRuntimeError, "Cipher not inititalized!"); \ } \ } while (0) #define SafeGetCipher(obj, ciphp) do { \ OSSL_Check_Kind(obj, cCipher); \ GetCipher(obj, ciphp); \ if (!ciphp->cipher) { \ - rb_raise(rb_eRuntimeError, "Cipher not inititalized!"); \ + ossl_raise(rb_eRuntimeError, "Cipher not inititalized!"); \ } \ } while (0) @@ -92,7 +92,7 @@ ossl_cipher_initialize(VALUE self, VALUE str) c_name = StringValuePtr(str); if (!(ciphp->cipher = EVP_get_cipherbyname(c_name))) { - rb_raise(rb_eRuntimeError, "Unsupported cipher algorithm (%s).", c_name); + ossl_raise(rb_eRuntimeError, "Unsupported cipher algorithm (%s).", c_name); } return self; } @@ -119,7 +119,7 @@ ossl_cipher_encrypt(int argc, VALUE *argv, VALUE self) /* RAND_add(data,i,0); where from take data? if (RAND_pseudo_bytes(iv, 8) < 0) { - OSSL_Raise(eCipherError, ""); + ossl_raise(eCipherError, ""); } */ } else { @@ -127,15 +127,16 @@ ossl_cipher_encrypt(int argc, VALUE *argv, VALUE self) if (EVP_MAX_IV_LENGTH > RSTRING(init_v)->len) { memset(iv, 0, EVP_MAX_IV_LENGTH); memcpy(iv, RSTRING(init_v)->ptr, RSTRING(init_v)->len); - } else + } else { memcpy(iv, RSTRING(init_v)->ptr, sizeof(iv)); + } } EVP_CIPHER_CTX_init(&ciphp->ctx); EVP_BytesToKey(ciphp->cipher, EVP_md5(), iv, RSTRING(pass)->ptr, RSTRING(pass)->len, 1, key, NULL); if (!EVP_EncryptInit(&ciphp->ctx, ciphp->cipher, key, iv)) { - OSSL_Raise(eCipherError, ""); + ossl_raise(eCipherError, ""); } ciphp->init = Qtrue; @@ -166,8 +167,9 @@ ossl_cipher_decrypt(int argc, VALUE *argv, VALUE self) if (EVP_MAX_IV_LENGTH > RSTRING(init_v)->len) { memset(iv, 0, EVP_MAX_IV_LENGTH); memcpy(iv, RSTRING(init_v)->ptr, RSTRING(init_v)->len); - } else + } else { memcpy(iv, RSTRING(init_v)->ptr, EVP_MAX_IV_LENGTH); + } } EVP_CIPHER_CTX_init(&ciphp->ctx); @@ -176,7 +178,7 @@ ossl_cipher_decrypt(int argc, VALUE *argv, VALUE self) EVP_BytesToKey(ciphp->cipher, EVP_md5(), iv, RSTRING(pass)->ptr, RSTRING(pass)->len, 1, key, NULL); if (!EVP_DecryptInit(&ciphp->ctx, ciphp->cipher, key, iv)) { - OSSL_Raise(eCipherError, ""); + ossl_raise(eCipherError, ""); } ciphp->init = Qtrue; @@ -194,19 +196,18 @@ ossl_cipher_update(VALUE self, VALUE data) GetCipher(self, ciphp); if (ciphp->init != Qtrue) { - rb_raise(eCipherError, "Don't call 'update' without preceding 'en/decrypt'."); + ossl_raise(eCipherError, "Don't call Cipher#update without preceding Cipher#(en|de)crypt."); } - StringValue(data); in = RSTRING(data)->ptr; in_len = RSTRING(data)->len; if (!(out = OPENSSL_malloc(in_len + EVP_CIPHER_CTX_block_size(&ciphp->ctx)))) { - OSSL_Raise(eCipherError, ""); + ossl_raise(eCipherError, ""); } if (!EVP_CipherUpdate(&ciphp->ctx, out, &out_len, in, in_len)) { OPENSSL_free(out); - OSSL_Raise(eCipherError, ""); + ossl_raise(eCipherError, ""); } str = rb_str_new(out, out_len); OPENSSL_free(out); @@ -224,16 +225,19 @@ ossl_cipher_final(VALUE self) GetCipher(self, ciphp); + if (ciphp->init != Qtrue) { + ossl_raise(eCipherError, "Don't call Cipher#final without preceding Cipher#(en|de)crypt."); + } if (!(out = OPENSSL_malloc(EVP_CIPHER_CTX_block_size(&ciphp->ctx)))) { - OSSL_Raise(eCipherError, ""); + ossl_raise(eCipherError, ""); } if (!EVP_CipherFinal(&ciphp->ctx, out, &out_len)) { OPENSSL_free(out); - OSSL_Raise(eCipherError, ""); + ossl_raise(eCipherError, ""); } if (!EVP_CIPHER_CTX_cleanup(&ciphp->ctx)) { OPENSSL_free(out); - OSSL_Raise(eCipherError, ""); + ossl_raise(eCipherError, ""); } ciphp->init = Qfalse; diff --git a/ossl_config.c b/ossl_config.c index da9910d..5c98ae4 100644 --- a/ossl_config.c +++ b/ossl_config.c @@ -12,14 +12,14 @@ #define WrapConfig(klass, obj, conf) do { \ if (!conf) { \ - rb_raise(rb_eRuntimeError, "Config wasn't intitialized!"); \ + ossl_raise(rb_eRuntimeError, "Config wasn't intitialized!"); \ } \ - obj = Data_Wrap_Struct(klass, 0, CONF_free, conf); \ + obj = Data_Wrap_Struct(klass, 0, NCONF_free, conf); \ } while (0) #define GetConfig(obj, conf) do { \ - Data_Get_Struct(obj, LHASH, conf); \ + Data_Get_Struct(obj, CONF, conf); \ if (!conf) { \ - rb_raise(rb_eRuntimeError, "Config wasn't intitialized!"); \ + ossl_raise(rb_eRuntimeError, "Config wasn't intitialized!"); \ } \ } while (0) @@ -39,22 +39,38 @@ VALUE eConfigError; static VALUE ossl_config_s_load(int argc, VALUE *argv, VALUE klass) { - LHASH *conf; - long err_line = 0; - VALUE obj, path; - - rb_scan_args(argc, argv, "10", &path); + CONF *conf; + long err_line; + char *filename; + VALUE path, obj; - SafeStringValue(path); - - if (!(conf = CONF_load(NULL, StringValuePtr(path), &err_line))) { + if (rb_scan_args(argc, argv, "01", &path) == 1) { + filename = StringValuePtr(path); + } else { + if (!(filename = CONF_get1_default_config_file())) { + ossl_raise(eConfigError, ""); + } + } + + if (!(conf = NCONF_new( +#if defined(NT) + NCONF_WIN32() +#else + NCONF_default() +#endif + ))) { + ossl_raise(eConfigError, ""); + } + if (!NCONF_load(conf, filename, &err_line)) { if (err_line <= 0) { - rb_raise(eConfigError, "wrong config file %s", StringValuePtr(path)); + ossl_raise(eConfigError, "wrong config file %s", filename); } else { - rb_raise(eConfigError, "error on line %ld in config file %s", \ - err_line, StringValuePtr(path)); + ossl_raise(eConfigError, "error on line %ld in config file %s", \ + err_line, filename); } } + OSSL_Debug("Loaded file: %s", filename); + WrapConfig(klass, obj, conf); return obj; @@ -63,7 +79,7 @@ ossl_config_s_load(int argc, VALUE *argv, VALUE klass) static VALUE ossl_config_get_value(VALUE self, VALUE section, VALUE item) { - LHASH *conf; + CONF *conf; char *sect = NULL, *str; GetConfig(self, conf); @@ -71,8 +87,8 @@ ossl_config_get_value(VALUE self, VALUE section, VALUE item) if (!NIL_P(section)) { sect = StringValuePtr(section); } - if (!(str = CONF_get_string(conf, sect, StringValuePtr(item)))) { - OSSL_Raise(eConfigError, ""); + if (!(str = NCONF_get_string(conf, sect, StringValuePtr(item)))) { + ossl_raise(eConfigError, ""); } return rb_str_new2(str); } @@ -85,7 +101,7 @@ ossl_config_get_value(VALUE self, VALUE section, VALUE item) static VALUE ossl_config_get_section(VALUE self, VALUE section) { - LHASH *conf; + CONF *conf; STACK_OF(CONF_VALUE) *sk; CONF_VALUE *entry; int i, entries; @@ -93,8 +109,8 @@ ossl_config_get_section(VALUE self, VALUE section) GetConfig(self, conf); - if (!(sk = CONF_get_section(conf, StringValuePtr(section)))) { - OSSL_Raise(eConfigError, ""); + if (!(sk = NCONF_get_section(conf, StringValuePtr(section)))) { + ossl_raise(eConfigError, ""); } hash = rb_hash_new(); diff --git a/ossl_digest.c b/ossl_digest.c index 3e8519b..0f51d4e 100644 --- a/ossl_digest.c +++ b/ossl_digest.c @@ -15,7 +15,7 @@ #define GetDigest(obj, ctx) do { \ Data_Get_Struct(obj, EVP_MD_CTX, ctx); \ if (!ctx) { \ - rb_raise(rb_eRuntimeError, "Digest CTX wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "Digest CTX wasn't initialized!"); \ } \ } while (0) #define SafeGetDigest(obj, ctx) do { \ @@ -69,7 +69,7 @@ ossl_digest_initialize(VALUE self, VALUE str) md_name = StringValuePtr(str); if (!(md = EVP_get_digestbyname(md_name))) { - rb_raise(rb_eRuntimeError, "Unsupported digest algorithm (%s).", md_name); + ossl_raise(rb_eRuntimeError, "Unsupported digest algorithm (%s).", md_name); } EVP_DigestInit(ctx, md); @@ -96,10 +96,10 @@ digest_final(EVP_MD_CTX *ctx, char **buf, int *buf_len) EVP_MD_CTX final; if (!EVP_MD_CTX_copy(&final, ctx)) { - OSSL_Raise(eDigestError, ""); + ossl_raise(eDigestError, ""); } if (!(*buf = OPENSSL_malloc(EVP_MD_CTX_size(&final)))) { - OSSL_Raise(eDigestError, "Cannot allocate mem for digest"); + ossl_raise(eDigestError, "Cannot allocate mem for digest"); } EVP_DigestFinal(&final, *buf, buf_len); } @@ -136,7 +136,7 @@ ossl_digest_hexdigest(VALUE self) if (string2hex(buf, buf_len, &hexbuf, NULL) != 2 * buf_len) { OPENSSL_free(buf); - OSSL_Raise(eDigestError, "Memory alloc error"); + ossl_raise(eDigestError, "Memory alloc error"); } hexdigest = rb_str_new(hexbuf, 2 * buf_len); OPENSSL_free(buf); @@ -178,9 +178,8 @@ ossl_digest_clone(VALUE self) GetDigest(obj, other); if (!EVP_MD_CTX_copy(other, ctx)) { - OSSL_Raise(eDigestError, ""); - } - + ossl_raise(eDigestError, ""); + } return obj; } @@ -198,18 +197,14 @@ ossl_digest_equal(VALUE self, VALUE other) StringValue(other); str2 = other; } - if (RSTRING(str2)->len == EVP_MD_CTX_size(ctx)) { str1 = ossl_digest_digest(self); } else { str1 = ossl_digest_hexdigest(self); } - - if (RSTRING(str1)->len == RSTRING(str2)->len && - rb_str_cmp(str1, str2) == 0) { + if (RSTRING(str1)->len == RSTRING(str2)->len && rb_str_cmp(str1, str2) == 0) { return Qtrue; } - return Qfalse; } diff --git a/ossl_hmac.c b/ossl_hmac.c index 69666a0..0fe821b 100644 --- a/ossl_hmac.c +++ b/ossl_hmac.c @@ -17,7 +17,7 @@ #define GetHMAC(obj, ctx) do { \ Data_Get_Struct(obj, HMAC_CTX, ctx); \ if (!ctx) { \ - rb_raise(rb_eRuntimeError, "HMAC wasn't initialized"); \ + ossl_raise(rb_eRuntimeError, "HMAC wasn't initialized"); \ } \ } while (0) @@ -80,10 +80,10 @@ hmac_final(HMAC_CTX *ctx, char **buf, int *buf_len) HMAC_CTX final; if (!HMAC_CTX_copy(&final, ctx)) { - OSSL_Raise(eHMACError, ""); + ossl_raise(eHMACError, ""); } if (!(*buf = OPENSSL_malloc(HMAC_size(&final)))) { - OSSL_Raise(eHMACError, "Cannot allocate memory for hmac"); + ossl_raise(eHMACError, "Cannot allocate memory for hmac"); } HMAC_Final(&final, *buf, buf_len); HMAC_CTX_cleanup(&final); @@ -121,7 +121,7 @@ ossl_hmac_hexdigest(VALUE self) if (string2hex(buf, buf_len, &hexbuf, NULL) != 2 * buf_len) { OPENSSL_free(buf); - OSSL_Raise(eHMACError, "Memory alloc error"); + ossl_raise(eHMACError, "Memory alloc error"); } hexdigest = rb_str_new(hexbuf, 2 * buf_len); OPENSSL_free(buf); diff --git a/ossl_ns_spki.c b/ossl_ns_spki.c index 7a52f06..e70a1ae 100644 --- a/ossl_ns_spki.c +++ b/ossl_ns_spki.c @@ -12,14 +12,14 @@ #define WrapSPKI(klass, obj, spki) do { \ if (!spki) { \ - rb_raise(rb_eRuntimeError, "SPKI wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "SPKI wasn't initialized!"); \ } \ obj = Data_Wrap_Struct(klass, 0, NETSCAPE_SPKI_free, spki); \ } while (0) #define GetSPKI(obj, spki) do { \ Data_Get_Struct(obj, NETSCAPE_SPKI, spki); \ if (!spki) { \ - rb_raise(rb_eRuntimeError, "SPKI wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "SPKI wasn't initialized!"); \ } \ } while (0) @@ -44,7 +44,7 @@ ossl_spki_s_allocate(VALUE klass) VALUE obj; if (!(spki = NETSCAPE_SPKI_new())) { - OSSL_Raise(eSPKIError, ""); + ossl_raise(eSPKIError, ""); } WrapSPKI(klass, obj, spki); @@ -63,7 +63,7 @@ ossl_spki_initialize(int argc, VALUE *argv, VALUE self) } if (!(spki = NETSCAPE_SPKI_b64_decode(StringValuePtr(buffer), -1))) { - OSSL_Raise(eSPKIError, ""); + ossl_raise(eSPKIError, ""); } NETSCAPE_SPKI_free(DATA_PTR(self)); @@ -82,7 +82,7 @@ ossl_spki_to_pem(VALUE self) GetSPKI(self, spki); if (!(data = NETSCAPE_SPKI_b64_encode(spki))) { - OSSL_Raise(eSPKIError, ""); + ossl_raise(eSPKIError, ""); } str = rb_str_new2(data); @@ -102,11 +102,11 @@ ossl_spki_print(VALUE self) GetSPKI(self, spki); if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eSPKIError, ""); + ossl_raise(eSPKIError, ""); } if (!NETSCAPE_SPKI_print(out, spki)) { BIO_free(out); - OSSL_Raise(eSPKIError, ""); + ossl_raise(eSPKIError, ""); } BIO_get_mem_ptr(out, &buf); str = rb_str_new(buf->data, buf->length); @@ -124,7 +124,7 @@ ossl_spki_get_public_key(VALUE self) GetSPKI(self, spki); if (!(pkey = NETSCAPE_SPKI_get_pubkey(spki))) { /* adds an reference */ - OSSL_Raise(eSPKIError, ""); + ossl_raise(eSPKIError, ""); } return ossl_pkey_new(pkey); /* NO DUP - OK */ } @@ -140,7 +140,7 @@ ossl_spki_set_public_key(VALUE self, VALUE key) pkey = GetPKeyPtr(key); /* NO NEED TO DUP */ if (!NETSCAPE_SPKI_set_pubkey(spki, pkey)) { - OSSL_Raise(eSPKIError, ""); + ossl_raise(eSPKIError, ""); } return key; } @@ -168,7 +168,7 @@ ossl_spki_set_challenge(VALUE self, VALUE str) StringValue(str); if (!ASN1_STRING_set(spki->spkac->challenge, RSTRING(str)->ptr, RSTRING(str)->len)) { - OSSL_Raise(eSPKIError, ""); + ossl_raise(eSPKIError, ""); } return str; @@ -187,7 +187,7 @@ ossl_spki_sign(VALUE self, VALUE key, VALUE digest) pkey = GetPrivPKeyPtr(key); /* NO NEED TO DUP */ if (!NETSCAPE_SPKI_sign(spki, pkey, md)) { - OSSL_Raise(eSPKIError, ""); + ossl_raise(eSPKIError, ""); } return self; } @@ -209,7 +209,7 @@ ossl_spki_verify(VALUE self, VALUE key) result = NETSCAPE_SPKI_verify(spki, pkey); if (result < 0) { - OSSL_Raise(eSPKIError, ""); + ossl_raise(eSPKIError, ""); } if (result > 0) { return Qtrue; diff --git a/ossl_pkcs7.c b/ossl_pkcs7.c index a444156..bb16d60 100644 --- a/ossl_pkcs7.c +++ b/ossl_pkcs7.c @@ -12,27 +12,27 @@ #define WrapPKCS7(klass, obj, pkcs7) do { \ if (!pkcs7) { \ - rb_raise(rb_eRuntimeError, "PKCS7 wasn't initialized."); \ + ossl_raise(rb_eRuntimeError, "PKCS7 wasn't initialized."); \ } \ obj = Data_Wrap_Struct(klass, 0, PKCS7_free, pkcs7); \ } while (0) #define GetPKCS7(obj, pkcs7) do { \ Data_Get_Struct(obj, PKCS7, pkcs7); \ if (!pkcs7) { \ - rb_raise(rb_eRuntimeError, "PKCS7 wasn't initialized."); \ + ossl_raise(rb_eRuntimeError, "PKCS7 wasn't initialized."); \ } \ } while (0) #define WrapPKCS7si(klass, obj, p7si) do { \ if (!p7si) { \ - rb_raise(rb_eRuntimeError, "PKCS7si wasn't initialized."); \ + ossl_raise(rb_eRuntimeError, "PKCS7si wasn't initialized."); \ } \ obj = Data_Wrap_Struct(klass, 0, PKCS7_SIGNER_INFO_free, p7si); \ } while (0) #define GetPKCS7si(obj, p7si) do { \ Data_Get_Struct(obj, PKCS7_SIGNER_INFO, p7si); \ if (!p7si) { \ - rb_raise(rb_eRuntimeError, "PKCS7si wasn't initialized."); \ + ossl_raise(rb_eRuntimeError, "PKCS7si wasn't initialized."); \ } \ } while (0) #define SafeGetPKCS7si(obj, p7si) do { \ @@ -75,7 +75,7 @@ ossl_pkcs7si_new(PKCS7_SIGNER_INFO *p7si) new = PKCS7_SIGNER_INFO_dup(p7si); } if (!new) { - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } WrapPKCS7si(cPKCS7SignerInfo, obj, new); @@ -90,7 +90,7 @@ ossl_pkcs7si_get_PKCS7_SIGNER_INFO(VALUE obj) SafeGetPKCS7si(obj, p7si); if (!(new = PKCS7_SIGNER_INFO_dup(p7si))) { - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } return new; } @@ -114,11 +114,11 @@ static VALUE ossl_pkcs7_s_sign(VALUE klass, VALUE key, VALUE cert, VALUE data) x509 = GetX509CertPtr(cert); * NO NEED TO DUP * if (!(bio = BIO_new_mem_buf(RSTRING(data)->ptr, RSTRING(data)->len))) { - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } if (!(pkcs7 = PKCS7_sign(x509, pkey, NULL, bio, 0))) { BIO_free(bio); - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } BIO_free(bio); @@ -135,7 +135,7 @@ ossl_pkcs7_s_allocate(VALUE klass) VALUE obj; if (!(pkcs7 = PKCS7_new())) { - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } WrapPKCS7(klass, obj, pkcs7); @@ -153,17 +153,17 @@ ossl_pkcs7_initialize(VALUE self, VALUE arg) GetPKCS7(self, pkcs7); if(!PKCS7_set_type(pkcs7, FIX2INT(arg))) { - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } break; default: StringValue(arg); if (!(in = BIO_new_mem_buf(RSTRING(arg)->ptr, RSTRING(arg)->len))) { - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } if (!PEM_read_bio_PKCS7(in, (PKCS7 **)&DATA_PTR(self), NULL, NULL)) { BIO_free(in); - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } BIO_free(in); } @@ -178,7 +178,7 @@ ossl_pkcs7_set_cipher(VALUE self, VALUE cipher) GetPKCS7(self, pkcs7); if (!PKCS7_set_cipher(pkcs7, ossl_cipher_get_EVP_CIPHER(cipher))) { - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } return cipher; } @@ -200,7 +200,7 @@ ossl_pkcs7_add_signer(VALUE self, VALUE signer, VALUE key) if (!PKCS7_add_signer(pkcs7, p7si)) { PKCS7_SIGNER_INFO_free(p7si); - OSSL_Raise(ePKCS7Error, "Could not add signer."); + ossl_raise(ePKCS7Error, "Could not add signer."); } if (PKCS7_type_is_signed(pkcs7)) { PKCS7_add_signed_attribute(p7si, NID_pkcs9_contentType, V_ASN1_OBJECT, OBJ_nid2obj(NID_pkcs7_data)); @@ -224,7 +224,7 @@ ossl_pkcs7_get_signer(VALUE self) return rb_ary_new(); } if ((num = sk_PKCS7_SIGNER_INFO_num(sk)) < 0) { - rb_raise(ePKCS7Error, "Negative number of signers!"); + ossl_raise(ePKCS7Error, "Negative number of signers!"); } ary = rb_ary_new2(num); @@ -247,16 +247,16 @@ ossl_pkcs7_add_recipient(VALUE self, VALUE cert) x509 = GetX509CertPtr(cert); /* NO NEED TO DUP */ if (!(ri = PKCS7_RECIP_INFO_new())) { - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } if (!PKCS7_RECIP_INFO_set(ri, x509)) { PKCS7_RECIP_INFO_free(ri); - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } if (!PKCS7_add_recipient_info(pkcs7, ri)) { PKCS7_RECIP_INFO_free(ri); - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } return self; } @@ -269,7 +269,7 @@ ossl_pkcs7_add_certificate(VALUE self, VALUE cert) GetPKCS7(self, pkcs7); if (!PKCS7_add_certificate(pkcs7, GetX509CertPtr(cert))) { /* NO NEED TO DUP */ - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } return self; } @@ -286,7 +286,7 @@ ossl_pkcs7_add_crl(VALUE self, VALUE x509crl) if (!PKCS7_add_crl(pkcs7, crl)) { /* DUPs crl - free it! */ X509_CRL_free(crl); - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } X509_CRL_free(crl); @@ -313,15 +313,15 @@ ossl_pkcs7_add_data(int argc, VALUE *argv, VALUE self) PKCS7_set_detached(pkcs7, 1); } if (!(bio=PKCS7_dataInit(pkcs7, NULL))) { - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } if ((i = BIO_write(bio, RSTRING(data)->ptr, RSTRING(data)->len)) != RSTRING(data)->len) { BIO_free(bio); - rb_raise(ePKCS7Error, "BIO_wrote %d, but should be %d!", i, RSTRING(data)->len); + ossl_raise(ePKCS7Error, "BIO_wrote %d, but should be %d!", i, RSTRING(data)->len); } if (!PKCS7_dataFinal(pkcs7, bio)) { BIO_free(bio); - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } BIO_free(bio); @@ -344,7 +344,7 @@ ossl_pkcs7_data_verify(int argc, VALUE *argv, VALUE self) GetPKCS7(self, pkcs7); if (!PKCS7_type_is_signed(pkcs7)) { - rb_raise(ePKCS7Error, "Wrong content type - PKCS7 is not SIGNED"); + ossl_raise(ePKCS7Error, "Wrong content type - PKCS7 is not SIGNED"); } rb_scan_args(argc, argv, "11", &x509store, &detached); @@ -354,13 +354,13 @@ ossl_pkcs7_data_verify(int argc, VALUE *argv, VALUE self) if (!NIL_P(detached)) { StringValue(detached); if (!(data = BIO_new_mem_buf(RSTRING(detached)->ptr, RSTRING(detached)->len))) { - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } } if (PKCS7_get_detached(pkcs7)) { if (!data) { - rb_raise(ePKCS7Error, "PKCS7 is detached, data needed!"); + ossl_raise(ePKCS7Error, "PKCS7 is detached, data needed!"); } bio = PKCS7_dataInit(pkcs7, data); } else { @@ -370,7 +370,7 @@ ossl_pkcs7_data_verify(int argc, VALUE *argv, VALUE self) if (data) { BIO_free(data); } - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } /* We have to 'read' from bio to calculate digests etc. */ @@ -381,7 +381,7 @@ ossl_pkcs7_data_verify(int argc, VALUE *argv, VALUE self) /* BIO_free(bio); - shall we? */ if (!(sk = PKCS7_get_signer_info(pkcs7))) { - rb_raise(ePKCS7Error, "NO SIGNATURES ON THIS DATA"); + ossl_raise(ePKCS7Error, "NO SIGNATURES ON THIS DATA"); } for (i=0; idata, buf->length); @@ -467,7 +467,7 @@ ossl_pkcs7si_s_allocate(VALUE klass) VALUE obj; if (!(p7si = PKCS7_SIGNER_INFO_new())) { - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } WrapPKCS7si(klass, obj, p7si); @@ -489,7 +489,7 @@ ossl_pkcs7si_initialize(VALUE self, VALUE cert, VALUE key, VALUE digest) md = ossl_digest_get_EVP_MD(digest); if (!(PKCS7_SIGNER_INFO_set(p7si, x509, pkey, md))) { - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } return self; } @@ -523,14 +523,14 @@ ossl_pkcs7si_get_signed_time(VALUE self) GetPKCS7si(self, p7si); if (!(asn1obj = PKCS7_get_signed_attribute(p7si, NID_pkcs9_signingTime))) { - OSSL_Raise(ePKCS7Error, ""); + ossl_raise(ePKCS7Error, ""); } if (asn1obj->type == V_ASN1_UTCTIME) { return asn1time_to_time(asn1obj->value.utctime); } /* * OR - * rb_raise(ePKCS7Error, "..."); + * ossl_raise(ePKCS7Error, "..."); * ? */ return Qnil; diff --git a/ossl_pkey.c b/ossl_pkey.c index 6a4f3ce..2203fed 100644 --- a/ossl_pkey.c +++ b/ossl_pkey.c @@ -25,7 +25,7 @@ VALUE ossl_pkey_new(EVP_PKEY *pkey) { if (!pkey) { - rb_raise(ePKeyError, "Cannot make new key from NULL."); + ossl_raise(ePKeyError, "Cannot make new key from NULL."); } switch (EVP_PKEY_type(pkey->type)) { #if !defined(OPENSSL_NO_RSA) @@ -41,7 +41,7 @@ ossl_pkey_new(EVP_PKEY *pkey) return ossl_dh_new(pkey); #endif default: - rb_raise(ePKeyError, "unsupported key type"); + ossl_raise(ePKeyError, "unsupported key type"); } return Qnil; /* not reached */ } @@ -56,7 +56,7 @@ ossl_pkey_new_from_file(VALUE filename) SafeStringValue(filename); if (!(fp = fopen(StringValuePtr(filename), "r"))) { - rb_raise(ePKeyError, "%s", strerror(errno)); + ossl_raise(ePKeyError, "%s", strerror(errno)); } /* * Will we handle user passwords? @@ -65,7 +65,7 @@ ossl_pkey_new_from_file(VALUE filename) fclose(fp); if (!pkey) { - OSSL_Raise(ePKeyError, ""); + ossl_raise(ePKeyError, ""); } obj = ossl_pkey_new(pkey); EVP_PKEY_free(pkey); @@ -93,7 +93,7 @@ GetPrivPKeyPtr(VALUE obj) if (rb_funcall(obj, id_private_q, 0, NULL) == Qtrue) { /* returns Qtrue */ return pkey; } - rb_raise(rb_eArgError, "Private key is needed."); + ossl_raise(rb_eArgError, "Private key is needed."); return 0; /* unreachable */ } @@ -109,7 +109,7 @@ DupPrivPKeyPtr(VALUE obj) CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY); return pkey; } - rb_raise(rb_eArgError, "Private key is needed."); + ossl_raise(rb_eArgError, "Private key is needed."); return 0; /* unreachable */ } @@ -124,7 +124,7 @@ ossl_pkey_s_allocate(VALUE klass) VALUE obj; if (!(pkey = EVP_PKEY_new())) { - OSSL_Raise(ePKeyError, ""); + ossl_raise(ePKeyError, ""); } WrapPKey(klass, obj, pkey); @@ -135,7 +135,7 @@ static VALUE ossl_pkey_initialize(VALUE self) { if (rb_obj_is_instance_of(self, cPKey)) { - rb_raise(rb_eNotImpError, "OpenSSL::PKey::PKey is an abstract class."); + ossl_raise(rb_eNotImpError, "OpenSSL::PKey::PKey is an abstract class."); } return self; } @@ -150,11 +150,11 @@ ossl_pkey_to_der(VALUE self) GetPKey(self, pkey); if (!(key = X509_PUBKEY_new())) { - OSSL_Raise(ePKeyError, ""); + ossl_raise(ePKeyError, ""); } if (!X509_PUBKEY_set(&key, pkey)) { X509_PUBKEY_free(key); - OSSL_Raise(ePKeyError, ""); + ossl_raise(ePKeyError, ""); } str = rb_str_new(key->public_key->data, key->public_key->length); @@ -174,7 +174,7 @@ ossl_pkey_sign(VALUE self, VALUE digest, VALUE data) VALUE str; if (rb_funcall(self, id_private_q, 0, NULL) != Qtrue) { - rb_raise(rb_eArgError, "Private key is needed."); + ossl_raise(rb_eArgError, "Private key is needed."); } GetPKey(self, pkey); @@ -186,11 +186,11 @@ ossl_pkey_sign(VALUE self, VALUE digest, VALUE data) EVP_SignUpdate(&ctx, RSTRING(data)->ptr, RSTRING(data)->len); if (!(buf = OPENSSL_malloc(EVP_PKEY_size(pkey) + 16))) { - OSSL_Raise(ePKeyError, ""); + ossl_raise(ePKeyError, ""); } if (!EVP_SignFinal(&ctx, buf, &buf_len, pkey)) { OPENSSL_free(buf); - OSSL_Raise(ePKeyError, ""); + ossl_raise(ePKeyError, ""); } str = rb_str_new(buf, buf_len); OPENSSL_free(buf); @@ -218,7 +218,7 @@ ossl_pkey_verify(VALUE self, VALUE digest, VALUE sig, VALUE data) result = EVP_VerifyFinal(&ctx, RSTRING(sig)->ptr, RSTRING(sig)->len, pkey); if (result < 0) { - OSSL_Raise(ePKeyError, ""); + ossl_raise(ePKeyError, ""); } if (result == 1) { return Qtrue; diff --git a/ossl_pkey_dh.c b/ossl_pkey_dh.c index ce0468b..653ab1b 100644 --- a/ossl_pkey_dh.c +++ b/ossl_pkey_dh.c @@ -15,7 +15,7 @@ #define GetPKeyDH(obj, pkey) do { \ GetPKey(obj, pkey); \ if (EVP_PKEY_type(pkey->type) != EVP_PKEY_DH) { /* PARANOIA? */ \ - rb_raise(rb_eRuntimeError, "THIS IS NOT A DH!") ; \ + ossl_raise(rb_eRuntimeError, "THIS IS NOT A DH!") ; \ } \ } while (0) @@ -60,12 +60,12 @@ ossl_dh_new(EVP_PKEY *pkey) obj = dh_instance(cDH, DH_new()); } else { if (EVP_PKEY_type(pkey->type) != EVP_PKEY_DH) { - rb_raise(rb_eTypeError, "Not a DH key!"); + ossl_raise(rb_eTypeError, "Not a DH key!"); } WrapPKey(cDH, obj, pkey); } if (obj == Qfalse) { - OSSL_Raise(eDHError, ""); + ossl_raise(eDHError, ""); } return obj; } @@ -123,7 +123,7 @@ ossl_dh_s_generate(int argc, VALUE *argv, VALUE klass) if (obj == Qfalse) { DH_free(dh); - OSSL_Raise(eDHError, ""); + ossl_raise(eDHError, ""); } return obj; } @@ -146,23 +146,23 @@ ossl_dh_initialize(int argc, VALUE *argv, VALUE self) g = FIX2INT(gen); } if (!(dh = dh_generate(FIX2INT(buffer), g))) { - OSSL_Raise(eDHError, ""); + ossl_raise(eDHError, ""); } } else { StringValue(buffer); if (!(in = BIO_new_mem_buf(RSTRING(buffer)->ptr, RSTRING(buffer)->len))) { - OSSL_Raise(eDHError, ""); + ossl_raise(eDHError, ""); } if (!(dh = PEM_read_bio_DHparams(in, NULL, NULL, NULL))) { BIO_free(in); - OSSL_Raise(eDHError, ""); + ossl_raise(eDHError, ""); } BIO_free(in); } if (!EVP_PKEY_assign_DH(pkey, dh)) { DH_free(dh); - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } return self; } @@ -202,11 +202,11 @@ ossl_dh_export(VALUE self) GetPKeyDH(self, pkey); if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eDHError, ""); + ossl_raise(eDHError, ""); } if (!PEM_write_bio_DHparams(out, pkey->pkey.dh)) { BIO_free(out); - OSSL_Raise(eDHError, ""); + ossl_raise(eDHError, ""); } BIO_get_mem_ptr(out, &buf); str = rb_str_new(buf->data, buf->length); @@ -231,11 +231,11 @@ ossl_dh_to_text(VALUE self) GetPKeyDH(self, pkey); if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eDHError, ""); + ossl_raise(eDHError, ""); } if (!DHparams_print(out, pkey->pkey.dh)) { BIO_free(out); - OSSL_Raise(eDHError, ""); + ossl_raise(eDHError, ""); } BIO_get_mem_ptr(out, &buf); str = rb_str_new(buf->data, buf->length); @@ -261,7 +261,7 @@ ossl_dh_to_public_key(VALUE self) if (obj == Qfalse) { DH_free(dh); - OSSL_Raise(eDHError, ""); + ossl_raise(eDHError, ""); } return obj; } diff --git a/ossl_pkey_dsa.c b/ossl_pkey_dsa.c index bca45f2..7743eaa 100644 --- a/ossl_pkey_dsa.c +++ b/ossl_pkey_dsa.c @@ -15,7 +15,7 @@ #define GetPKeyDSA(obj, pkey) do { \ GetPKey(obj, pkey); \ if (EVP_PKEY_type(pkey->type) != EVP_PKEY_DSA) { /* PARANOIA? */ \ - rb_raise(rb_eRuntimeError, "THIS IS NOT A DSA!"); \ + ossl_raise(rb_eRuntimeError, "THIS IS NOT A DSA!"); \ } \ } while (0) @@ -60,12 +60,12 @@ ossl_dsa_new(EVP_PKEY *pkey) obj = dsa_instance(cDSA, DSA_new()); } else { if (EVP_PKEY_type(pkey->type) != EVP_PKEY_DSA) { - rb_raise(rb_eTypeError, "Not a DSA key!"); + ossl_raise(rb_eTypeError, "Not a DSA key!"); } WrapPKey(cDSA, obj, pkey); } if (obj == Qfalse) { - OSSL_Raise(eDSAError, ""); + ossl_raise(eDSAError, ""); } return obj; } @@ -121,7 +121,7 @@ ossl_dsa_s_generate(VALUE klass, VALUE size) if (obj == Qfalse) { DSA_free(dsa); - OSSL_Raise(eDSAError, ""); + ossl_raise(eDSAError, ""); } return obj; } @@ -141,7 +141,7 @@ ossl_dsa_initialize(int argc, VALUE *argv, VALUE self) if (FIXNUM_P(buffer)) { if (!(dsa = dsa_generate(FIX2INT(buffer)))) { - OSSL_Raise(eDSAError, ""); + ossl_raise(eDSAError, ""); } } else { StringValue(buffer); @@ -150,21 +150,21 @@ ossl_dsa_initialize(int argc, VALUE *argv, VALUE self) passwd = StringValuePtr(pass); } if (!(in = BIO_new_mem_buf(RSTRING(buffer)->ptr, RSTRING(buffer)->len))) { - OSSL_Raise(eDSAError, ""); + ossl_raise(eDSAError, ""); } if (!(dsa = PEM_read_bio_DSAPublicKey(in, NULL, NULL, NULL))) { BIO_reset(in); if (!(dsa = PEM_read_bio_DSAPrivateKey(in, NULL, NULL, passwd))) { BIO_free(in); - OSSL_Raise(eDSAError, "Neither PUB key nor PRIV key:"); + ossl_raise(eDSAError, "Neither PUB key nor PRIV key:"); } } BIO_free(in); } if (!EVP_PKEY_assign_DSA(pkey, dsa)) { DSA_free(dsa); - OSSL_Raise(eDSAError, ""); + ossl_raise(eDSAError, ""); } return self; } @@ -215,18 +215,18 @@ ossl_dsa_export(int argc, VALUE *argv, VALUE self) } } if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eDSAError, ""); + ossl_raise(eDSAError, ""); } if (DSA_PRIVATE(pkey->pkey.dsa)) { if (!PEM_write_bio_DSAPrivateKey(out, pkey->pkey.dsa, ciph, NULL, 0, NULL, passwd)) { BIO_free(out); - OSSL_Raise(eDSAError, ""); + ossl_raise(eDSAError, ""); } } else { if (!PEM_write_bio_DSAPublicKey(out, pkey->pkey.dsa)) { BIO_free(out); - OSSL_Raise(eDSAError, ""); + ossl_raise(eDSAError, ""); } } BIO_get_mem_ptr(out, &buf); @@ -252,11 +252,11 @@ ossl_dsa_to_text(VALUE self) GetPKeyDSA(self, pkey); if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eDSAError, ""); + ossl_raise(eDSAError, ""); } if (!DSA_print(out, pkey->pkey.dsa, 0)) { //offset = 0 BIO_free(out); - OSSL_Raise(eDSAError, ""); + ossl_raise(eDSAError, ""); } BIO_get_mem_ptr(out, &buf); str = rb_str_new(buf->data, buf->length); @@ -282,7 +282,7 @@ ossl_dsa_to_public_key(VALUE self) if (obj == Qfalse) { DSA_free(dsa); - OSSL_Raise(eDSAError, ""); + ossl_raise(eDSAError, ""); } return obj; } @@ -300,14 +300,14 @@ ossl_dsa_sign(VALUE self, VALUE data) StringValue(data); if (!DSA_PRIVATE(pkey->pkey.dsa)) { - rb_raise(eDSAError, "Private DSA key needed!"); + ossl_raise(eDSAError, "Private DSA key needed!"); } if (!(buf = OPENSSL_malloc(DSA_size(pkey->pkey.dsa) + 16))) { - OSSL_Raise(eDSAError, ""); + ossl_raise(eDSAError, ""); } if (!DSA_sign(0, RSTRING(data)->ptr, RSTRING(data)->len, buf, &buf_len, pkey->pkey.dsa)) { /* type is ignored (0) */ OPENSSL_free(buf); - OSSL_Raise(eDSAError, ""); + ossl_raise(eDSAError, ""); } str = rb_str_new(buf, buf_len); OPENSSL_free(buf); @@ -329,7 +329,7 @@ ossl_dsa_verify(VALUE self, VALUE digest, VALUE sig) ret = DSA_verify(0, RSTRING(digest)->ptr, RSTRING(digest)->len, RSTRING(sig)->ptr, RSTRING(sig)->len, pkey->pkey.dsa); /* type is ignored (0) */ if (ret < 0) { - OSSL_Raise(eDSAError, ""); + ossl_raise(eDSAError, ""); } else if (ret == 1) { return Qtrue; } diff --git a/ossl_pkey_rsa.c b/ossl_pkey_rsa.c index 8e35c32..3e90966 100644 --- a/ossl_pkey_rsa.c +++ b/ossl_pkey_rsa.c @@ -15,7 +15,7 @@ #define GetPKeyRSA(obj, pkey) do { \ GetPKey(obj, pkey); \ if (EVP_PKEY_type(pkey->type) != EVP_PKEY_RSA) { /* PARANOIA? */ \ - rb_raise(rb_eRuntimeError, "THIS IS NOT A RSA!") ; \ + ossl_raise(rb_eRuntimeError, "THIS IS NOT A RSA!") ; \ } \ } while (0) @@ -60,12 +60,12 @@ ossl_rsa_new(EVP_PKEY *pkey) obj = rsa_instance(cRSA, RSA_new()); } else { if (EVP_PKEY_type(pkey->type) != EVP_PKEY_RSA) { - rb_raise(rb_eTypeError, "Not a RSA key!"); + ossl_raise(rb_eTypeError, "Not a RSA key!"); } WrapPKey(cRSA, obj, pkey); } if (obj == Qfalse) { - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } return obj; } @@ -108,7 +108,7 @@ ossl_rsa_s_generate(VALUE klass, VALUE size) if (obj == Qfalse) { RSA_free(rsa); - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } return obj; } @@ -128,7 +128,7 @@ ossl_rsa_initialize(int argc, VALUE *argv, VALUE self) if (FIXNUM_P(buffer)) { if (!(rsa = rsa_generate(FIX2INT(buffer)))) { - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } } else { StringValue(buffer); @@ -137,21 +137,21 @@ ossl_rsa_initialize(int argc, VALUE *argv, VALUE self) passwd = StringValuePtr(pass); } if (!(in = BIO_new_mem_buf(RSTRING(buffer)->ptr, RSTRING(buffer)->len))) { - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } if (!(rsa = PEM_read_bio_RSAPublicKey(in, NULL, NULL, NULL))) { BIO_reset(in); if (!(rsa = PEM_read_bio_RSAPrivateKey(in, NULL, NULL, passwd))) { BIO_free(in); - OSSL_Raise(eRSAError, "Neither PUB key nor PRIV key:"); + ossl_raise(eRSAError, "Neither PUB key nor PRIV key:"); } } BIO_free(in); } if (!EVP_PKEY_assign_RSA(pkey, rsa)) { RSA_free(rsa); - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } return self; } @@ -202,17 +202,17 @@ ossl_rsa_export(int argc, VALUE *argv, VALUE self) } } if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } if (RSA_PRIVATE(pkey->pkey.rsa)) { if (!PEM_write_bio_RSAPrivateKey(out, pkey->pkey.rsa, ciph, NULL, 0, NULL, passwd)) { BIO_free(out); - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } } else { if (!PEM_write_bio_RSAPublicKey(out, pkey->pkey.rsa)) { BIO_free(out); - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } } BIO_get_mem_ptr(out, &buf); @@ -235,11 +235,11 @@ ossl_rsa_public_encrypt(VALUE self, VALUE buffer) StringValue(buffer); if (!(buf = OPENSSL_malloc(RSA_size(pkey->pkey.rsa) + 16))) { - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } if ((buf_len = RSA_public_encrypt(RSTRING(buffer)->len, RSTRING(buffer)->ptr, buf, pkey->pkey.rsa, RSA_PKCS1_PADDING)) < 0) { OPENSSL_free(buf); - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } str = rb_str_new(buf, buf_len); OPENSSL_free(buf); @@ -260,11 +260,11 @@ ossl_rsa_public_decrypt(VALUE self, VALUE buffer) StringValue(buffer); if (!(buf = OPENSSL_malloc(RSA_size(pkey->pkey.rsa) + 16))) { - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } if ((buf_len = RSA_public_decrypt(RSTRING(buffer)->len, RSTRING(buffer)->ptr, buf, pkey->pkey.rsa, RSA_PKCS1_PADDING)) < 0) { OPENSSL_free(buf); - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } str = rb_str_new(buf, buf_len); OPENSSL_free(buf); @@ -283,17 +283,17 @@ ossl_rsa_private_encrypt(VALUE self, VALUE buffer) GetPKeyRSA(self, pkey); if (!RSA_PRIVATE(pkey->pkey.rsa)) { - rb_raise(eRSAError, "PRIVATE key needed for this operation!"); + ossl_raise(eRSAError, "PRIVATE key needed for this operation!"); } StringValue(buffer); if (!(buf = OPENSSL_malloc(RSA_size(pkey->pkey.rsa) + 16))) { - OSSL_Raise(eRSAError, "Memory alloc error"); + ossl_raise(eRSAError, "Memory alloc error"); } if ((buf_len = RSA_private_encrypt(RSTRING(buffer)->len, RSTRING(buffer)->ptr, buf, pkey->pkey.rsa, RSA_PKCS1_PADDING)) < 0) { OPENSSL_free(buf); - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } str = rb_str_new(buf, buf_len); OPENSSL_free(buf); @@ -312,17 +312,17 @@ ossl_rsa_private_decrypt(VALUE self, VALUE buffer) GetPKeyRSA(self, pkey); if (!RSA_PRIVATE(pkey->pkey.rsa)) { - rb_raise(eRSAError, "Private RSA key needed!"); + ossl_raise(eRSAError, "Private RSA key needed!"); } StringValue(buffer); if (!(buf = OPENSSL_malloc(RSA_size(pkey->pkey.rsa) + 16))) { - OSSL_Raise(eRSAError, "Memory alloc error"); + ossl_raise(eRSAError, "Memory alloc error"); } if ((buf_len = RSA_private_decrypt(RSTRING(buffer)->len, RSTRING(buffer)->ptr, buf, pkey->pkey.rsa, RSA_PKCS1_PADDING)) < 0) { OPENSSL_free(buf); - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } str = rb_str_new(buf, buf_len); OPENSSL_free(buf); @@ -346,11 +346,11 @@ ossl_rsa_get_n(VALUE self) GetRSA(self, rsap); if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } if (!BN_print(out, rsap->rsa->n)) { BIO_free(out); - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } BIO_get_mem_ptr(out, &buf); @@ -377,11 +377,11 @@ ossl_rsa_to_text(VALUE self) GetPKeyRSA(self, pkey); if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } if (!RSA_print(out, pkey->pkey.rsa, 0)) { //offset = 0 BIO_free(out); - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } BIO_get_mem_ptr(out, &buf); str = rb_str_new(buf->data, buf->length); @@ -407,7 +407,7 @@ ossl_rsa_to_public_key(VALUE self) if (obj == Qfalse) { RSA_free(rsa); - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } return obj; } @@ -430,14 +430,14 @@ ossl_rsa_sign(VALUE self, VALUE data) StringValue(data); if (!RSA_PRIVATE(pkey->pkey.rsa)) { - rb_raise(eRSAError, "Private RSA key needed!"); + ossl_raise(eRSAError, "Private RSA key needed!"); } if (!(buf = OPENSSL_malloc(RSA_size(pkey->pkey.rsa) + 16))) { - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } if (!RSA_sign(0, RSTRING(data)->ptr, RSTRING(data)->len, buf, &buf_len, pkey->pkey.rsa)) { OPENSSL_free(buf); - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } str = rb_str_new(buf, buf_len); OPENSSL_free(buf); @@ -459,7 +459,7 @@ ossl_rsa_verify(VALUE self, VALUE digest, VALUE sig) ret = RSA_verify(0, RSTRING(digest)->ptr, RSTRING(digest)->len, RSTRING(sig)->ptr, RSTRING(sig)->len, pkey->pkey.rsa); if (ret < 0) { - OSSL_Raise(eRSAError, ""); + ossl_raise(eRSAError, ""); } else if (ret == 1) { return Qtrue; } diff --git a/ossl_rand.c b/ossl_rand.c index 9196ac4..5a77856 100644 --- a/ossl_rand.c +++ b/ossl_rand.c @@ -42,7 +42,7 @@ ossl_rand_load_file(VALUE self, VALUE filename) SafeStringValue(filename); if(!RAND_load_file(StringValuePtr(filename), -1)) { - OSSL_Raise(eRandomError, ""); + ossl_raise(eRandomError, ""); } return Qtrue; } @@ -53,7 +53,7 @@ ossl_rand_write_file(VALUE self, VALUE filename) SafeStringValue(filename); if (RAND_write_file(StringValuePtr(filename)) == -1) { - OSSL_Raise(eRandomError, ""); + ossl_raise(eRandomError, ""); } return Qtrue; } @@ -65,11 +65,11 @@ ossl_rand_bytes(VALUE self, VALUE len) VALUE str; if (!(buffer = OPENSSL_malloc(FIX2INT(len) + 1))) { - OSSL_Raise(eRandomError, ""); + ossl_raise(eRandomError, ""); } if (!RAND_bytes(buffer, FIX2INT(len))) { OPENSSL_free(buffer); - OSSL_Raise(eRandomError, ""); + ossl_raise(eRandomError, ""); } str = rb_str_new(buffer, FIX2INT(len)); OPENSSL_free(buffer); @@ -83,7 +83,7 @@ ossl_rand_egd(VALUE self, VALUE filename) SafeStringValue(filename); if(!RAND_egd(StringValuePtr(filename))) { - OSSL_Raise(eRandomError, ""); + ossl_raise(eRandomError, ""); } return Qtrue; } @@ -94,7 +94,7 @@ ossl_rand_egd_bytes(VALUE self, VALUE filename, VALUE len) SafeStringValue(filename); if (!RAND_egd_bytes(StringValuePtr(filename), FIX2INT(len))) { - OSSL_Raise(eRandomError, ""); + ossl_raise(eRandomError, ""); } return Qtrue; } diff --git a/ossl_ssl.c b/ossl_ssl.c index ddb17c5..83b8c4b 100644 --- a/ossl_ssl.c +++ b/ossl_ssl.c @@ -188,13 +188,13 @@ ssl_ctx_setup(VALUE self) if (cert && key) { if (!SSL_CTX_use_certificate(p->ctx, cert)) { /* Adds a ref => Safe to FREE */ - OSSL_Raise(eSSLError, "SSL_CTX_use_certificate:"); + ossl_raise(eSSLError, "SSL_CTX_use_certificate:"); } if (!SSL_CTX_use_PrivateKey(p->ctx, key)) { /* Adds a ref => Safe to FREE */ - OSSL_Raise(eSSLError, "SSL_CTX_use_PrivateKey:"); + ossl_raise(eSSLError, "SSL_CTX_use_PrivateKey:"); } if (!SSL_CTX_check_private_key(p->ctx)) { - OSSL_Raise(eSSLError, "SSL_CTX_check_private_key:"); + ossl_raise(eSSLError, "SSL_CTX_check_private_key:"); } } @@ -207,7 +207,7 @@ ssl_ctx_setup(VALUE self) if (ca) { if (!SSL_CTX_add_client_CA(p->ctx, ca)) { /* Copies X509_NAME => FREE it. */ - OSSL_Raise(eSSLError, ""); + ossl_raise(eSSLError, ""); } } if ((!SSL_CTX_load_verify_locations(p->ctx, ca_file, ca_path) || @@ -240,7 +240,7 @@ ssl_setup(VALUE self) rb_io_check_readable(fptr); rb_io_check_writable(fptr); if((p->ssl = SSL_new(p->ctx)) == NULL) - OSSL_Raise(eSSLError, "SSL_new:"); + ossl_raise(eSSLError, "SSL_new:"); SSL_set_fd(p->ssl, fileno(fptr->f)); } @@ -255,7 +255,7 @@ ssl_s_new(int argc, VALUE *argv, VALUE klass) obj = Data_Make_Struct(klass, ssl_st, 0, ssl_free, p); memset(p, 0, sizeof(ssl_st)); if((p->ctx = SSL_CTX_new(SSLv23_method())) == NULL) - OSSL_Raise(eSSLError, "SSL_CTX_new:"); + ossl_raise(eSSLError, "SSL_CTX_new:"); SSL_CTX_set_options(p->ctx, SSL_OP_ALL); @@ -307,7 +307,7 @@ ssl_connect(VALUE self) ssl_verify_callback_proc = ssl_get_verify_cb(self); if(SSL_connect(p->ssl) <= 0){ - OSSL_Raise(eSSLError, "SSL_connect:"); + ossl_raise(eSSLError, "SSL_connect:"); } return self; @@ -324,7 +324,7 @@ ssl_accept(VALUE self) ssl_verify_callback_proc = ssl_get_verify_cb(self); if(SSL_accept(p->ssl) <= 0){ - OSSL_Raise(eSSLError, "SSL_accept:"); + ossl_raise(eSSLError, "SSL_accept:"); } return self; @@ -345,7 +345,7 @@ ssl_read(VALUE self, VALUE len) if (p->ssl) { nread = SSL_read(p->ssl, RSTRING(str)->ptr, RSTRING(str)->len); if(nread < 0) - OSSL_Raise(eSSLError, "SSL_read:"); + ossl_raise(eSSLError, "SSL_read:"); } else { rb_warning("SSL session is not started yet."); @@ -357,11 +357,11 @@ ssl_read(VALUE self, VALUE len) TRAP_END; if(nread < 0) - rb_raise(eSSLError, "read:%s", strerror(errno)); + ossl_raise(eSSLError, "read:%s", strerror(errno)); } if(nread == 0) - rb_raise(rb_eEOFError, "End of file reached"); + ossl_raise(rb_eEOFError, "End of file reached"); RSTRING(str)->len = nread; RSTRING(str)->ptr[nread] = 0; @@ -384,7 +384,7 @@ ssl_write(VALUE self, VALUE str) if (p->ssl) { nwrite = SSL_write(p->ssl, RSTRING(str)->ptr, RSTRING(str)->len); if (nwrite < 0) - OSSL_Raise(eSSLError, "SSL_write:"); + ossl_raise(eSSLError, "SSL_write:"); } else { rb_warning("SSL session is not started yet."); @@ -393,7 +393,7 @@ ssl_write(VALUE self, VALUE str) fp = GetWriteFile(fptr); nwrite = write(fileno(fp), RSTRING(str)->ptr, RSTRING(str)->len); if(nwrite < 0) - rb_raise(eSSLError, "write:%s", strerror(errno)); + ossl_raise(eSSLError, "write:%s", strerror(errno)); } return INT2NUM(nwrite); @@ -519,7 +519,7 @@ ssl_set_ciphers(VALUE self, VALUE v) Data_Get_Struct(self, ssl_st, p); if(!p->ctx){ - rb_raise(eSSLError, "SSL_CTX is not initialized."); + ossl_raise(eSSLError, "SSL_CTX is not initialized."); return Qnil; } @@ -535,7 +535,7 @@ ssl_set_ciphers(VALUE self, VALUE v) } else str = rb_String(v); if (!SSL_CTX_set_cipher_list(p->ctx, RSTRING(str)->ptr)) { - OSSL_Raise(eSSLError, "SSL_CTX_set_ciphers:"); + ossl_raise(eSSLError, "SSL_CTX_set_ciphers:"); } return Qnil; } diff --git a/ossl_x509attr.c b/ossl_x509attr.c index 21278df..db91a64 100644 --- a/ossl_x509attr.c +++ b/ossl_x509attr.c @@ -12,14 +12,14 @@ #define WrapX509Attr(klass, obj, attr) do { \ if (!attr) { \ - rb_raise(rb_eRuntimeError, "ATTR wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "ATTR wasn't initialized!"); \ } \ obj = Data_Wrap_Struct(klass, 0, X509_ATTRIBUTE_free, attr); \ } while (0) #define GetX509Attr(obj, attr) do { \ Data_Get_Struct(obj, X509_ATTRIBUTE, attr); \ if (!attr) { \ - rb_raise(rb_eRuntimeError, "ATTR wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "ATTR wasn't initialized!"); \ } \ } while (0) #define SafeGetX509Attr(obj, attr) do { \ @@ -48,7 +48,7 @@ ossl_x509attr_new(X509_ATTRIBUTE *attr) new = X509_ATTRIBUTE_dup(attr); } if (!new) { - OSSL_Raise(eX509AttrError, ""); + ossl_raise(eX509AttrError, ""); } WrapX509Attr(cX509Attr, obj, new); @@ -63,7 +63,7 @@ ossl_x509attr_get_X509_ATTRIBUTE(VALUE obj) SafeGetX509Attr(obj, attr); if (!(new = X509_ATTRIBUTE_dup(attr))) { - OSSL_Raise(eX509AttrError, ""); + ossl_raise(eX509AttrError, ""); } return new; } @@ -81,7 +81,7 @@ ossl_x509attr_s_new_from_array(VALUE klass, VALUE ary) Check_Type(ary, T_ARRAY); if (RARRAY(ary)->len != 2) { - rb_raise(eX509AttrError, "unsupported ary structure"); + ossl_raise(eX509AttrError, "unsupported ary structure"); } /* key [0] */ @@ -90,7 +90,7 @@ ossl_x509attr_s_new_from_array(VALUE klass, VALUE ary) if (!(nid = OBJ_ln2nid(StringValuePtr(item)))) { if (!(nid = OBJ_sn2nid(StringValuePtr(item)))) { - OSSL_Raise(eX509AttrError, ""); + ossl_raise(eX509AttrError, ""); } } @@ -99,7 +99,7 @@ ossl_x509attr_s_new_from_array(VALUE klass, VALUE ary) StringValuePtr(item); if (!(attr = X509_ATTRIBUTE_create(nid, MBSTRING_ASC, StringValuePtr(item)))) { - OSSL_Raise(eX509AttrError, ""); + ossl_raise(eX509AttrError, ""); } WrapX509Attr(klass, obj, attr); @@ -127,11 +127,11 @@ ossl_x509attr_to_a(VALUE self) rb_ary_push(ary, rb_str_new2(OBJ_nid2sn(nid))); if (!(out = BIO_new(BIO_s_mem()))) - OSSL_Raise(eX509ExtensionError, ""); + ossl_raise(eX509ExtensionError, ""); if (!X509V3_???_print(out, extp->extension, 0, 0)) { BIO_free(out); - OSSL_Raise(eX509ExtensionError, ""); + ossl_raise(eX509ExtensionError, ""); } BIO_get_mem_ptr(out, &buf); value = rb_str_new(buf->data, buf->length); diff --git a/ossl_x509cert.c b/ossl_x509cert.c index 3b32355..a28905e 100644 --- a/ossl_x509cert.c +++ b/ossl_x509cert.c @@ -12,14 +12,14 @@ #define WrapX509(klass, obj, x509) do { \ if (!x509) { \ - rb_raise(rb_eRuntimeError, "CERT wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "CERT wasn't initialized!"); \ } \ obj = Data_Wrap_Struct(klass, 0, X509_free, x509); \ } while (0) #define GetX509(obj, x509) do { \ Data_Get_Struct(obj, X509, x509); \ if (!x509) { \ - rb_raise(rb_eRuntimeError, "CERT wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "CERT wasn't initialized!"); \ } \ } while (0) #define SafeGetX509(obj, x509) do { \ @@ -48,7 +48,7 @@ ossl_x509_new(X509 *x509) new = X509_dup(x509); } if (!new) { - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } WrapX509(cX509Cert, obj, new); @@ -65,13 +65,13 @@ ossl_x509_new_from_file(VALUE filename) SafeStringValue(filename); if (!(fp = fopen(StringValuePtr(filename), "r"))) - rb_raise(eX509CertError, "%s", strerror(errno)); + ossl_raise(eX509CertError, "%s", strerror(errno)); x509 = PEM_read_X509(fp, NULL, NULL, NULL); fclose(fp); if (!x509) { - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } WrapX509(cX509Cert, obj, x509); @@ -105,7 +105,7 @@ ossl_x509_s_allocate(VALUE klass) VALUE obj; if (!(x509 = X509_new())) { - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } WrapX509(klass, obj, x509); @@ -124,7 +124,7 @@ ossl_x509_initialize(int argc, VALUE *argv, VALUE self) StringValue(buffer); if (!(in = BIO_new_mem_buf(RSTRING(buffer)->ptr, RSTRING(buffer)->len))) { - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } /* * TODO: @@ -133,7 +133,7 @@ ossl_x509_initialize(int argc, VALUE *argv, VALUE self) */ if (!PEM_read_bio_X509(in, (X509 **)&DATA_PTR(self), NULL, NULL)) { BIO_free(in); - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } BIO_free(in); @@ -151,11 +151,11 @@ ossl_x509_to_der(VALUE self) GetX509(self, x509); if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } if (!i2d_X509_bio(out, x509)) { BIO_free(out); - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } BIO_get_mem_ptr(out, &buf); str = rb_str_new(buf->data, buf->length); @@ -175,11 +175,11 @@ ossl_x509_to_pem(VALUE self) GetX509(self, x509); if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } if (!PEM_write_bio_X509(out, x509)) { BIO_free(out); - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } BIO_get_mem_ptr(out, &buf); str = rb_str_new(buf->data, buf->length); @@ -199,11 +199,11 @@ ossl_x509_to_text(VALUE self) GetX509(self, x509); if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } if (!X509_print(out, x509)) { BIO_free(out); - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } BIO_get_mem_ptr(out, &buf); str = rb_str_new(buf->data, buf->length); @@ -224,7 +224,7 @@ ossl_x509_to_req(VALUE self) GetX509(self, x509); if (!(req = X509_to_X509_REQ(x509, NULL, EVP_md5()))) { - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } return ossl_x509req_new(req); } @@ -252,10 +252,10 @@ ossl_x509_set_version(VALUE self, VALUE version) GetX509(self, x509); if ((ver = FIX2LONG(version)) < 0) { - rb_raise(eX509CertError, "version must be >= 0!"); + ossl_raise(eX509CertError, "version must be >= 0!"); } if (!X509_set_version(x509, ver)) { - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } return version; } @@ -270,7 +270,7 @@ ossl_x509_get_serial(VALUE self) GetX509(self, x509); if (!(asn1int = X509_get_serialNumber(x509))) { /* NO DUP - don't free */ - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } serial = ASN1_INTEGER_get(asn1int); @@ -286,15 +286,15 @@ ossl_x509_set_serial(VALUE self, VALUE serial) GetX509(self, x509); if (!(asn1int = ASN1_INTEGER_new())) { - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } if (!ASN1_INTEGER_set(asn1int, FIX2LONG(serial))) { ASN1_INTEGER_free(asn1int); - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } if (!X509_set_serialNumber(x509, asn1int)) { /* DUPs asn1int - FREE it */ ASN1_INTEGER_free(asn1int); - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } ASN1_INTEGER_free(asn1int); @@ -310,7 +310,7 @@ ossl_x509_get_subject(VALUE self) GetX509(self, x509); if (!(name = X509_get_subject_name(x509))) { /* NO DUP - don't free! */ - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } return ossl_x509name_new(name); } @@ -327,7 +327,7 @@ ossl_x509_set_subject(VALUE self, VALUE subject) if (!X509_set_subject_name(x509, name)) { /* DUPs name - FREE it */ X509_NAME_free(name); - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } X509_NAME_free(name); @@ -343,7 +343,7 @@ ossl_x509_get_issuer(VALUE self) GetX509(self, x509); if(!(name = X509_get_issuer_name(x509))) { /* NO DUP - don't free! */ - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } return ossl_x509name_new(name); } @@ -360,7 +360,7 @@ ossl_x509_set_issuer(VALUE self, VALUE issuer) if (!X509_set_issuer_name(x509, name)) { /* DUPs name - FREE it */ X509_NAME_free(name); - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } X509_NAME_free(name); @@ -376,7 +376,7 @@ ossl_x509_get_not_before(VALUE self) GetX509(self, x509); if (!(asn1time = X509_get_notBefore(x509))) { /* NO DUP - don't free! */ - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } return asn1time_to_time(asn1time); } @@ -392,7 +392,7 @@ ossl_x509_set_not_before(VALUE self, VALUE time) sec = time_to_time_t(time); if (!ASN1_UTCTIME_set(X509_get_notBefore(x509), sec)) { - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } return time; } @@ -406,7 +406,7 @@ ossl_x509_get_not_after(VALUE self) GetX509(self, x509); if (!(asn1time = X509_get_notAfter(x509))) { /* NO DUP - don't free! */ - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } return asn1time_to_time(asn1time); } @@ -422,7 +422,7 @@ ossl_x509_set_not_after(VALUE self, VALUE time) sec = time_to_time_t(time); if (!ASN1_UTCTIME_set(X509_get_notAfter(x509), sec)) { - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } return time; } @@ -436,7 +436,7 @@ ossl_x509_get_public_key(VALUE self) GetX509(self, x509); if (!(pkey = X509_get_pubkey(x509))) { /* adds an reference */ - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } return ossl_pkey_new(pkey); /* NO DUP - OK */ } @@ -449,7 +449,7 @@ ossl_x509_set_public_key(VALUE self, VALUE key) GetX509(self, x509); if (!X509_set_pubkey(x509, GetPKeyPtr(key))) { /* DUPs pkey */ - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } return key; } @@ -467,7 +467,7 @@ ossl_x509_sign(VALUE self, VALUE key, VALUE digest) pkey = GetPrivPKeyPtr(key); /* NO NEED TO DUP */ if (!X509_sign(x509, pkey, md)) { - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } return self; } @@ -487,7 +487,7 @@ ossl_x509_verify(VALUE self, VALUE key) pkey = GetPKeyPtr(key); /* NO NEED TO DUP */ if ((i = X509_verify(x509, pkey)) < 0) { - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } if (i > 0) { return Qtrue; @@ -569,7 +569,7 @@ ossl_x509_set_extensions(VALUE self, VALUE ary) if (!X509_add_ext(x509, ext, -1)) { /* DUPs ext - FREE it */ X509_EXTENSION_free(ext); - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } X509_EXTENSION_free(ext); } @@ -588,7 +588,7 @@ ossl_x509_add_extension(VALUE self, VALUE extension) if (!X509_add_ext(x509, ext, -1)) { /* DUPs ext - FREE it */ X509_EXTENSION_free(ext); - OSSL_Raise(eX509CertError, ""); + ossl_raise(eX509CertError, ""); } X509_EXTENSION_free(ext); diff --git a/ossl_x509crl.c b/ossl_x509crl.c index 4a3cd0e..24b2226 100644 --- a/ossl_x509crl.c +++ b/ossl_x509crl.c @@ -12,14 +12,14 @@ #define WrapX509CRL(klass, obj, crl) do { \ if (!crl) { \ - rb_raise(rb_eRuntimeError, "CRL wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "CRL wasn't initialized!"); \ } \ obj = Data_Wrap_Struct(klass, 0, X509_CRL_free, crl); \ } while (0) #define GetX509CRL(obj, crl) do { \ Data_Get_Struct(obj, X509_CRL, crl); \ if (!crl) { \ - rb_raise(rb_eRuntimeError, "CRL wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "CRL wasn't initialized!"); \ } \ } while (0) #define SafeGetX509CRL(obj, crl) do { \ @@ -44,7 +44,7 @@ ossl_x509crl_get_X509_CRL(VALUE obj) SafeGetX509CRL(obj, crl); if (!(new = X509_CRL_dup(crl))) { - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } return new; } @@ -59,7 +59,7 @@ ossl_x509crl_s_allocate(VALUE klass) VALUE obj; if (!(crl = X509_CRL_new())) { - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } WrapX509CRL(klass, obj, crl); @@ -77,7 +77,7 @@ ossl_x509crl_initialize(int argc, VALUE *argv, VALUE self) } if (!(in = BIO_new_mem_buf(StringValuePtr(buffer), -1))) { - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } /* * TODO: @@ -86,7 +86,7 @@ ossl_x509crl_initialize(int argc, VALUE *argv, VALUE self) */ if (!PEM_read_bio_X509_CRL(in, (X509_CRL **)&DATA_PTR(self), NULL, NULL)) { BIO_free(in); - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } BIO_free(in); @@ -116,13 +116,13 @@ ossl_x509crl_set_version(VALUE self, VALUE version) GetX509CRL(self, crl); if ((ver = NUM2LONG(version)) < 0) { - rb_raise(eX509CRLError, "version must be >= 0!"); + ossl_raise(eX509CRLError, "version must be >= 0!"); } if (!(asn1int = ASN1_INTEGER_new())) { - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } if (!ASN1_INTEGER_set(asn1int, ver)) { - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } ASN1_INTEGER_free(crl->crl->version); crl->crl->version = asn1int; @@ -152,7 +152,7 @@ ossl_x509crl_set_issuer(VALUE self, VALUE issuer) if (!X509_NAME_set(&(crl->crl->issuer), name)) { /* DUPs name - FREE it */ X509_NAME_free(name); - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } X509_NAME_free(name); @@ -180,7 +180,7 @@ ossl_x509crl_set_last_update(VALUE self, VALUE time) sec = time_to_time_t(time); if (!ASN1_UTCTIME_set(crl->crl->lastUpdate, sec)) { - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } return time; } @@ -206,7 +206,7 @@ ossl_x509crl_set_next_update(VALUE self, VALUE time) sec = time_to_time_t(time); if (!ASN1_UTCTIME_set(crl->crl->nextUpdate, sec)) { - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } return time; } @@ -260,7 +260,7 @@ ossl_x509crl_set_revoked(VALUE self, VALUE ary) rev = ossl_x509revoked_get_X509_REVOKED(RARRAY(ary)->ptr[i]); if (!sk_X509_CRL_push(crl->crl->revoked, rev)) { /* NO DUP - don't free! */ - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } } sk_X509_REVOKED_sort(crl->crl->revoked); @@ -279,7 +279,7 @@ ossl_x509crl_add_revoked(VALUE self, VALUE revoked) rev = ossl_x509revoked_get_X509_REVOKED(revoked); if (!sk_X509_CRL_push(crl->crl->revoked, rev)) { /* NO DUP - don't free! */ - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } sk_X509_REVOKED_sort(crl->crl->revoked); @@ -299,7 +299,7 @@ ossl_x509crl_sign(VALUE self, VALUE key, VALUE digest) md = ossl_digest_get_EVP_MD(digest); if (!X509_CRL_sign(crl, pkey, md)) { - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } return self; } @@ -331,11 +331,11 @@ ossl_x509crl_to_pem(VALUE self) GetX509CRL(self, crl); if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } if (!PEM_write_bio_X509_CRL(out, crl)) { BIO_free(out); - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } BIO_get_mem_ptr(out, &buf); str = rb_str_new(buf->data, buf->length); @@ -355,11 +355,11 @@ ossl_x509crl_to_text(VALUE self) GetX509CRL(self, crl); if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } if (!X509_CRL_print(out, crl)) { BIO_free(out); - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } BIO_get_mem_ptr(out, &buf); str = rb_str_new(buf->data, buf->length); @@ -422,7 +422,7 @@ ossl_x509crl_set_extensions(VALUE self, VALUE ary) if(!X509_CRL_add_ext(crl, ext, -1)) { /* DUPs ext - FREE it */ X509_EXTENSION_free(ext); - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } X509_EXTENSION_free(ext); } @@ -441,7 +441,7 @@ ossl_x509crl_add_extension(VALUE self, VALUE extension) if (!X509_CRL_add_ext(crl, ext, -1)) { /* DUPs ext - FREE it */ X509_EXTENSION_free(ext); - OSSL_Raise(eX509CRLError, ""); + ossl_raise(eX509CRLError, ""); } X509_EXTENSION_free(ext); diff --git a/ossl_x509ext.c b/ossl_x509ext.c index c8d053e..92035ed 100644 --- a/ossl_x509ext.c +++ b/ossl_x509ext.c @@ -12,14 +12,14 @@ #define WrapX509Ext(klass, obj, ext) do { \ if (!ext) { \ - rb_raise(rb_eRuntimeError, "EXT wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "EXT wasn't initialized!"); \ } \ obj = Data_Wrap_Struct(klass, 0, X509_EXTENSION_free, ext); \ } while (0) #define GetX509Ext(obj, ext) do { \ Data_Get_Struct(obj, X509_EXTENSION, ext); \ if (!ext) { \ - rb_raise(rb_eRuntimeError, "EXT wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "EXT wasn't initialized!"); \ } \ } while (0) #define SafeGetX509Ext(obj, ext) do { \ @@ -32,7 +32,7 @@ #define GetX509ExtFactory(obj, ctx) do { \ Data_Get_Struct(obj, X509V3_CTX, ctx); \ if (!ctx) { \ - rb_raise(rb_eRuntimeError, "CTX wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "CTX wasn't initialized!"); \ } \ } while (0) @@ -58,7 +58,7 @@ ossl_x509ext_new(X509_EXTENSION *ext) new = X509_EXTENSION_dup(ext); } if (!new) { - OSSL_Raise(eX509ExtError, ""); + ossl_raise(eX509ExtError, ""); } WrapX509Ext(cX509Ext, obj, new); @@ -73,7 +73,7 @@ ossl_x509ext_get_X509_EXTENSION(VALUE obj) SafeGetX509Ext(obj, ext); if (!(new = X509_EXTENSION_dup(ext))) { - OSSL_Raise(eX509ExtError, ""); + ossl_raise(eX509ExtError, ""); } return new; } @@ -202,7 +202,7 @@ ossl_x509extfactory_create_ext_from_array(VALUE self, VALUE ary) Check_Type(ary, T_ARRAY); if ((RARRAY(ary)->len) < 2 || (RARRAY(ary)->len > 3)) { /*2 or 3 allowed*/ - rb_raise(eX509ExtError, "unsupported structure"); + ossl_raise(eX509ExtError, "unsupported structure"); } /* key [0] */ @@ -210,7 +210,7 @@ ossl_x509extfactory_create_ext_from_array(VALUE self, VALUE ary) StringValue(item); if (!(nid = OBJ_ln2nid(RSTRING(item)->ptr))) { if (!(nid = OBJ_sn2nid(RSTRING(item)->ptr))) { - OSSL_Raise(eX509ExtError, ""); + ossl_raise(eX509ExtError, ""); } } @@ -221,7 +221,7 @@ ossl_x509extfactory_create_ext_from_array(VALUE self, VALUE ary) /* (optional) critical [2] */ if (RARRAY(ary)->len == 3 && RARRAY(ary)->ptr[2] == Qtrue) { if (!(value = OPENSSL_malloc(strlen("critical,") + (RSTRING(item)->len) + 1))) { - OSSL_Raise(eX509ExtError, "malloc error"); + ossl_raise(eX509ExtError, "malloc error"); } strcpy(value, "critical,"); strncat(value, RSTRING(item)->ptr, RSTRING(item)->len); @@ -230,7 +230,7 @@ ossl_x509extfactory_create_ext_from_array(VALUE self, VALUE ary) } if (!(ext = X509V3_EXT_conf_nid(NULL, ctx, nid, value))) { OPENSSL_free(value); - OSSL_Raise(eX509ExtError, ""); + ossl_raise(eX509ExtError, ""); } OPENSSL_free(value); @@ -259,11 +259,11 @@ ossl_x509ext_to_a(VALUE obj) rb_ary_push(ary, rb_str_new2(OBJ_nid2sn(nid))); if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eX509ExtError, ""); + ossl_raise(eX509ExtError, ""); } if (!X509V3_EXT_print(out, ext, 0, 0)) { BIO_free(out); - OSSL_Raise(eX509ExtError, ""); + ossl_raise(eX509ExtError, ""); } BIO_get_mem_ptr(out, &buf); value = rb_str_new(buf->data, buf->length); diff --git a/ossl_x509name.c b/ossl_x509name.c index d26fa87..49626b3 100644 --- a/ossl_x509name.c +++ b/ossl_x509name.c @@ -13,14 +13,14 @@ #define WrapX509Name(klass, obj, name) do { \ if (!name) { \ - rb_raise(rb_eRuntimeError, "Name wasn't initialized."); \ + ossl_raise(rb_eRuntimeError, "Name wasn't initialized."); \ } \ obj = Data_Wrap_Struct(klass, 0, X509_NAME_free, name); \ } while (0) #define GetX509Name(obj, name) do { \ Data_Get_Struct(obj, X509_NAME, name); \ if (!name) { \ - rb_raise(rb_eRuntimeError, "Name wasn't initialized."); \ + ossl_raise(rb_eRuntimeError, "Name wasn't initialized."); \ } \ } while (0) #define SafeGetX509Name(obj, name) do { \ @@ -49,7 +49,7 @@ ossl_x509name_new(X509_NAME *name) new = X509_NAME_dup(name); } if (!new) { - OSSL_Raise(eX509NameError, ""); + ossl_raise(eX509NameError, ""); } WrapX509Name(cX509Name, obj, new); @@ -64,7 +64,7 @@ ossl_x509name_get_X509_NAME(VALUE obj) SafeGetX509Name(obj, name); if (!(new = X509_NAME_dup(name))) { - OSSL_Raise(eX509NameError, ""); + ossl_raise(eX509NameError, ""); } return new; } @@ -86,14 +86,14 @@ ossl_x509name_hash_i(VALUE key, VALUE value, X509_NAME *name) if (!(id = OBJ_ln2nid(RSTRING(key)->ptr))) { if (!(id = OBJ_sn2nid(RSTRING(key)->ptr))) { X509_NAME_free(name); - OSSL_Raise(eX509NameError, "OBJ_name2nid:"); + ossl_raise(eX509NameError, "OBJ_name2nid:"); } } type = ASN1_PRINTABLE_type(RSTRING(value)->ptr, -1); if (!X509_NAME_add_entry_by_NID(name, id, type, RSTRING(value)->ptr, RSTRING(value)->len, -1, 0)) { X509_NAME_free(name); - OSSL_Raise(eX509NameError, ""); + ossl_raise(eX509NameError, ""); } return ST_CONTINUE; } @@ -107,7 +107,7 @@ ossl_x509name_s_new_from_hash(VALUE klass, VALUE hash) Check_Type(hash, T_HASH); if (!(name = X509_NAME_new())) { - OSSL_Raise(eX509NameError, ""); + ossl_raise(eX509NameError, ""); } st_foreach(RHASH(hash)->tbl, ossl_x509name_hash_i, name); @@ -139,10 +139,10 @@ ossl_x509name_to_h(VALUE self) for (i=0; iobject)) { - OSSL_Raise(eX509NameError, ""); + ossl_raise(eX509NameError, ""); } short_name = OBJ_nid2sn(OBJ_ln2nid(long_name)); diff --git a/ossl_x509req.c b/ossl_x509req.c index ade0db5..9b63d98 100644 --- a/ossl_x509req.c +++ b/ossl_x509req.c @@ -12,14 +12,14 @@ #define WrapX509Req(klass, obj, req) do { \ if (!req) { \ - rb_raise(rb_eRuntimeError, "Req wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "Req wasn't initialized!"); \ } \ obj = Data_Wrap_Struct(klass, 0, X509_REQ_free, req); \ } while (0) #define GetX509Req(obj, req) do { \ Data_Get_Struct(obj, X509_REQ, req); \ if (!req) { \ - rb_raise(rb_eRuntimeError, "Req wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "Req wasn't initialized!"); \ } \ } while (0) #define SafeGetX509Req(obj, req) do { \ @@ -48,7 +48,7 @@ ossl_x509req_new(X509_REQ *req) new = X509_REQ_dup(req); } if (!new) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } WrapX509Req(cX509Req, obj, new); @@ -63,7 +63,7 @@ ossl_x509req_get_X509_REQ(VALUE obj) SafeGetX509Req(obj, req); if (!(new = X509_REQ_dup(req))) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } return new; } @@ -78,7 +78,7 @@ ossl_x509req_s_allocate(VALUE klass) VALUE obj; if (!(req = X509_REQ_new())) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } WrapX509Req(klass, obj, req); @@ -95,7 +95,7 @@ ossl_x509req_initialize(int argc, VALUE *argv, VALUE self) return self; } if (!(in = BIO_new_mem_buf(StringValuePtr(buffer), -1))) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } /* * TODO: @@ -104,7 +104,7 @@ ossl_x509req_initialize(int argc, VALUE *argv, VALUE self) */ if (!PEM_read_bio_X509_REQ(in, (X509_REQ **)&DATA_PTR(self), NULL, NULL)) { BIO_free(in); - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } BIO_free(in); @@ -122,11 +122,11 @@ ossl_x509req_to_pem(VALUE self) GetX509Req(self, req); if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } if (!PEM_write_bio_X509_REQ(out, req)) { BIO_free(out); - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } BIO_get_mem_ptr(out, &buf); str = rb_str_new(buf->data, buf->length); @@ -146,11 +146,11 @@ ossl_x509req_to_text(VALUE self) GetX509Req(self, req); if (!(out = BIO_new(BIO_s_mem()))) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } if (!X509_REQ_print(out, req)) { BIO_free(out); - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } BIO_get_mem_ptr(out, &buf); str = rb_str_new(buf->data, buf->length); @@ -171,7 +171,7 @@ ossl_x509req_to_x509(VALUE self, VALUE days, VALUE key) GetX509Req(self, req); ... if (!(x509 = X509_REQ_to_X509(req, d, pkey))) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } return ossl_x509_new(x509); } @@ -199,10 +199,10 @@ ossl_x509req_set_version(VALUE self, VALUE version) GetX509Req(self, req); if ((ver = FIX2LONG(version)) < 0) { - rb_raise(eX509ReqError, "version must be >= 0!"); + ossl_raise(eX509ReqError, "version must be >= 0!"); } if (!X509_REQ_set_version(req, ver)) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } return version; } @@ -217,7 +217,7 @@ ossl_x509req_get_subject(VALUE self) GetX509Req(self, req); if (!(name = X509_REQ_get_subject_name(req))) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } subject = ossl_x509name_new(name); /*X509_NAME_free(name);*/ @@ -236,7 +236,7 @@ ossl_x509req_set_subject(VALUE self, VALUE subject) name = ossl_x509name_get_X509_NAME(subject); if (!X509_REQ_set_subject_name(req, name)) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } /*X509_NAME_free(name);*/ @@ -252,7 +252,7 @@ ossl_x509req_get_public_key(VALUE self) GetX509Req(self, req); if (!(pkey = X509_REQ_get_pubkey(req))) { /* adds reference */ - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } return ossl_pkey_new(pkey); /* NO DUP - OK */ } @@ -268,7 +268,7 @@ ossl_x509req_set_public_key(VALUE self, VALUE key) pkey = GetPKeyPtr(key); /* NO NEED TO DUP */ if (!X509_REQ_set_pubkey(req, pkey)) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } return key; } @@ -286,7 +286,7 @@ ossl_x509req_sign(VALUE self, VALUE key, VALUE digest) md = ossl_digest_get_EVP_MD(digest); if (!X509_REQ_sign(req, pkey, md)) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } return self; } @@ -306,7 +306,7 @@ ossl_x509req_verify(VALUE self, VALUE key) pkey = GetPKeyPtr(key); /* NO NEED TO DUP */ if ((i = X509_REQ_verify(req, pkey)) < 0) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } if (i > 0) { return Qtrue; @@ -364,7 +364,7 @@ ossl_x509req_set_attributes(VALUE self, VALUE ary) attr = ossl_x509attr_get_X509_ATTRIBUTE(item); if (!X509_REQ_add1_attr(req, attr)) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } } return ary; @@ -378,7 +378,7 @@ ossl_x509req_add_attribute(VALUE self, VALUE attr) GetX509Req(self, req); if (!X509_REQ_add1_attr(req, ossl_x509attr_get_X509_ATTRIBUTE(attr))) { - OSSL_Raise(eX509ReqError, ""); + ossl_raise(eX509ReqError, ""); } return attr; } diff --git a/ossl_x509revoked.c b/ossl_x509revoked.c index 164f6df..66a15f1 100644 --- a/ossl_x509revoked.c +++ b/ossl_x509revoked.c @@ -12,14 +12,14 @@ #define WrapX509Rev(klass, obj, rev) do { \ if (!rev) { \ - rb_raise(rb_eRuntimeError, "REV wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "REV wasn't initialized!"); \ } \ obj = Data_Wrap_Struct(klass, 0, X509_REVOKED_free, rev); \ } while (0) #define GetX509Rev(obj, rev) do { \ Data_Get_Struct(obj, X509_REVOKED, rev); \ if (!rev) { \ - rb_raise(rb_eRuntimeError, "REV wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "REV wasn't initialized!"); \ } \ } while (0) #define SafeGetX509Rev(obj, rev) do { \ @@ -48,7 +48,7 @@ ossl_x509revoked_new(X509_REVOKED *rev) new = X509_REVOKED_dup(rev); } if (!new) { - OSSL_Raise(eX509RevError, ""); + ossl_raise(eX509RevError, ""); } WrapX509Rev(cX509Rev, obj, new); @@ -63,7 +63,7 @@ ossl_x509revoked_get_X509_REVOKED(VALUE obj) SafeGetX509Rev(obj, rev); if (!(new = X509_REVOKED_dup(rev))) { - OSSL_Raise(eX509RevError, ""); + ossl_raise(eX509RevError, ""); } return new; } @@ -78,7 +78,7 @@ ossl_x509revoked_s_allocate(VALUE klass) VALUE obj; if (!(rev = X509_REVOKED_new())) { - OSSL_Raise(eX509RevError, ""); + ossl_raise(eX509RevError, ""); } WrapX509Rev(klass, obj, rev); @@ -110,7 +110,7 @@ ossl_x509revoked_set_serial(VALUE self, VALUE serial) GetX509Rev(self, rev); if (!ASN1_INTEGER_set(rev->serialNumber, NUM2INT(serial))) { - OSSL_Raise(eX509RevError, ""); + ossl_raise(eX509RevError, ""); } return serial; } @@ -136,7 +136,7 @@ ossl_x509revoked_set_time(VALUE self, VALUE time) sec = time_to_time_t(time); if (!ASN1_UTCTIME_set(rev->revocationDate, sec)) { - OSSL_Raise(eX509RevError, ""); + ossl_raise(eX509RevError, ""); } return time; } @@ -196,7 +196,7 @@ ossl_x509revoked_set_extensions(VALUE self, VALUE ary) ext = ossl_x509ext_get_X509_EXTENSION(item); if(!X509_REVOKED_add_ext(rev, ext, -1)) { - OSSL_Raise(eX509RevError, ""); + ossl_raise(eX509RevError, ""); } } return ary; @@ -210,7 +210,7 @@ ossl_x509revoked_add_extension(VALUE self, VALUE ext) GetX509Rev(self, rev); if(!X509_REVOKED_add_ext(rev, ossl_x509ext_get_X509_EXTENSION(ext), -1)) { - OSSL_Raise(eX509RevError, ""); + ossl_raise(eX509RevError, ""); } return ext; } diff --git a/ossl_x509store.c b/ossl_x509store.c index 58ee712..ed99e2a 100644 --- a/ossl_x509store.c +++ b/ossl_x509store.c @@ -15,7 +15,7 @@ #define GetX509Store(obj, storep) do { \ Data_Get_Struct(obj, ossl_x509store, storep); \ if (!storep) { \ - rb_raise(rb_eRuntimeError, "STORE wasn't initialized!"); \ + ossl_raise(rb_eRuntimeError, "STORE wasn't initialized!"); \ } \ } while (0); @@ -66,7 +66,7 @@ ossl_x509store_new(X509_STORE_CTX *ctx) */ /* if (!(ctx2 = X509_STORE_CTX_new())) { - OSSL_Raise(eX509StoreError, ""); + ossl_raise(eX509StoreError, ""); } X509_STORE_CTX_init(ctx2, X509_STORE_dup(ctx->ctx), X509_dup(ctx->cert), NULL); */ @@ -135,7 +135,7 @@ ossl_session_db_set(void *key, VALUE data) } if (!(item = (ossl_session_db *)OPENSSL_malloc(sizeof(ossl_session_db)))) { rb_thread_critical = 0; - OSSL_Raise(eX509StoreError, ""); + ossl_raise(eX509StoreError, ""); } item->key = key; item->data = data; @@ -172,10 +172,10 @@ ossl_x509store_initialize(int argc, VALUE *argv, VALUE self) GetX509Store(self, storep); if (!(store = X509_STORE_new())) { - OSSL_Raise(eX509StoreError, ""); + ossl_raise(eX509StoreError, ""); } if (!(storep->store = X509_STORE_CTX_new())) { - OSSL_Raise(eX509StoreError, ""); + ossl_raise(eX509StoreError, ""); } X509_STORE_set_verify_cb_func(store, ossl_x509store_verify_cb); /* OpenSSL 0.9.6c @@ -202,7 +202,7 @@ ossl_x509store_add_trusted(VALUE self, VALUE cert) x509 = DupX509CertPtr(cert); /* DUP NEEDED!!! */ if (!X509_STORE_add_cert(storep->store->ctx, x509)) { - OSSL_Raise(eX509StoreError, ""); + ossl_raise(eX509StoreError, ""); } return cert; } @@ -249,7 +249,7 @@ ossl_x509store_add_crl(VALUE self, VALUE crlst) if (!X509_STORE_add_crl(storep->store->ctx, crl)) { X509_CRL_free(crl); - OSSL_Raise(eX509StoreError, ""); + ossl_raise(eX509StoreError, ""); } X509_CRL_free(crl); @@ -385,7 +385,7 @@ ossl_x509store_set_default_paths(VALUE self) GetX509Store(self, storep); if (!X509_STORE_set_default_paths(storep->store->ctx)) { - OSSL_Raise(eX509StoreError, ""); + ossl_raise(eX509StoreError, ""); } return self; @@ -401,7 +401,7 @@ ossl_x509store_load_locations(VALUE self, VALUE path) Check_SafeStr(path); if (!X509_STORE_load_locations(storep->store->ctx, NULL, RSTRING(path)->ptr)) { - OSSL_Raise(eX509StoreError, ""); + ossl_raise(eX509StoreError, ""); } return self; -- cgit v1.2.3