Fix fallback behavior when server sends an ERROR early at startup

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: c95d2159c1dd3f269383a9bd830e1c804dba34c8
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2024-07-26T12:00:36Z
Releases: 18.0
Fix fallback behavior when server sends an ERROR early at startup

With sslmode=prefer, the desired behavior is to completely fail the
connection attempt, *not* fall back to a plaintext connection, if the
server responds to the SSLRequest with an error ('E') response instead
of rejecting SSL with an 'N' response. This was broken in commit
05fd30c0e7.

Reported-by: Jacob Champion
Reviewed-by: Michael Paquier
Discussion: https://www.postgresql.org/message-id/CAOYmi%2Bnwvu21mJ4DYKUa98HdfM_KZJi7B1MhyXtnsyOO-PB6Ww%40mail.gmail.com
Backpatch-through: 17

Files

PathChange+/−
src/interfaces/libpq/fe-connect.c modified +17 −0

Discussion