Skip to content
Snippets Groups Projects
Commit 024014a4 authored by Magnus Hagander's avatar Magnus Hagander
Browse files

Don't send an empty SSPI negotiation packet at the end of the negotiation.

Fixes bug #3750
parent 4c128303
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/interfaces/libpq/fe-auth.c,v 1.133 2007/11/15 21:14:46 momjian Exp $ * $PostgreSQL: pgsql/src/interfaces/libpq/fe-auth.c,v 1.134 2007/12/04 13:02:53 mha Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -618,11 +618,18 @@ pg_SSPI_continue(PGconn *conn) ...@@ -618,11 +618,18 @@ pg_SSPI_continue(PGconn *conn)
return STATUS_ERROR; return STATUS_ERROR;
} }
if (pqPacketSend(conn, 'p', /*
outbuf.pBuffers[0].pvBuffer, outbuf.pBuffers[0].cbBuffer)) * If the negotiation is complete, there may be zero bytes to send. The server is
* at this point not expecting any more data, so don't send it.
*/
if (outbuf.pBuffers[0].cbBuffer > 0)
{ {
FreeContextBuffer(outbuf.pBuffers[0].pvBuffer); if (pqPacketSend(conn, 'p',
return STATUS_ERROR; outbuf.pBuffers[0].pvBuffer, outbuf.pBuffers[0].cbBuffer))
{
FreeContextBuffer(outbuf.pBuffers[0].pvBuffer);
return STATUS_ERROR;
}
} }
FreeContextBuffer(outbuf.pBuffers[0].pvBuffer); FreeContextBuffer(outbuf.pBuffers[0].pvBuffer);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment