Remove conditional 'pwok' fallback for PAM which now

is implemented in pam_opie module

For non-PAM variant rewrite empty password checking code to do the right thing
and not disallow empty passwords in all cases.
This commit is contained in:
ache 2002-01-19 03:18:33 +00:00
parent a38e044747
commit 5d0d99723d

View File

@ -1252,23 +1252,21 @@ pass(passwd)
#ifdef USE_PAM
rval = auth_pam(&pw, passwd);
opieunlock(); /* XXX */
if (rval == 0 || (!pwok && rval > 0))
if (rval >= 0)
goto skip;
xpasswd = crypt(passwd, pw->pw_passwd);
#else /* !USE_PAM */
#endif
if (opieverify(&opiedata, passwd) == 0)
xpasswd = pw->pw_passwd;
else if (pwok)
else if (pwok) {
xpasswd = crypt(passwd, pw->pw_passwd);
else {
if (passwd[0] == '\0' && pw->pw_passwd[0] != '\0')
xpasswd = ":";
} else {
rval = 1;
goto skip;
}
#endif /* !USE_PAM */
rval = strcmp(pw->pw_passwd, xpasswd);
/* The strcmp does not catch null passwords! */
if (*pw->pw_passwd == '\0' ||
(pw->pw_expire && time(NULL) >= pw->pw_expire))
if (pw->pw_expire && time(NULL) >= pw->pw_expire)
rval = 1; /* failure */
skip:
/*