summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-04-22 07:37:36 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-04-22 07:37:36 +0000
commitdadc253d7e016c497867ab9e6ec2e0ae8d77285e (patch)
tree486f49c61177cde7c9edab88480da4a1e539fbcd
parent4eba34451749f684aeb9df41acacc0475b0b071e (diff)
merge revision(s) 49576: [Backport #12288]
* 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/branches/ruby_2_2@54688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rw-r--r--ext/openssl/extconf.rb1
-rw-r--r--ext/openssl/ossl_rand.c4
-rw-r--r--version.h2
4 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5f82664eb7..3996bb5bb8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Fri Apr 22 16:37:14 2016 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]
+
Fri Apr 22 16:24:00 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (rb_cv_lgamma_r_m0): fix the condition for
diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb
index bfef82dd6e..3dd8d29009 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);
}
diff --git a/version.h b/version.h
index 8329214a7a..cad4f5173f 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
#define RUBY_VERSION "2.2.5"
#define RUBY_RELEASE_DATE "2016-04-22"
-#define RUBY_PATCHLEVEL 305
+#define RUBY_PATCHLEVEL 306
#define RUBY_RELEASE_YEAR 2016
#define RUBY_RELEASE_MONTH 4