From 217f567187a9b1d32019666151d702c87332c72b Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 16 Feb 2001 12:12:41 +1100 Subject: - (djm) Set "login ID" on systems with setluid. Only enabled for SCO OpenServer for now. Based on patch from svaughan --- session.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'session.c') diff --git a/session.c b/session.c index 8f3ee834e..47ef8b9c7 100644 --- a/session.c +++ b/session.c @@ -881,7 +881,6 @@ void do_pam_environment(char ***env, int *envsize) } #endif /* USE_PAM */ - #ifdef HAVE_CYGWIN void copy_environment(char ***env, int *envsize) { @@ -1118,6 +1117,12 @@ do_child(const char *command, struct passwd * pw, const char *term, } #endif /* HAVE_OSF_SIA */ +#if defined(HAVE_GETLUID) && defined(HAVE_SETLUID) + /* Sets login uid for accounting */ + if (getluid() == -1 && setluid(pw->pw_uid) == -1) + error("setluid: %s", strerror(errno)); +#endif /* defined(HAVE_GETLUID) && defined(HAVE_SETLUID) */ + #ifdef HAVE_CYGWIN if (is_winnt) #endif -- cgit v1.2.3