Re: OpenSSL 3.0.0 compatibility

Peter Eisentraut <peter.eisentraut@2ndquadrant.com>

From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Daniel Gustafsson <daniel@yesql.se>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-07-13T07:40:25Z
Lists: pgsql-hackers
On 2020-07-07 22:52, Daniel Gustafsson wrote:
>>> where would be a good place to define
>>> OPENSSL_API_COMPAT?  The only place that's shared between frontend and
>>> backend code is c.h.  The attached patch does it that way.
>> pg_config_manual.h, perhaps?
> I don't have a strong preference.  When starting hacking on this I went for the
> quick and simple option of adding it to CFLAGS in configure.in for the time
> being since I wasn't sure where to put it.

Actually, it would be most formally correct to set it using AC_DEFINE in 
configure.in, so that configure tests see it.  It doesn't look like we 
currently have any configure tests that would really be affected, but it 
seems sensible to do it there anyway.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Commits

  1. Define OPENSSL_API_COMPAT

  2. Add alternative output for OpenSSL 3 without legacy loaded

  3. Disable OpenSSL EVP digest padding in pgcrypto

  4. pgcrypto: Check for error return of px_cipher_decrypt()

  5. OpenSSL 3.0.0 compatibility in tests

  6. Make ssl certificate for ssl_passphrase_callback test via Makefile

  7. Provide a TLS init hook