From b35031495aa90afed7f82c55d36ceb6382e9e62a Mon Sep 17 00:00:00 2001 From: gotoyuzo Date: Fri, 25 Jul 2003 06:50:55 +0000 Subject: * ext/openssl/extconf.rb: add check for BN_rand_range() and BN_pseudo_rand_range(). * ext/openssl/ossl_bn.c (ossl_bn_s_rand_range): should raise NotImplementedError if BN_rand_range() wan not defined. * ext/openssl/ossl_bn.c (ossl_bn_s_pseudo_rand_range): should raise NotImplementedError if BN_pseudo_rand_range() wan not defined. * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_s_encrypt): avoid compiler warning for OpenSSL-0.9.6. * ext/openssl/ossl_pkcs7.c (ossl_pkcs7si_initialize): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 16 ++++++++++++++++ ext/openssl/extconf.rb | 2 ++ ext/openssl/ossl_bn.c | 17 +++++++++++++++++ ext/openssl/ossl_pkcs7.c | 4 ++-- 4 files changed, 37 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6398f78db2..8a1e4f4314 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +Fri Jul 25 15:47:39 2003 GOTOU Yuuzou + + * ext/openssl/extconf.rb: add check for BN_rand_range() and + BN_pseudo_rand_range(). + + * ext/openssl/ossl_bn.c (ossl_bn_s_rand_range): should raise + NotImplementedError if BN_rand_range() wan not defined. + + * ext/openssl/ossl_bn.c (ossl_bn_s_pseudo_rand_range): should raise + NotImplementedError if BN_pseudo_rand_range() wan not defined. + + * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_s_encrypt): avoid compiler + warning for OpenSSL-0.9.6. + + * ext/openssl/ossl_pkcs7.c (ossl_pkcs7si_initialize): ditto. + Fri Jul 25 14:34:55 2003 Yukihiro Matsumoto * ext/socket/socket.c (tcp_s_gethostbyname): was using diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb index 94b79d4428..04827ff498 100644 --- a/ext/openssl/extconf.rb +++ b/ext/openssl/extconf.rb @@ -100,6 +100,8 @@ have_func("CONF_get1_default_config_file") have_func("BN_mod_sqr") have_func("BN_mod_add") have_func("BN_mod_sub") +have_func("BN_rand_range") +have_func("BN_pseudo_rand_range") have_func("CONF_get1_default_config_file") if try_cpp("#define FOO(a, ...) foo(a, ##__VA_ARGS__)\n") $defs.push("-DHAVE_VA_ARGS_MACRO") diff --git a/ext/openssl/ossl_bn.c b/ext/openssl/ossl_bn.c index 92b43bd5d1..c59d809bae 100644 --- a/ext/openssl/ossl_bn.c +++ b/ext/openssl/ossl_bn.c @@ -472,8 +472,25 @@ BIGNUM_RAND(pseudo_rand); WrapBN(klass, obj, result); \ return obj; \ } + +#define BIGNUM_RAND_RANGE_NOT_IMPL(func) \ + static VALUE \ + ossl_bn_s_##func##_range(VALUE klass, VALUE range) \ + { \ + rb_notimplement(); \ + } + +#if defined(HAVE_BN_RAND_RANGE) BIGNUM_RAND_RANGE(rand); +#else +BIGNUM_RAND_RANGE_NOT_IMPL(rand); +#endif + +#if defined(HAVE_BN_PSEUDO_RAND_RANGE) BIGNUM_RAND_RANGE(pseudo_rand); +#else +BIGNUM_RAND_RANGE_NOT_IMPL(pseudo_rand); +#endif static VALUE ossl_bn_s_generate_prime(int argc, VALUE *argv, VALUE klass) diff --git a/ext/openssl/ossl_pkcs7.c b/ext/openssl/ossl_pkcs7.c index e8efdf4b69..c612eb43ff 100644 --- a/ext/openssl/ossl_pkcs7.c +++ b/ext/openssl/ossl_pkcs7.c @@ -226,7 +226,7 @@ ossl_pkcs7_s_encrypt(int argc, VALUE *argv, VALUE klass) BIO_free(in); rb_jump_tag(status); } - if(!(p7 = PKCS7_encrypt(x509s, in, ciph, flg))){ + if(!(p7 = PKCS7_encrypt(x509s, in, (EVP_CIPHER*)ciph, flg))){ BIO_free(in); sk_X509_pop_free(x509s, X509_free); ossl_raise(ePKCS7Error, NULL); @@ -665,7 +665,7 @@ ossl_pkcs7si_initialize(VALUE self, VALUE cert, VALUE key, VALUE digest) pkey = GetPrivPKeyPtr(key); /* NO NEED TO DUP */ x509 = GetX509CertPtr(cert); /* NO NEED TO DUP */ md = GetDigestPtr(digest); - if (!(PKCS7_SIGNER_INFO_set(p7si, x509, pkey, md))) { + if (!(PKCS7_SIGNER_INFO_set(p7si, x509, pkey, (EVP_MD*)md))) { ossl_raise(ePKCS7Error, NULL); } -- cgit v1.2.3