postgresql/src/interfaces/libpq
Tom Lane 0bd682246a 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:27:02 +01:00
test Update copyright for 2019 2019-01-02 12:44:25 -05:00
.gitignore Add .gitignore entry for a derived file created by "make distprep". 2019-01-10 14:20:28 -05:00
Makefile Allow ecpg to be built stand-alone, allow parallel libpq make 2020-03-31 14:17:32 -04:00
README Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
exports.txt Put back pqsignal() as an exported libpq symbol. 2019-10-10 14:24:57 -04:00
fe-auth-scram.c Fix comment in fe-auth-scram.c 2022-11-30 08:38:36 +09:00
fe-auth.c Fix many typos and inconsistencies 2019-07-01 10:00:23 +09:00
fe-auth.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
fe-connect.c Fix inconsistent error handling for GSS encryption in PQconnectPoll() 2023-03-13 16:36:34 +09:00
fe-exec.c Add missing bad-PGconn guards in libpq entry points. 2022-08-15 15:40:07 -04: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 libpq: ccache -> credential cache 2019-09-06 09:18:31 +02:00
fe-lobj.c More unconstify use 2019-02-13 11:50:16 +01:00
fe-misc.c Fix race condition in gettext() initialization in libpq and ecpglib. 2022-01-21 15:36:29 -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-protocol2.c Restructure libpq's handling of send failures. 2019-03-19 16:20:28 -04:00
fe-protocol3.c Fix incautious handling of possibly-miscoded strings in client code. 2021-06-07 14:15:25 -04:00
fe-secure-common.c Update copyright for 2019 2019-01-02 12:44:25 -05:00
fe-secure-common.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
fe-secure-gssapi.c Fix timing-dependent failure in GSSAPI data transmission. 2023-11-23 13:30:19 -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 GSSAPI encryption support 2019-04-03 15:02:33 -04:00
legacy-pqsignal.c Put back pqsignal() as an exported libpq symbol. 2019-10-10 14:24:57 -04:00
libpq-events.c Update copyright for 2019 2019-01-02 12:44:25 -05:00
libpq-events.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
libpq-fe.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
libpq-int.h Fix timing-dependent failure in GSSAPI data transmission. 2023-11-23 13:30:19 -05:00
libpq.rc.in Stamp 12.17. 2023-11-06 17:11:55 -05:00
nls.mk Translation updates 2019-09-29 23:57:17 +02:00
pg_service.conf.sample Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
pqexpbuffer.c Fix typos. 2019-05-26 18:28:18 +05:30
pqexpbuffer.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
pthread-win32.c Update copyright for 2019 2019-01-02 12:44:25 -05:00
win32.c Update copyright for 2019 2019-01-02 12:44:25 -05:00
win32.h Remove support for bcc and msvc standalone libpq builds 2017-04-11 15:22:21 +02:00

README

src/interfaces/libpq/README

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