Bogus cleanup code in GSSAPI/SSPI patch

Started by Tom Lanealmost 18 years ago2 messages
#1Tom Lane
tgl@sss.pgh.pa.us

Hi Magnus,
Would you take a look at the patch I just committed in fe-connect.c?

I found out today that PQreset() wasn't working on a GSSAPI connection,
because closePGconn hadn't been patched to clear out the GSSAPI state
(resulting in "duplicate GSS authentication request" failure). I think
I fixed that but it wouldn't be bad for someone who knows that code
better to double-check. Also, I can't test the ENABLE_SSPI case,
so that needs to be looked at.

The test case I've been using is to "select 1;" in psql, then kill -9
the backend from another window, then "select 1;" again. psql should
recover and reconnect successfully.

regards, tom lane

#2Magnus Hagander
magnus@hagander.net
In reply to: Tom Lane (#1)
Re: Bogus cleanup code in GSSAPI/SSPI patch

On Mon, Jan 28, 2008 at 09:11:31PM -0500, Tom Lane wrote:

Hi Magnus,
Would you take a look at the patch I just committed in fe-connect.c?

I found out today that PQreset() wasn't working on a GSSAPI connection,
because closePGconn hadn't been patched to clear out the GSSAPI state
(resulting in "duplicate GSS authentication request" failure). I think
I fixed that but it wouldn't be bad for someone who knows that code
better to double-check. Also, I can't test the ENABLE_SSPI case,
so that needs to be looked at.

The test case I've been using is to "select 1;" in psql, then kill -9
the backend from another window, then "select 1;" again. psql should
recover and reconnect successfully.

Looks good from here.

As for the SSPI case, it actually recovered just fine with SSPI before this
patch - from how I read it there was a memory leak, though.

And I can confirm that it still works after this patch.

//Magnus