diff options
Diffstat (limited to 'patchsets/patches-2.2.3-r1/010-libressl.patch')
-rw-r--r-- | patchsets/patches-2.2.3-r1/010-libressl.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/patchsets/patches-2.2.3-r1/010-libressl.patch b/patchsets/patches-2.2.3-r1/010-libressl.patch new file mode 100644 index 0000000..9cc40c7 --- /dev/null +++ b/patchsets/patches-2.2.3-r1/010-libressl.patch @@ -0,0 +1,57 @@ +From 25455e611c9d7165152737989037a69c5dd3ecf1 Mon Sep 17 00:00:00 2001 +From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> +Date: Thu, 12 Feb 2015 09:34:02 +0000 +Subject: [PATCH] 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 +--- + ChangeLog | 7 +++++++ + ext/openssl/extconf.rb | 1 + + ext/openssl/ossl_rand.c | 4 ++++ + 3 files changed, 12 insertions(+) + +--- a/ext/openssl/extconf.rb ++++ b/ext/openssl/extconf.rb +@@ -87,6 +87,7 @@ + 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 29cbf8c..27466fe 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); + } + |