mirror of
https://github.com/postgres/postgres.git
synced 2025-07-05 07:21:24 +03:00
Clean up pg_SSPI_error() coding a little bit: make the messages more
consistent, translate where intended, const-ify declarations. Resolves a gripe from Alvaro as well as some stuff I didn't like.
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/interfaces/libpq/fe-auth.c,v 1.140 2009/01/13 10:43:21 mha Exp $
|
||||
* $PostgreSQL: pgsql/src/interfaces/libpq/fe-auth.c,v 1.141 2009/03/22 18:06:35 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -472,13 +472,13 @@ pg_GSS_startup(PGconn *conn)
|
||||
*/
|
||||
|
||||
static void
|
||||
pg_SSPI_error(PGconn *conn, char *mprefix, SECURITY_STATUS r)
|
||||
pg_SSPI_error(PGconn *conn, const char *mprefix, SECURITY_STATUS r)
|
||||
{
|
||||
char sysmsg[256];
|
||||
|
||||
if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, r, 0,
|
||||
sysmsg, sizeof(sysmsg), NULL) == 0)
|
||||
printfPQExpBuffer(&conn->errorMessage, "%s: sspi error %x",
|
||||
printfPQExpBuffer(&conn->errorMessage, "%s: SSPI error %x",
|
||||
mprefix, (unsigned int) r);
|
||||
else
|
||||
printfPQExpBuffer(&conn->errorMessage, "%s: %s (%x)",
|
||||
@ -623,10 +623,18 @@ pg_SSPI_startup(PGconn *conn, int use_negotiate)
|
||||
return STATUS_ERROR;
|
||||
}
|
||||
|
||||
r = AcquireCredentialsHandle(NULL, use_negotiate ? "negotiate" : "kerberos", SECPKG_CRED_OUTBOUND, NULL, NULL, NULL, NULL, conn->sspicred, &expire);
|
||||
r = AcquireCredentialsHandle(NULL,
|
||||
use_negotiate ? "negotiate" : "kerberos",
|
||||
SECPKG_CRED_OUTBOUND,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
conn->sspicred,
|
||||
&expire);
|
||||
if (r != SEC_E_OK)
|
||||
{
|
||||
pg_SSPI_error(conn, "acquire credentials failed", r);
|
||||
pg_SSPI_error(conn, libpq_gettext("could not acquire SSPI credentials"), r);
|
||||
free(conn->sspicred);
|
||||
conn->sspicred = NULL;
|
||||
return STATUS_ERROR;
|
||||
|
Reference in New Issue
Block a user