Fix compilation with OpenSSL 4

OpenSSL 4.0.0 changed some parameters and returnvalues to const, so
we need to update our declarations and subsequently cast away const-
ness from a few callsites to make libpq build without warnings. This
is tested with OpenSSL 1.1.1 through 4.0.0 as well as with LibreSSL.
No functional change is introduced, this commit only allows postgres
to be compiled against OpenSSL 4.0.0 without warnings.

There is also an errormessage change in OpenSSL 4.0.0 which needed
to be covered by our testharness.

This will be backpatched to all supported branches since they are
all equally likely to be built against OpenSSL 4.0.0 as it becomes
available in distributions.  Backpatching will be done once it has
been in master for a few days without issues.

Author: Daniel Gustafsson <[email protected]>
Reviewed-by: Michael Paquier <[email protected]>
Discussion: https://postgr.es/m/[email protected]
Backpatch-through: 14

Branch
------
REL_15_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/c7f70fa1b58d0fc22a49779e1b1f30f8b7065d79

Modified Files
--------------
contrib/sslinfo/sslinfo.c                | 24 ++++++++++++------------
src/backend/libpq/be-secure-openssl.c    | 26 +++++++++++++-------------
src/interfaces/libpq/fe-secure-openssl.c |  9 +++++----
src/test/ssl/t/001_ssltests.pl           |  4 ++--
4 files changed, 32 insertions(+), 31 deletions(-)

Reply via email to