You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.4 KiB
48 lines
1.4 KiB
From 9b5dc4cb8d5d82c31c0cda898832998c21afc303 Mon Sep 17 00:00:00 2001 |
|
From: Karel Zak <kzak@redhat.com> |
|
Date: Mon, 9 Sep 2013 12:24:01 +0200 |
|
Subject: [PATCH] su: fix lastlog and btmp logging |
|
|
|
The su(1) logging code mix ups "old" and "new" passwd structs. The |
|
result is things like |
|
|
|
Sep 9 11:50:45 x2 su: (to kzak) kzak on none |
|
|
|
in /var/log/messages. The right log entry is |
|
|
|
Sep 9 11:50:45 x2 su: (to root) kzak on pts/3 |
|
|
|
The bug has been introduced by commit c74a7af17c7a176c358dfaa8e1814786c89ebc14. |
|
|
|
References: https://bugzilla.redhat.com/show_bug.cgi?id=1005194 |
|
Signed-off-by: Karel Zak <kzak@redhat.com> |
|
--- |
|
login-utils/su-common.c | 5 +---- |
|
1 file changed, 1 insertion(+), 4 deletions(-) |
|
|
|
diff --git a/login-utils/su-common.c b/login-utils/su-common.c |
|
index ade5c92..858af01 100644 |
|
--- a/login-utils/su-common.c |
|
+++ b/login-utils/su-common.c |
|
@@ -161,7 +161,7 @@ log_syslog(struct passwd const *pw, bool successful) |
|
old_user = pwd ? pwd->pw_name : ""; |
|
} |
|
|
|
- if (get_terminal_name(STDERR_FILENO, NULL, &tty, NULL) == 0 && tty) |
|
+ if (get_terminal_name(STDERR_FILENO, NULL, &tty, NULL) != 0 || !tty) |
|
tty = "none"; |
|
|
|
openlog (program_invocation_short_name, 0 , LOG_AUTH); |
|
@@ -483,9 +483,6 @@ authenticate (const struct passwd *pw) |
|
|
|
done: |
|
|
|
- if (lpw && lpw->pw_name) |
|
- pw = lpw; |
|
- |
|
log_syslog(pw, !is_pam_failure(retval)); |
|
|
|
if (is_pam_failure(retval)) |
|
-- |
|
1.8.1.4 |
|
|
|
|