From: Todd C. Miller Date: Sat, 25 Sep 2004 21:01:46 +0000 (+0000) Subject: Add flag to sudo_pwdup that indicates whether or not to lookup the X-Git-Tag: SUDO_1_7_0~946 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ea5307a433ba9dd89cf0adc929361da172a01c1d;p=sudo Add flag to sudo_pwdup that indicates whether or not to lookup the shadow password. Will be used to a struct passwd that has the shadow password already filled in. --- diff --git a/getspwuid.c b/getspwuid.c index cb635ab50..55afb3123 100644 --- a/getspwuid.c +++ b/getspwuid.c @@ -176,8 +176,9 @@ sudo_getepw(pw) * that we care about. Fills in pw_passwd from shadow file if necessary. */ struct passwd * -sudo_pwdup(pw) +sudo_pwdup(pw, checkshadow) const struct passwd *pw; + int checkshadow; { char *cp; const char *pw_passwd, *pw_shell; @@ -185,7 +186,7 @@ sudo_pwdup(pw) struct passwd *newpw; /* Get shadow password if available. */ - pw_passwd = sudo_getepw(pw); + pw_passwd = checkshadow ? sudo_getepw(pw) : pw->pw_passwd; /* If shell field is empty, expand to _PATH_BSHELL. */ pw_shell = (pw->pw_shell == NULL || pw->pw_shell[0] == '\0') @@ -279,7 +280,7 @@ sudo_getpwuid(uid) if ((pw = getpwuid(uid)) == NULL) return(NULL); else - return(sudo_pwdup(pw)); + return(sudo_pwdup(pw, 1)); } /* @@ -295,5 +296,5 @@ sudo_getpwnam(name) if ((pw = getpwnam(name)) == NULL) return(NULL); else - return(sudo_pwdup(pw)); + return(sudo_pwdup(pw, 1)); }