From 974d053d7d6dc166e24f5feca3c0ceb85e6b6429 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Wed, 16 Jan 2002 18:09:14 +0000 Subject: update to sudo 1.6.4p2 --- usr.bin/sudo/getspwuid.c | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) (limited to 'usr.bin/sudo/getspwuid.c') diff --git a/usr.bin/sudo/getspwuid.c b/usr.bin/sudo/getspwuid.c index 917c822e467..8b328c7f1ea 100644 --- a/usr.bin/sudo/getspwuid.c +++ b/usr.bin/sudo/getspwuid.c @@ -84,7 +84,7 @@ #include "sudo.h" #ifndef lint -static const char rcsid[] = "$Sudo: getspwuid.c,v 1.61 2001/12/14 19:52:47 millert Exp $"; +static const char rcsid[] = "$Sudo: getspwuid.c,v 1.62 2002/01/15 23:43:59 millert Exp $"; #endif /* lint */ /* @@ -98,30 +98,9 @@ int crypt_type = INT_MAX; /* * Local functions not visible outside getspwuid.c */ -static char *sudo_getshell __P((struct passwd *)); static struct passwd *sudo_pwdup __P((struct passwd *)); -/* - * Return the user's shell based on either the SHELL environment variable - * (already assigned to user_shell) or, failing that, the passwd(5) entry. - */ -static char * -sudo_getshell(pw) - struct passwd *pw; -{ - char *pw_shell; - - if ((pw_shell = user_shell) == NULL) - pw_shell = pw->pw_shell; - - /* empty string "" means bourne shell */ - if (*pw_shell == '\0') - pw_shell = _PATH_BSHELL; - - return(pw_shell); -} - /* * Return a copy of the encrypted password for the user described by pw. * If shadow passwords are in use, look in the shadow file. @@ -236,8 +215,11 @@ sudo_pwdup(pw) local_pw->pw_class = estrdup(pw->pw_class); #endif - /* pw_shell is a special case since we overide with $SHELL */ - local_pw->pw_shell = estrdup(sudo_getshell(pw)); + /* If shell field is empty, expand to _PATH_BSHELL. */ + if (local_pw->pw_shell[0] == '\0') + local_pw->pw_shell = _PATH_BSHELL; + else + local_pw->pw_shell = estrdup(pw->pw_shell); /* pw_passwd gets a shadow password if applicable */ local_pw->pw_passwd = sudo_getepw(pw); -- cgit v1.2.3