Fix broken scram-sha-256 authentication on big-endian machies.
authorBo Peng <pengbo@sraoss.co.jp>
Mon, 30 Jun 2025 02:57:17 +0000 (11:57 +0900)
committerBo Peng <pengbo@sraoss.co.jp>
Mon, 30 Jun 2025 02:57:17 +0000 (11:57 +0900)
commit06a3dda48c29d1b57b1acead5029469c1fdbc056
tree529e3c578894fe3efc2b1d81470dbdff3fa5e12d
parent81273c579ebb38197f2fbd1f48144f81744160e3
Fix broken scram-sha-256 authentication on big-endian machies.

When scram-sha-256 authentication is performed, a hash function
pg_sha_256_final is used. It was imported from PostgreSQL and it uses
preprocessor define WORDS_BIGENDIAN to judge host machine's
endianness. Although WORDS_BIGENDIAN should be defined while
configure, this part was missed when pg_sha_256_final (and others) was
imported from PostgreSQL. As a result, scram-sha-256 worked only in
little endian machines. This commit fixes the issue by adding
AC_C_BIGENDIAN macro to configure.ac.

Author: Tatsuo Ishii
Reported-by: Christoph Berg
Reviewed-by: pranavkaruvally
Discussion: https://github.com/pgpool/pgpool2/issues/106
Backpatch-through: v4.2
configure
configure.ac
src/include/config.h.in