From 4be18d32991e73c460ca59c43384f75419602a35 Mon Sep 17 00:00:00 2001
From: Vladimir Ivanov <ivlad@nxadi.com>
Date: Fri, 3 Aug 2018 09:44:16 +0800
Subject: [PATCH 08/19] Log UID in nologin

Sometimes getlogin() may fail, e.g., in a chroot() environment or due to NSS
misconfiguration. Loggin UID allows for investigation and troubleshooting in
such situation.
---
 src/nologin.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/nologin.c b/src/nologin.c
index 7fe8a6a2..98989d26 100644
--- a/src/nologin.c
+++ b/src/nologin.c
@@ -24,7 +24,6 @@
  * SUCH DAMAGE.
  */
 
-#include <config.h>
 
 #ident "$Id$"
 
@@ -36,6 +35,7 @@
 int main (void)
 {
 	const char *user, *tty;
+	uid_t uid;
 
 	tty = ttyname (0);
 	if (NULL == tty) {
@@ -45,8 +45,9 @@ int main (void)
 	if (NULL == user) {
 		user = "UNKNOWN";
 	}
+	uid = getuid (); /* getuid() is always successful */
 	openlog ("nologin", LOG_CONS, LOG_AUTH);
-	syslog (LOG_CRIT, "Attempted login by %s on %s", user, tty);
+	syslog (LOG_CRIT, "Attempted login by %s (UID: %d) on %s", user, uid, tty);
 	closelog ();
 
 	printf ("%s", "This account is currently not available.\n");
-- 
2.19.1

