pgsql: Fix bugs in libpq's management of GSS encryption state. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix bugs in libpq's management of GSS encryption state.
Date
Msg-id E1jv0qd-0002tE-7M@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix bugs in libpq's management of GSS encryption state.

GSS-related resources should be cleaned up in pqDropConnection,
not freePGconn, else the wrong things happen when resetting
a connection or trying to switch to a different server.
It's also critical to reset conn->gssenc there.

During connection setup, initialize conn->try_gss at the correct
place, else switching to a different server won't work right.

Remove now-redundant cleanup of GSS resources around one (and, for
some reason, only one) pqDropConnection call in connectDBStart.

Per report from Kyotaro Horiguchi that psql would freeze up,
rather than successfully resetting a GSS-encrypted connection
after a server restart.

This is YA oversight in commit b0b39f72b, so back-patch to v12.

Discussion: https://postgr.es/m/20200710.173803.435804731896516388.horikyota.ntt@gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/25fe5ac45a736e50d2b85280a3cb0ce169f583f3

Modified Files
--------------
src/interfaces/libpq/fe-connect.c | 37 +++++++++----------------------------
1 file changed, 9 insertions(+), 28 deletions(-)


pgsql-committers by date:

Previous
From: Alexander Korotkov
Date:
Subject: pgsql: Improvements to psql \dAo and \dAp commands
Next
From: Alexander Korotkov
Date:
Subject: Re: pgsql: Improvements to psql \dAo and \dAp commands