From 3f59b9c4ef75e8b73d908cdf3f7e414faeacb783 Mon Sep 17 00:00:00 2001 From: Peter Wemm Date: Sat, 29 Jul 1995 15:21:15 +0000 Subject: [PATCH] rexecd was not calling "setlogin()" when it should have. This was causing getlogin() to return wrong answers (eg: "root"). Reviewed by: davidg Obtained from: James Jegers, for NetBSD, slightly reworked by me. --- libexec/rexecd/rexecd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libexec/rexecd/rexecd.c b/libexec/rexecd/rexecd.c index cd94b68a6748..5fc36175c296 100644 --- a/libexec/rexecd/rexecd.c +++ b/libexec/rexecd/rexecd.c @@ -258,6 +258,8 @@ doit(f, fromp) pwd->pw_shell = _PATH_BSHELL; if (f > 2) (void) close(f); + if (setlogin(pwd->pw_name) < 0) + syslog(LOG_ERR, "setlogin() failed: %m"); (void) setgid((gid_t)pwd->pw_gid); initgroups(pwd->pw_name, pwd->pw_gid); (void) setuid((uid_t)pwd->pw_uid);