From: Karel Zak Date: Thu, 22 Nov 2012 13:45:49 +0000 (+0100) Subject: su: use get_terminal_name() for compatibility with login(1) X-Git-Tag: v2.23-rc1~502 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bbc5a5eac417a343b00c713018256d2f31befccb;p=thirdparty%2Futil-linux.git su: use get_terminal_name() for compatibility with login(1) login(1) uses tty name (!= path) in the syslog messages. Signed-off-by: Karel Zak --- diff --git a/login-utils/Makemodule.am b/login-utils/Makemodule.am index 0d8e8b1411..9edb9f4978 100644 --- a/login-utils/Makemodule.am +++ b/login-utils/Makemodule.am @@ -89,7 +89,7 @@ su_SOURCES = \ login-utils/logindefs.h su_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS) su_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS) -su_LDADD = $(LDADD) -lpam -lpam_misc +su_LDADD = $(LDADD) libcommon.la -lpam -lpam_misc endif @@ -102,7 +102,7 @@ runuser_SOURCES = \ login-utils/su-common.h \ login-utils/logindefs.c \ login-utils/logindefs.h -runuser_LDADD = $(LDADD) -lpam -lpam_misc +runuser_LDADD = $(LDADD) libcommon.la -lpam -lpam_misc endif diff --git a/login-utils/su-common.c b/login-utils/su-common.c index cd8338088d..c5e288d157 100644 --- a/login-utils/su-common.c +++ b/login-utils/su-common.c @@ -64,6 +64,7 @@ enum #include "pathnames.h" #include "env.h" #include "closestream.h" +#include "ttyutils.h" /* name of the pam configuration files. separate configs for su and su - */ #define PAM_SRVNAME_SU "su" @@ -154,8 +155,8 @@ log_syslog(struct passwd const *pw, bool successful) struct passwd *pwd = current_getpwuid(); old_user = pwd ? pwd->pw_name : ""; } - tty = ttyname (STDERR_FILENO); - if (!tty) + + if (get_terminal_name(NULL, &tty, NULL) == 0 && tty) tty = "none"; openlog (program_invocation_short_name, 0 , LOG_AUTH);