Hi all, (Moved the discussion to -hackers) On Mon, Sep 28, 2020 at 03:48:12AM +0000, Michael Paquier wrote: > Change SHA2 implementation based on OpenSSL to use EVP digest routines > > The use of low-level hash routines is not recommended by upstream > OpenSSL since 2000, and pgcrypto already switched to EVP as of 5ff4a67. > Note that this also fixes a failure with SCRAM authentication when using > FIPS in OpenSSL, but as there have been few complaints about this > problem and as this causes an ABI breakage, no backpatch is done.
It looks like this commit has broken prairiedog as follows: https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=prairiedog&dt=2020-09-28%2005%3A45%3A55 ld: common symbols not allowed with MH_DYLIB output format with the -multi_module option ../../../src/common/libpgcommon_shlib.a(logging_shlib.o) definition of common ___pg_log_level (size 4) Looking around, I have found a similar report from MacPorts and 10.4, leading to the fact that it may be better to initialize __pg_log_level: https://trac.macports.org/ticket/19829 This has visibly not popped up until now because jsonapi.c, controldata_utils.c and file_utils.c are not getting used by libpq, though libpgcommon_shlib.a includes them. And libpq uses fe-auth-scram.c, that itself depends scram-common.c, and then depends on the SHA2 routines. Shouldn't __pg_log_level be initialized in logging.c? -- Michael
signature.asc
Description: PGP signature