postgresql/src/interfaces/libpq
Tom Lane b2b1f12882 Use BIO_{get,set}_app_data instead of BIO_{get,set}_data.
We should have done it this way all along, but we accidentally got
away with using the wrong BIO field up until OpenSSL 3.2.  There,
the library's BIO routines that we rely on use the "data" field
for their own purposes, and our conflicting use causes assorted
weird behaviors up to and including core dumps when SSL connections
are attempted.  Switch to using the approved field for the purpose,
i.e. app_data.

While at it, remove our configure probes for BIO_get_data as well
as the fallback implementation.  BIO_{get,set}_app_data have been
there since long before any OpenSSL version that we still support,
even in the back branches.

Also, update src/test/ssl/t/001_ssltests.pl to allow for a minor
change in an error message spelling that evidently came in with 3.2.

Tristan Partin and Bo Andreson.  Back-patch to all supported branches.

Discussion: https://postgr.es/m/CAN55FZ1eDDYsYaL7mv+oSLUij2h_u6hvD4Qmv-7PK7jkji0uyQ@mail.gmail.com
2023-11-28 12:34:03 -05:00
..
po Translation updates 2023-11-06 13:19:51 +01:00
test Remove extraneous newlines added by perl copyright patch 2021-05-07 11:37:37 -04:00
.gitignore Move wchar.c and encnames.c to src/common/. 2020-01-16 15:58:55 -05:00
Makefile libpq: Fix pkg-config without OpenSSL 2022-04-01 17:12:56 +02:00
README Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
exports.txt Add PQsendFlushRequest to libpq 2021-06-29 14:37:39 -04:00
fe-auth-scram.c Fix comment in fe-auth-scram.c 2022-11-30 08:38:30 +09:00
fe-auth.c Revert error handling improvements for cryptohashes 2022-01-14 11:25:39 +09:00
fe-auth.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
fe-connect.c Fix inconsistent error handling for GSS encryption in PQconnectPoll() 2023-03-13 16:36:31 +09:00
fe-exec.c Call pqPipelineFlush from PQsendFlushRequest 2023-11-08 16:44:08 +01:00
fe-gssapi-common.c Don't assume GSSAPI result strings are null-terminated. 2021-06-23 14:01:32 -04:00
fe-gssapi-common.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
fe-lobj.c Remove server and libpq support for old FE/BE protocol version 2. 2021-03-04 10:45:55 +02:00
fe-misc.c Fix race condition in gettext() initialization in libpq and ecpglib. 2022-01-21 15:36:28 -05:00
fe-print.c Don't use abort(3) in libpq's fe-print.c. 2021-06-28 14:17:42 -04:00
fe-protocol3.c libpq: Improve idle state handling in pipeline mode 2022-07-05 14:21:20 +02:00
fe-secure-common.c In libpq, always append new error messages to conn->errorMessage. 2021-01-11 13:12:09 -05:00
fe-secure-common.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
fe-secure-gssapi.c Fix timing-dependent failure in GSSAPI data transmission. 2023-11-23 13:30:18 -05:00
fe-secure-openssl.c Use BIO_{get,set}_app_data instead of BIO_{get,set}_data. 2023-11-28 12:34:03 -05:00
fe-secure.c Set libcrypto callbacks for all connection threads in libpq 2021-03-11 17:14:25 +09:00
fe-trace.c Rename PQtraceSetFlags() to PQsetTraceFlags(). 2021-06-10 21:56:13 -07:00
legacy-pqsignal.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
libpq-events.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
libpq-events.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
libpq-fe.h Add PQsendFlushRequest to libpq 2021-06-29 14:37:39 -04:00
libpq-int.h Fix timing-dependent failure in GSSAPI data transmission. 2023-11-23 13:30:18 -05:00
nls.mk Translation updates 2021-09-20 16:23:13 +02: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 2021 2021-01-02 13:06:25 -05:00
pqexpbuffer.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pthread-win32.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
win32.c Update copyright for 2021 2021-01-02 13:06:25 -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.