1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-24 00:23:06 +03:00

Define OPENSSL_API_COMPAT

This avoids deprecation warnings from newer OpenSSL versions (3.0.0 in
particular).

This has been originally applied as 4d3db13 for v14 and newer versions,
but not on the older branches out of caution, and this commit closes the
gap to remove all these deprecation warnings in all the branches still
supported.

OPENSSL_API_COMPAT's value is set based on the oldest version of OpenSSL
supported on a branch: 1.0.1 for Postgres 13 and 0.9.8 for Postgres 11
and 12.

Reviewed-by: Daniel Gustafsson
Discussion: https://postgr.es/m/FEF81714-D479-4512-839B-C769D2605F8A@yesql.se
Discussion: https://postgr.es/m/ZJJmOH+hIOSoesux@paquier.xyz
Backpatch-through: 11
This commit is contained in:
Peter Eisentraut
2020-07-19 12:14:42 +02:00
committed by Michael Paquier
parent 973c41567f
commit 96f96398d3
5 changed files with 25 additions and 2 deletions

View File

@@ -151,6 +151,8 @@ sub GenerateFiles
{
my $self = shift;
my $bits = $self->{platform} eq 'Win32' ? 32 : 64;
my $openssl_api_compat;
my $ac_define_openssl_api_compat_found = 0;
# Parse configure.in to get version numbers
open(my $c, '<', "configure.in")
@@ -167,10 +169,15 @@ sub GenerateFiles
$self->{numver} = sprintf("%d%04d", $1, $2 ? $2 : 0);
$self->{majorver} = sprintf("%d", $1);
}
elsif (/\bAC_DEFINE\(OPENSSL_API_COMPAT, \[([0-9xL]+)\]/)
{
$ac_define_openssl_api_compat_found = 1;
$openssl_api_compat = $1;
}
}
close($c);
confess "Unable to parse configure.in for all variables!"
if ($self->{strver} eq '' || $self->{numver} eq '');
if ($self->{strver} eq '' || $self->{numver} eq '' || $ac_define_openssl_api_compat_found == 0);
if (IsNewer("src/include/pg_config_os.h", "src/include/port/win32.h"))
{
@@ -254,6 +261,7 @@ sub GenerateFiles
if ($self->{options}->{openssl})
{
print $o "#define USE_OPENSSL 1\n";
print $o "#define OPENSSL_API_COMPAT $openssl_api_compat\n";
my ($digit1, $digit2, $digit3) = $self->GetOpenSSLVersion();