From d50bc5d786a4c7f4c07ce1d3cfecbf69354c3874 Mon Sep 17 00:00:00 2001
From: Daniel Gustafsson <daniel@yesql.se>
Date: Tue, 21 Jul 2020 13:57:49 +0200
Subject: [PATCH 1/2] Use RAND_poll for seeding randomness after fork

RAND_cleanup has been deprecated by OpenSSL and made into a noop
in 1.1.0, which makes calling it useless.  Fix by instead using
RAND_poll which is the recommended function.
---
 src/backend/postmaster/fork_process.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/backend/postmaster/fork_process.c b/src/backend/postmaster/fork_process.c
index def3cee37e..15d6340800 100644
--- a/src/backend/postmaster/fork_process.c
+++ b/src/backend/postmaster/fork_process.c
@@ -109,10 +109,12 @@ fork_process(void)
 		}
 
 		/*
-		 * Make sure processes do not share OpenSSL randomness state.
+		 * Make sure processes do not share OpenSSL randomness state. This is
+		 * no longer required in OpenSSL 1.1.1 and later versions, but until
+		 * we drop support for version < 1.1.1 we need to do this.
 		 */
 #ifdef USE_OPENSSL
-		RAND_cleanup();
+		RAND_poll();
 #endif
 	}
 
-- 
2.21.1 (Apple Git-122.3)

