libpq: threadsafety for SSL certificate callback
authorDaniel Gustafsson <dgustafsson@postgresql.org>
Wed, 12 Nov 2025 11:37:40 +0000 (12:37 +0100)
committerDaniel Gustafsson <dgustafsson@postgresql.org>
Wed, 12 Nov 2025 11:37:40 +0000 (12:37 +0100)
commit9122ff65a1be0fe4d55a34c6d6f7403209f326aa
tree05a72e9c842abe76afe7b8ff0b96449eb81b1089
parent78aae2983091c30e4ddc801c507c17a77b6b1b58
libpq: threadsafety for SSL certificate callback

In order to make the errorhandling code in backend libpq be thread-
safe the global variable used by the certificate verification call-
back need to be replaced with passing private data.

This moves the threadsafety needle a little but forwards, the call
to strerror_r also needs to be replaced with the error buffer made
thread local.  This is left as future work for when add the thread
primitives required for this to the tree.

Author: Daniel Gustafsson <daniel@yesql.se>
Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://postgr.es/m/353226C7-97A1-4507-A380-36AA92983AE6@yesql.se
src/backend/libpq/be-secure-openssl.c