summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'patchsets/patches-2.2.3-r1/010-libressl.patch')
-rw-r--r--patchsets/patches-2.2.3-r1/010-libressl.patch57
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);
+ }
+