diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-02-12 09:34:02 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-02-12 09:34:02 +0000 |
commit | 25455e611c9d7165152737989037a69c5dd3ecf1 (patch) | |
tree | 2fb00dd3163eaa0bb24f4877c59d8de75ccdcaf9 | |
parent | a6747a099379b9347fb56c9b9342b4f9d40d7680 (diff) |
openssl: check RAND_edg to support libressl
* ext/openssl/extconf.rb: check RAND_edg to support libressl.
* ext/openssl/ossl_rand.c (ossl_rand_egd): define only if RAND_edg
is available. [Fix GH-829]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ext/openssl/extconf.rb | 1 | ||||
-rw-r--r-- | ext/openssl/ossl_rand.c | 4 |
3 files changed, 12 insertions, 0 deletions
@@ -1,3 +1,10 @@ +Thu Feb 12 18:34:01 2015 multisnow <infinity.blick.winkel@gmail.com> + + * ext/openssl/extconf.rb: check RAND_edg to support libressl. + + * ext/openssl/ossl_rand.c (ossl_rand_egd): define only if RAND_edg + is available. [Fix GH-829] + Thu Feb 12 10:46:14 2015 Eric Hodel <drbrain@segment7.net> * proc.c (proc_call): Improve Proc#call documentation. Patch by diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb index e272cba092..3a1fa7168d 100644 --- a/ext/openssl/extconf.rb +++ b/ext/openssl/extconf.rb @@ -87,6 +87,7 @@ have_func("HMAC_CTX_init") have_func("PEM_def_callback") have_func("PKCS5_PBKDF2_HMAC") have_func("PKCS5_PBKDF2_HMAC_SHA1") +have_func("RAND_egd") have_func("X509V3_set_nconf") have_func("X509V3_EXT_nconf_nid") have_func("X509_CRL_add0_revoked") diff --git a/ext/openssl/ossl_rand.c b/ext/openssl/ossl_rand.c index 29cbf8c3f5..27466fe233 100644 --- a/ext/openssl/ossl_rand.c +++ b/ext/openssl/ossl_rand.c @@ -148,6 +148,7 @@ ossl_rand_pseudo_bytes(VALUE self, VALUE len) return str; } +#ifdef HAVE_RAND_EGD /* * call-seq: * egd(filename) -> true @@ -186,6 +187,7 @@ ossl_rand_egd_bytes(VALUE self, VALUE filename, VALUE len) } return Qtrue; } +#endif /* HAVE_RAND_EGD */ /* * call-seq: @@ -219,8 +221,10 @@ Init_ossl_rand(void) rb_define_module_function(mRandom, "write_random_file", ossl_rand_write_file, 1); rb_define_module_function(mRandom, "random_bytes", ossl_rand_bytes, 1); rb_define_module_function(mRandom, "pseudo_bytes", ossl_rand_pseudo_bytes, 1); +#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); +#endif /* HAVE_RAND_EGD */ rb_define_module_function(mRandom, "status?", ossl_rand_status, 0); } |