From 04d07ffbed483660c96d3b197df28ab3b1420637 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 20 Oct 2022 16:14:29 +0200 Subject: [PATCH] Workaround egd rand source deficiencies With egd as the rand source the reseed after fork confuses the egd. Fixes #19396 Reviewed-by: Paul Dale Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/19454) (cherry picked from commit 0b3fec502298f9a16889d2507948a916416e71cf) --- test/drbgtest.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/drbgtest.c b/test/drbgtest.c index 111b9d864c0..29583b568f0 100644 --- a/test/drbgtest.c +++ b/test/drbgtest.c @@ -277,7 +277,7 @@ static int test_drbg_reseed(int expect_success, } -#if defined(OPENSSL_SYS_UNIX) +#if defined(OPENSSL_SYS_UNIX) && !defined(OPENSSL_RAND_SEED_EGD) /* number of children to fork */ #define DRBG_FORK_COUNT 9 /* two results per child, two for the parent */ @@ -895,7 +895,7 @@ err: int setup_tests(void) { ADD_TEST(test_rand_reseed); -#if defined(OPENSSL_SYS_UNIX) +#if defined(OPENSSL_SYS_UNIX) && !defined(OPENSSL_RAND_SEED_EGD) ADD_ALL_TESTS(test_rand_fork_safety, RANDOM_SIZE); #endif ADD_TEST(test_rand_prediction_resistance); -- 2.47.3