postgresql/src/interfaces/libpq
Tom Lane efb8046827 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:24:54 +01:00
test Use perl warnings pragma consistently 2020-04-13 11:55:45 -04:00
.gitignore Move wchar.c and encnames.c to src/common/. 2020-01-16 15:58:55 -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 Fix bugs in OpenSSL hook renaming. 2020-05-16 19:44:49 -04:00
fe-auth-scram.c Fix comment in fe-auth-scram.c 2022-11-30 08:38:33 +09:00
fe-auth.c Fix capitalization of messages, per style guide 2020-05-05 08:49:52 +02:00
fe-auth.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
fe-connect.c Fix inconsistent error handling for GSS encryption in PQconnectPoll() 2023-03-13 16:36:33 +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 Update copyrights for 2020 2020-01-01 12:21:45 -05:00
fe-lobj.c Update copyrights for 2020 2020-01-01 12:21:45 -05: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-protocol2.c Clean up newlines following left parentheses 2020-01-30 13:42:14 -03: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 copyrights for 2020 2020-01-01 12:21:45 -05:00
fe-secure-common.h Update copyrights for 2020 2020-01-01 12:21:45 -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 Rename PQsetSSLKeyPassHook and friends 2020-05-16 16:20:43 -04:00
legacy-pqsignal.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
libpq-events.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
libpq-events.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
libpq-fe.h Fix bugs in OpenSSL hook renaming. 2020-05-16 19:44:49 -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 2020-09-14 13:14:53 +02:00
pg_service.conf.sample Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
pqexpbuffer.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pqexpbuffer.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pthread-win32.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
win32.c Clean up newlines following left parentheses 2020-01-30 13:42:14 -03: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.