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
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/89d243d52189ad426538012e0db9aad441240e68

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

Reply via email to