From 0f10bfb7f0449795750b7878cd8e272f870bb792 Mon Sep 17 00:00:00 2001
From: Stefan Sperling <stsp@apache.org>
Date: Sat, 18 Apr 2015 17:03:47 +0000
Subject: [PATCH] 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
---
 acinclude.m4                  | 2 +-
 modules/ssl/ssl_engine_rand.c | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

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;
-- 
2.40.0