postgresql/src/interfaces/libpq
Daniel Gustafsson 0b5d1fb36a Fix errormessage for missing system CA in OpenSSL 3.1
The error message for a missing or invalid system CA when using
sslrootcert=system differs based on the OpenSSL version used.

In OpenSSL 1.0.1-3.0 it is reported as SSL Error, with varying
degrees of helpfulness in the error message. With OpenSSL 3.1 it
is reported as an SSL SYSCALL error with "Undefined error" as
the error message. This fix pulls out the particular error in
OpenSSL 3.1 as a certificate verify error in order to help the
user better figure out what happened, and to keep the ssl test
working. While there is no evidence that extracing the errors
will clobber errno, this adds a guard against that regardless
to also make the consistent with how we handle OpenSSL errors
elsewhere. It also memorizes the output from OpenSSL 3.0 in
the test in cases where the system CA isn't responding.

Reported-by: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Discussion: https://postgr.es/m/c39be3c5-c1a5-1e33-1024-16f527e251a4@enterprisedb.com
2023-04-19 12:54:58 +02:00
..
po meson: add install-{quiet, world} targets 2023-03-23 21:20:18 -07:00
t Fix various typos 2023-04-18 13:23:23 +12:00
test meson: add install-{quiet, world} targets 2023-03-23 21:20:18 -07:00
.gitignore Run tap tests in src/interfaces/libpq. 2022-02-26 16:51:47 -08:00
Makefile pkg-config Requires.private entries should be comma-separated 2023-03-16 07:37:38 +01:00
README Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
exports.txt De-Revert "Add support for Kerberos credential delegation" 2023-04-13 08:55:07 -04:00
fe-auth-sasl.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
fe-auth-scram.c Make SCRAM iteration count configurable 2023-03-27 09:46:29 +02:00
fe-auth.c De-Revert "Add support for Kerberos credential delegation" 2023-04-13 08:55:07 -04:00
fe-auth.h Make SCRAM iteration count configurable 2023-03-27 09:46:29 +02:00
fe-connect.c De-Revert "Add support for Kerberos credential delegation" 2023-04-13 08:55:07 -04:00
fe-exec.c Make SCRAM iteration count configurable 2023-03-27 09:46:29 +02:00
fe-gssapi-common.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
fe-gssapi-common.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
fe-lobj.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
fe-misc.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
fe-print.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
fe-protocol3.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
fe-secure-common.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
fe-secure-common.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
fe-secure-gssapi.c Fix various typos 2023-04-18 13:23:23 +12:00
fe-secure-openssl.c Fix errormessage for missing system CA in OpenSSL 3.1 2023-04-19 12:54:58 +02:00
fe-secure.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
fe-trace.c Fix various typos and incorrect/outdated name references 2023-04-19 13:50:33 +12:00
legacy-pqsignal.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
libpq-events.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
libpq-events.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
libpq-fe.h De-Revert "Add support for Kerberos credential delegation" 2023-04-13 08:55:07 -04:00
libpq-int.h De-Revert "Add support for Kerberos credential delegation" 2023-04-13 08:55:07 -04:00
meson.build Support connection load balancing in libpq 2023-03-29 21:53:38 +02:00
nls.mk Break up long GETTEXT_FILES lists 2023-03-08 15:05:43 +01:00
pg_service.conf.sample Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
pqexpbuffer.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pqexpbuffer.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
pthread-win32.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
win32.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
win32.h Recognize network-failure errnos as indicating hard connection loss. 2020-10-10 13:28:12 -04:00

README

src/interfaces/libpq/README

This directory contains the C version of Libpq, the POSTGRES frontend library.