Add pg_strong_random_init function to initialize random number generator
authorMagnus Hagander <magnus@hagander.net>
Fri, 6 Nov 2020 12:21:28 +0000 (13:21 +0100)
committerMagnus Hagander <magnus@hagander.net>
Fri, 6 Nov 2020 12:21:28 +0000 (13:21 +0100)
commit5ee180a3947060b98284a935f26f92c71d698f7c
tree1444d1ad7c5f982cd1e4bb53226d190e9448baa3
parent4f841ce3f7f4d429a3a275f82745d63c78cde4b2
Add pg_strong_random_init function to initialize random number generator

Currently only OpenSSL requires this initialization, but in the future
other SSL implementations are likely to need it as well. Abstracting
this functionality out into a separate function makes this cleaner and
more clear, and also removes the dependency on OpenSSL headers from
fork_process.c.

OpenSSL is special in that we need to initialize this random number
generator even if we're not going to use it directly, until we drop
support for everything prior to OpenSSL 1.1.1. (And of course also if we
actually use it). All other implementations are left empty at this time,
but more are expected to be added in the future.

Author: Daniel Gustafsson <daniel@yesql.se>, Michael Paquier <michael@paquier.xyz>
Reviewed-By: Magnus Hagander <magnus@hagander.net>
Discussion: https://postgr.es/m/F6291C3C-747C-4C93-BCE0-28BB420B1FF5@yesql.se
src/backend/postmaster/fork_process.c
src/include/port.h
src/port/pg_strong_random.c