32d91f1
From b16a1ff25644bb075f454afe68ee63f6f385ca9c Mon Sep 17 00:00:00 2001
32d91f1
From: =?UTF-8?q?Petr=20Men=C5=A1=C3=ADk?= <pemensik@redhat.com>
32d91f1
Date: Wed, 23 Jan 2019 21:11:07 +0100
67a5cd8
Subject: [PATCH] Made RAND_status check optional (broke --disable-crypto-rand)
32d91f1
MIME-Version: 1.0
32d91f1
Content-Type: text/plain; charset=UTF-8
32d91f1
Content-Transfer-Encoding: 8bit
67a5cd8
32d91f1
Unlike upstream, skip it also for DHCP.
32d91f1
32d91f1
Disable RAND_status also in non-threaded builds. DHCP is built without
32d91f1
threads and should not check RAND_status on dns library initialization.
32d91f1
Lack of entropy is possible state for dhclient, but it must not fail
32d91f1
even in this case. Because DHCP itself does not require custom random
32d91f1
generator, leave default RAND_OpenSSL configured. It should help TLS
32d91f1
connection to LDAP in single DHCP binary, while keeping secure random
32d91f1
data if needed.
32d91f1
32d91f1
(modified upstream commit 8a98277811ea50035ff37b744fa3dc5b75bee099)
32d91f1
32d91f1
Signed-off-by: Petr Menšík <pemensik@redhat.com>
67a5cd8
---
67a5cd8
 lib/dns/openssl_link.c | 2 ++
67a5cd8
 1 file changed, 2 insertions(+)
67a5cd8
67a5cd8
diff --git a/lib/dns/openssl_link.c b/lib/dns/openssl_link.c
32d91f1
index 7a233dd..941eb17 100644
67a5cd8
--- a/lib/dns/openssl_link.c
67a5cd8
+++ b/lib/dns/openssl_link.c
67a5cd8
@@ -289,6 +289,7 @@ dst__openssl_init(const char *engine) {
67a5cd8
 #endif
67a5cd8
 #endif /* !defined(OPENSSL_NO_ENGINE) */
67a5cd8
 
32d91f1
+#if defined(ISC_PLATFORM_CRYPTORANDOM) && defined(ISC_PLATFORM_USETHREADS)
67a5cd8
 	/* Protect ourselves against unseeded PRNG */
67a5cd8
 	if (RAND_status() != 1) {
67a5cd8
 		FATAL_ERROR(__FILE__, __LINE__,
67a5cd8
@@ -296,6 +297,7 @@ dst__openssl_init(const char *engine) {
67a5cd8
 			    "cannot be initialized (see the `PRNG not "
67a5cd8
 			    "seeded' message in the OpenSSL FAQ)");
67a5cd8
 	}
67a5cd8
+#endif
67a5cd8
 
67a5cd8
 	return (ISC_R_SUCCESS);
67a5cd8
 
67a5cd8
-- 
67a5cd8
2.20.1
67a5cd8