From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun, 22 Mar 2009 18:06:35 +0000 (+0000)
Subject: Clean up pg_SSPI_error() coding a little bit: make the messages more
X-Git-Tag: REL8_4_BETA1~156
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=727ffa1d1ebaa9c6094a7398d317aa1e89eb404b;p=postgresql

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.
---

diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c
index f0561a5b96..625d553a79 100644
--- a/src/backend/libpq/auth.c
+++ b/src/backend/libpq/auth.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/libpq/auth.c,v 1.178 2009/01/09 10:13:18 mha Exp $
+ *	  $PostgreSQL: pgsql/src/backend/libpq/auth.c,v 1.179 2009/03/22 18:06:35 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1084,11 +1084,12 @@ pg_GSS_recvauth(Port *port)
  */
 #ifdef ENABLE_SSPI
 static void
-pg_SSPI_error(int severity, char *errmsg, SECURITY_STATUS r)
+pg_SSPI_error(int severity, const char *errmsg, SECURITY_STATUS r)
 {
 	char		sysmsg[256];
 
-	if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, r, 0, sysmsg, sizeof(sysmsg), NULL) == 0)
+	if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, r, 0,
+					  sysmsg, sizeof(sysmsg), NULL) == 0)
 		ereport(severity,
 				(errmsg_internal("%s", errmsg),
 				 errdetail("SSPI error %x", (unsigned int) r)));
@@ -1150,8 +1151,7 @@ pg_SSPI_recvauth(Port *port)
 								 &sspicred,
 								 &expiry);
 	if (r != SEC_E_OK)
-		pg_SSPI_error(ERROR,
-			   gettext_noop("could not acquire SSPI credentials handle"), r);
+		pg_SSPI_error(ERROR, _("could not acquire SSPI credentials"), r);
 
 	/*
 	 * Loop through SSPI message exchange. This exchange can consist of
@@ -1240,7 +1240,7 @@ pg_SSPI_recvauth(Port *port)
 			}
 			FreeCredentialsHandle(&sspicred);
 			pg_SSPI_error(ERROR,
-				  gettext_noop("could not accept SSPI security context"), r);
+						  _("could not accept SSPI security context"), r);
 		}
 
 		if (sspictx == NULL)
@@ -1296,7 +1296,7 @@ pg_SSPI_recvauth(Port *port)
 	{
 		FreeLibrary(secur32);
 		pg_SSPI_error(ERROR,
-			   gettext_noop("could not get security token from context"), r);
+					  _("could not get token from SSPI security context"), r);
 	}
 
 	FreeLibrary(secur32);
diff --git a/src/interfaces/libpq/fe-auth.c b/src/interfaces/libpq/fe-auth.c
index 85e3ff79cf..dd0023a64f 100644
--- a/src/interfaces/libpq/fe-auth.c
+++ b/src/interfaces/libpq/fe-auth.c
@@ -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;