Log an error if the password entry could not be

found (respect LOG_UNKFAIL_ENAB to avoid logging a password). This
fixes the Debian bug http://bugs.debian.org/451521
This commit is contained in:
nekral-guest 2007-11-17 16:05:54 +00:00
parent ca875647b9
commit 90ef765c2e
2 changed files with 15 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2007-11-17 Nicolas François <nicolas.francois@centraliens.net>
* src/login.c: Log an error if the password entry could not be
found (respect LOG_UNKFAIL_ENAB to avoid logging a password). This
fixes the Debian bug http://bugs.debian.org/451521
2007-11-17 Nicolas François <nicolas.francois@centraliens.net>
* man/useradd.8.xml: -b documenation: Use the same notation for

View File

@ -739,16 +739,22 @@ int main (int argc, char **argv)
pam_get_item (pamh, PAM_USER, (const void **) &pam_user);
setpwent ();
pwd = getpwnam (pam_user);
if (!pwd) {
SYSLOG ((LOG_ERR, "getpwnam(%s) failed",
getdef_bool ("LOG_UNKFAIL_ENAB") ?
pam_user : "UNKNOWN"));
exit (1);
}
if (fflg) {
retcode = pam_acct_mgmt (pamh, 0);
PAM_FAIL_CHECK;
}
if (!pwd || setup_groups (pwd))
if (setup_groups (pwd)) {
exit (1);
else
pwent = *pwd;
pwent = *pwd;
retcode = pam_setcred (pamh, PAM_ESTABLISH_CRED);
PAM_FAIL_CHECK;