Fix GSS client to non-GSS server connection
authorStephen Frost <[email protected]>
Sat, 2 May 2020 15:39:26 +0000 (11:39 -0400)
committerStephen Frost <[email protected]>
Sat, 2 May 2020 15:39:26 +0000 (11:39 -0400)
commitb68a560f8ebfc7eed679d09facdce5512a38c9c2
tree035a3dba558caad9925ad62ccf9d84e24da2cdb4
parentd5d09692ea6b96944d24c44db1451f085b64ba09
Fix GSS client to non-GSS server connection

If the client is compiled with GSSAPI support and tries to start up GSS
with the server, but the server is not compiled with GSSAPI support, we
would mistakenly end up falling through to call ProcessStartupPacket
with secure_done = true, but the client might then try to perform SSL,
which the backend wouldn't understand and we'd end up failing the
connection with:

FATAL:  unsupported frontend protocol 1234.5679: server supports 2.0 to 3.0

Fix by arranging to track ssl_done independently from gss_done, instead
of trying to use the same boolean for both.

Author: Andrew Gierth
Discussion: https://postgr.es/m/[email protected]
Backpatch: 12-, where GSSAPI encryption was added.
src/backend/postmaster/postmaster.c