pgsql: Keep current ssl_sni setting on SSL config reload failure - Mailing list pgsql-committers

From Daniel Gustafsson
Subject pgsql: Keep current ssl_sni setting on SSL config reload failure
Date
Msg-id E1xE3iY-00000000Y08-2q2M@gemulon.postgresql.org
Whole thread
List pgsql-committers
Keep current ssl_sni setting on SSL config reload failure

When reloading the SSL configuration fails, the existing config is
left in place to keep the server from being inaccessible.  The GUC
backing SNI, ssl_sni, was however changed.  This could lead to new
connections trying to access non-existing configurations.  Fix by
storing the ssl_sni setting at the time of initialization in the
hosts context and only use the stored value during the handshake.

The patch submitted by the reporter has been significantly reworked
and expanded.  Additional test cases written by Rui Zhao.

Author: Anthropic OSS program
Co-authored-by: Daniel Gustafsson <daniel@yesql.se>
Co-authored-by: Rui Zhao <zhaorui126@gmail.com>
Reported-by: Anthropic OSS program
Reviewed-by: Zsolt Parragi <zsolt.parragi@percona.com>
Reviewed-by: Jacob Champion <jacob.champion@enterprisedb.com>
Reviewed-by: Rui Zhao <zhaorui126@gmail.com>
Discussion: https://postgr.es/m/20260920211619.9c.noahmisch@microsoft.com
Backpatch-through: 19

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/72ffdffd1fcc53d6f950c35fbbe1079fbf9f15f4

Modified Files
--------------
src/backend/libpq/be-secure-openssl.c |  26 +++++-
src/test/ssl/t/004_sni.pl             | 157 +++++++++++++++++++++++++++++++++-
src/test/ssl/t/SSL/Server.pm          |   4 +
3 files changed, 184 insertions(+), 3 deletions(-)


pgsql-committers by date:

Previous
From: Etsuro Fujita
Date:
Subject: pgsql: postgres_fdw: Fix typo in server version check in AcquireSampleR
Next
From: Daniel Gustafsson
Date:
Subject: pgsql: Keep current ssl_sni setting on SSL config reload failure