diff options
author | Stefan Sperling <stsp@apache.org> | 2015-04-18 17:03:47 +0000 |
---|---|---|
committer | Stefan Sperling <stsp@apache.org> | 2015-04-18 17:03:47 +0000 |
commit | 0f10bfb7f0449795750b7878cd8e272f870bb792 (patch) | |
tree | 2f675860f5aa114a577595f64732c653a2cca895 | |
parent | 4c43036c9e0de08a54fe6a31b409acc23fe6a590 (diff) | |
download | httpd-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.m4 | 2 | ||||
-rw-r--r-- | modules/ssl/ssl_engine_rand.c | 2 |
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; |