pgsql: Fix handling of OpenSSL's SSL_clear_options - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: Fix handling of OpenSSL's SSL_clear_options
Date
Msg-id E1id6ts-0005tr-63@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix handling of OpenSSL's SSL_clear_options

This function is supported down to OpenSSL 0.9.8, which is the oldest
version supported since 593d4e4 (from Postgres 10 onwards), and is used
since e3bdb2d (from 11 onwards).  It is defined as a macro from OpenSSL
0.9.8 to 1.0.2, and as a function in 1.1.0 and newer versions.  However,
the configure check present is only adapted for functions.  So, even if
the code would be able to compile, configure fails to detect the macro,
causing it to be ignored when compiling the code with OpenSSL from 0.9.8
to 1.0.2.

The code needs a configure check as per a364dfa, which has fixed a
compilation issue with a past version of LibreSSL in NetBSD 5.1.  On
HEAD, just remove the configure check as the last release of NetBSD 5 is
from 2014 (and we have no more buildfarm members for it).  In 11 and 12,
improve the configure logic so as both macros and functions are
correctly detected.  This makes NetBSD 5 still work on already-released
branches, but not for 13 onwards.

The patch for HEAD is from me, and Daniel has written the version to use
for the back-branches.

Author: Michael Paquier, Daniel Gustaffson
Reviewed-by: Tom Lane
Discussion: https://postgr.es/m/20191205083252.GE5064@paquier.xyz
Discussion: https://postgr.es/m/98F7F99E-1129-41D8-B86B-FE3B1E286881@yesql.se
Backpatch-through: 11

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/902276ff1309ce30522d2b1bc343898c786ca02d

Modified Files
--------------
configure    | 39 ++++++++++++++++++++++++++++++++++++++-
configure.in | 16 +++++++++++++++-
2 files changed, 53 insertions(+), 2 deletions(-)


pgsql-committers by date:

Previous
From: Michael Paquier
Date:
Subject: pgsql: Improve some comments in pg_upgrade.c
Next
From: Tom Lane
Date:
Subject: pgsql: Disallow non-default collation in ADD PRIMARY KEY/UNIQUE USING I