From b067cf823750f200102be0a0cad9a26a08e29a92 Mon Sep 17 00:00:00 2001
From: Vignesh C <vignesh21@gmail.com>
Date: Wed, 28 Oct 2020 08:19:06 +0530
Subject: [PATCH v2] Log message for GSS connection is missing once connection
 authorization is successful.

Log message for GSS connection is missing once connection authorization is
successful. We have similar log message for SSL connections once the connection
authorization is successful. This message will help the user to identify the
connection that was selected from the logfile.
---
 src/backend/utils/init/postinit.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c
index d4ab4c7..7980e92 100644
--- a/src/backend/utils/init/postinit.c
+++ b/src/backend/utils/init/postinit.c
@@ -267,6 +267,21 @@ PerformAuthentication(Port *port)
 								  be_tls_get_compression(port) ? _("on") : _("off"))));
 			else
 #endif
+#ifdef ENABLE_GSS
+			if (be_gssapi_get_auth(port) || be_gssapi_get_princ(port))
+				ereport(LOG,
+						(port->application_name != NULL
+						 ? errmsg("replication connection authorized: user=%s application_name=%s GSS %s (principal=%s)",
+								  port->user_name,
+								  port->application_name,
+								  be_gssapi_get_auth(port) || be_gssapi_get_enc(port) ? _("on") : _("off"),
+								  be_gssapi_get_princ(port))
+						 : errmsg("replication connection authorized: user=%s GSS %s (principal=%s)",
+								  port->user_name,
+								  be_gssapi_get_auth(port) || be_gssapi_get_enc(port) ? _("on") : _("off"),
+								  be_gssapi_get_princ(port))));
+			else
+#endif
 				ereport(LOG,
 						(port->application_name != NULL
 						 ? errmsg("replication connection authorized: user=%s application_name=%s",
@@ -295,6 +310,20 @@ PerformAuthentication(Port *port)
 								  be_tls_get_compression(port) ? _("on") : _("off"))));
 			else
 #endif
+#ifdef ENABLE_GSS
+			if (be_gssapi_get_auth(port) || be_gssapi_get_princ(port))
+				ereport(LOG,
+						(port->application_name != NULL
+						 ? errmsg("connection authorized: user=%s database=%s application_name=%s GSS %s (principal=%s)",
+								  port->user_name, port->database_name, port->application_name,
+								  be_gssapi_get_auth(port) || be_gssapi_get_enc(port) ? _("on") : _("off"),
+								  be_gssapi_get_princ(port))
+						 : errmsg("connection authorized: user=%s database=%s GSS %s (principal=%s)",
+								  port->user_name, port->database_name,
+								  be_gssapi_get_auth(port) || be_gssapi_get_enc(port) ? _("on") : _("off"),
+								  be_gssapi_get_princ(port))));
+			else
+#endif
 				ereport(LOG,
 						(port->application_name != NULL
 						 ? errmsg("connection authorized: user=%s database=%s application_name=%s",
-- 
1.8.3.1

