diff options
author | rhe <rhe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-06-05 12:38:34 +0000 |
---|---|---|
committer | rhe <rhe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-06-05 12:38:34 +0000 |
commit | 9199bec9e85efdcead79cfb19f867e87bb9f48b9 (patch) | |
tree | 7964e57a056a80cb25f6468970c2a7cd935c393e /ext/openssl/ossl_rand.c | |
parent | 8ba27d7312f811930d9676e4c5c574e411b00ea7 (diff) | |
download | ruby-9199bec9e85efdcead79cfb19f867e87bb9f48b9.tar.gz |
openssl: check existence of RAND_pseudo_bytes()
* ext/openssl/extconf.rb: Check if RAND_pseudo_bytes() is usable. It is
marked as deprecated in OpenSSL 1.1.0.
[ruby-core:75225] [Feature #12324]
* ext/openssl/ossl_rand.c: Disable Random.pseudo_bytes if
RAND_pseudo_bytes() is unavailable.
* test/openssl/test_random.rb: Don't test Random.pseudo_bytes if not
defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/openssl/ossl_rand.c')
-rw-r--r-- | ext/openssl/ossl_rand.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/openssl/ossl_rand.c b/ext/openssl/ossl_rand.c index 3a300d5ecf..ff07a41bfc 100644 --- a/ext/openssl/ossl_rand.c +++ b/ext/openssl/ossl_rand.c @@ -124,6 +124,7 @@ ossl_rand_bytes(VALUE self, VALUE len) return str; } +#if defined(HAVE_RAND_PSEUDO_BYTES) /* * call-seq: * pseudo_bytes(length) -> string @@ -151,6 +152,7 @@ ossl_rand_pseudo_bytes(VALUE self, VALUE len) return str; } +#endif #ifdef HAVE_RAND_EGD /* @@ -224,7 +226,9 @@ Init_ossl_rand(void) rb_define_module_function(mRandom, "load_random_file", ossl_rand_load_file, 1); rb_define_module_function(mRandom, "write_random_file", ossl_rand_write_file, 1); rb_define_module_function(mRandom, "random_bytes", ossl_rand_bytes, 1); +#if defined(HAVE_RAND_PSEUDO_BYTES) rb_define_module_function(mRandom, "pseudo_bytes", ossl_rand_pseudo_bytes, 1); +#endif #ifdef HAVE_RAND_EGD rb_define_module_function(mRandom, "egd", ossl_rand_egd, 1); rb_define_module_function(mRandom, "egd_bytes", ossl_rand_egd_bytes, 2); |