login(1) uses tty name (!= path) in the syslog messages.
Signed-off-by: Karel Zak <kzak@redhat.com>
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
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
#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"
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);