libpq: threadsafety for SSL certificate callback

Daniel Gustafsson <dgustafsson@postgresql.org>

Commit: 9122ff65a1be0fe4d55a34c6d6f7403209f326aa
Author: Daniel Gustafsson <dgustafsson@postgresql.org>
Date: 2025-11-12T11:37:40Z
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

Files

PathChange+/−
src/backend/libpq/be-secure-openssl.c modified +26 −5

Discussion