Enable SSL library detection via PQsslAttribute()
authorDaniel Gustafsson <dgustafsson@postgresql.org>
Tue, 29 Mar 2022 12:02:45 +0000 (14:02 +0200)
committerDaniel Gustafsson <dgustafsson@postgresql.org>
Tue, 29 Mar 2022 12:02:45 +0000 (14:02 +0200)
commitebc8b7d4416d8e0dfb7c05132ef6182fd3daf885
tree04d15606691eb1773d9b7915fb66998ce5d6ce07
parent8cd7627c7b19c5a1bb235e7ad91b53856b101e65
Enable SSL library detection via PQsslAttribute()

Currently, libpq client code must have a connection handle
before it can query the "library" SSL attribute.  This poses
problems if the client needs to know what SSL library is in
use before constructing a connection string.

Allow PQsslAttribute(NULL, "library") to return the library
in use -- currently, just "OpenSSL" or NULL. The new behavior
is announced with the LIBPQ_HAS_SSL_LIBRARY_DETECTION feature
macro, allowing clients to differentiate between a libpq that
was compiled without SSL support and a libpq that's just too
old to tell.

Author: Jacob Champion <pchampion@vmware.com>
Reviewed-by: Robert Haas <robertmhaas@gmail.com>
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
Discussion: https://postgr.es/m/4c8b76ef434a96627170a31c3acd33cbfd6e41f1.camel@vmware.com
doc/src/sgml/libpq.sgml
src/interfaces/libpq/Makefile
src/interfaces/libpq/fe-secure-openssl.c
src/interfaces/libpq/libpq-fe.h
src/interfaces/libpq/t/002_api.pl [new file with mode: 0644]
src/interfaces/libpq/test/.gitignore
src/interfaces/libpq/test/Makefile
src/interfaces/libpq/test/testclient.c [new file with mode: 0644]