Re: Extended test coverage and docs for SSL passphrase commands
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Daniel Gustafsson <daniel@yesql.se>,
Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-11-12T14:15:20Z
Lists: pgsql-hackers
On 07.11.25 21:26, Daniel Gustafsson wrote: > When I was writing tests for the SSL SNI patch [0] I realized that the current > tests for ssl passphrase commands aren't fully exercising the feature, so I > extended them to better understand how it works. Attached is an extended set > of tests for passphrase protected keys where connection and reloads are tested > as well as their different characteristics on Windows. > > The patchset also contains a small doc addition which documents the fact that > passphrase command reloading must be on when running on Windows (EXEC_BACKEND) > since every backend will issue a SSL configuration reload. Your test code conflates $windows_os with EXEC_BACKEND. It should work to enable EXEC_BACKEND on a non-Windows system and have everything work. So I think that code needs to extract the actual EXEC_BACKEND setting somehow, instead of using the OS identity as a proxy. About the behavior that your documentation patch describes, I would like to have some kind of reflection of that in the code as well. At least a comment near default_openssl_tls_init() maybe? I haven't traced the code through, but I would be curious about what is different in an EXEC_BACKEND environment. For example, is the argument isServerStart also true if it's not a server start? Or should the setting actually be enforced directly on the GUC system?
Commits
-
doc: Clarify passphrase command reloading on Windows
- cbb69a65a7d2 17.8 landed
- eb7743e3e4f5 15.16 landed
- 9a26ff8c0e99 14.21 landed
- 54ba4a66fdc4 16.12 landed
- 2f9ec456aece 18.2 landed
- 0f4f45772c5a 19 (unreleased) landed
-
ssl: Add connection and reload tests for key passphrases
- 348020caa7be 19 (unreleased) landed
-
Add GUC to show EXEC_BACKEND state
- b3fe098d330f 19 (unreleased) landed