postgresql/src/interfaces/libpq
Tom Lane 5dd30bb54b 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:16:22 +01:00
t Pre-beta mechanical code beautification. 2022-05-12 15:17:30 -04:00
test Add Windows file version information to libpq/test programs. 2022-07-03 13:07:23 -07:00
.gitignore Run tap tests in src/interfaces/libpq. 2022-02-26 16:51:47 -08:00
Makefile Fix [install]check in interfaces/libpq/Makefile 2022-07-22 20:15:11 +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-sasl.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
fe-auth-scram.c Fix comment in fe-auth-scram.c 2022-11-30 08:38:27 +09:00
fe-auth.c Pre-beta mechanical code beautification. 2022-05-12 15:17:30 -04:00
fe-auth.h Improve error handling of HMAC computations 2022-01-13 16:17:21 +09:00
fe-connect.c Fix inconsistent error handling for GSS encryption in PQconnectPoll() 2023-03-13 16:36:28 +09:00
fe-exec.c Call pqPipelineFlush from PQsendFlushRequest 2023-11-08 16:44:08 +01:00
fe-gssapi-common.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
fe-gssapi-common.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
fe-lobj.c Rearrange libpq's error reporting to avoid duplicated error text. 2022-02-18 15:35:21 -05:00
fe-misc.c Move libpq's write_failed mechanism down to pqsecure_raw_write(). 2022-02-12 14:00:09 -05:00
fe-print.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
fe-protocol3.c Remove PQsendQuery support in pipeline mode 2022-09-23 18:21:22 +02:00
fe-secure-common.c Pre-beta mechanical code beautification. 2022-05-12 15:17:30 -04:00
fe-secure-common.h libpq: Allow IP address SANs in server certificates 2022-04-01 15:51:23 +02: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 Move libpq's write_failed mechanism down to pqsecure_raw_write(). 2022-02-12 14:00:09 -05:00
fe-trace.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
legacy-pqsignal.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
libpq-events.c Don't let libpq "event" procs break the state of PGresult objects. 2022-02-18 11:37:27 -05:00
libpq-events.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
libpq-fe.h Enable SSL library detection via PQsslAttribute() 2022-03-29 14:02:45 +02:00
libpq-int.h Fix timing-dependent failure in GSSAPI data transmission. 2023-11-23 13:30:18 -05:00
nls.mk Translation updates 2022-11-07 14:04:05 +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 2022 2022-01-07 19:04:57 -05:00
pqexpbuffer.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
pthread-win32.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
win32.c Update copyright for 2022 2022-01-07 19:04:57 -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.