From ea5307a433ba9dd89cf0adc929361da172a01c1d Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Sat, 25 Sep 2004 21:01:46 +0000 Subject: [PATCH] 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. --- getspwuid.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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)); } -- 2.40.0