summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Sperling <stsp@apache.org>2015-04-18 17:03:47 +0000
committerStefan Sperling <stsp@apache.org>2015-04-18 17:03:47 +0000
commit0f10bfb7f0449795750b7878cd8e272f870bb792 (patch)
tree2f675860f5aa114a577595f64732c653a2cca895
parent4c43036c9e0de08a54fe6a31b409acc23fe6a590 (diff)
downloadhttpd-0f10bfb7f0449795750b7878cd8e272f870bb792.tar.gz
mod_ssl: Check for RAND_egd() at configure time and only use it if present.
Fixes the build with LibreSSL which does not provide this function. Submitted by: Bernard Spil <pil.oss gmail com>, stsp Committed by: stsp git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1674542 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--acinclude.m42
-rw-r--r--modules/ssl/ssl_engine_rand.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index dfcb3c9b03..c6ca3fe7fa 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -595,7 +595,7 @@ AC_DEFUN(APACHE_CHECK_OPENSSL,[
liberrors=""
AC_CHECK_HEADERS([openssl/engine.h])
AC_CHECK_FUNCS([SSLeay_version SSL_CTX_new], [], [liberrors="yes"])
- AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines])
+ AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines RAND_egd])
if test "x$liberrors" != "x"; then
AC_MSG_WARN([OpenSSL libraries are unusable])
fi
diff --git a/modules/ssl/ssl_engine_rand.c b/modules/ssl/ssl_engine_rand.c
index a5893e1561..3b6bf07613 100644
--- a/modules/ssl/ssl_engine_rand.c
+++ b/modules/ssl/ssl_engine_rand.c
@@ -86,6 +86,7 @@ int ssl_rand_seed(server_rec *s, apr_pool_t *p, ssl_rsctx_t nCtx, char *prefix)
nDone += ssl_rand_feedfp(p, fp, pRandSeed->nBytes);
ssl_util_ppclose(s, p, fp);
}
+#ifdef HAVE_RAND_EGD
else if (pRandSeed->nSrc == SSL_RSSRC_EGD) {
/*
* seed in contents provided by the external
@@ -95,6 +96,7 @@ int ssl_rand_seed(server_rec *s, apr_pool_t *p, ssl_rsctx_t nCtx, char *prefix)
continue;
nDone += n;
}
+#endif
else if (pRandSeed->nSrc == SSL_RSSRC_BUILTIN) {
struct {
time_t t;