• Michael Paquier's avatar
    Fix handling of OpenSSL's SSL_clear_options · 7d0bcb04
    Michael Paquier authored
    This function is supported down to OpenSSL 0.9.8, which is the oldest
    version supported since 593d4e47 (from Postgres 10 onwards), and is used
    since e3bdb2d9 (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 a364dfa4, 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
    7d0bcb04
configure 551 KB