Merge /users/git/mspang/libpam-csc

This commit is contained in:
David Bartley 2007-12-20 18:24:45 -05:00
commit 6c0d709cfa
1 changed files with 13 additions and 11 deletions

View File

@ -291,7 +291,9 @@ PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t* pamh, int flags, int argc, const c
/* get CSC entry */ /* get CSC entry */
WARN_ZERO( entry = ldap_first_entry(ld_csc, res_csc) ) WARN_ZERO( entry = ldap_first_entry(ld_csc, res_csc) )
values = ldap_get_values(ld_csc, entry, "term"); values = ldap_get_values(ld_csc, entry, "term");
if(!values) nmvalues = ldap_get_values(ld_csc, entry, "nonMemberTerm");
if(!values && !nmvalues)
{ {
syslog(LOG_AUTHPRIV | LOG_NOTICE, PAM_CSC_SYSLOG_NOT_A_MEMBER, syslog(LOG_AUTHPRIV | LOG_NOTICE, PAM_CSC_SYSLOG_NOT_A_MEMBER,
username); username);
@ -299,20 +301,20 @@ PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t* pamh, int flags, int argc, const c
goto cleanup; goto cleanup;
} }
nmvalues = ldap_get_values(ld_csc, entry, "nonMemberTerm");
/* iterate through term attributes */ /* iterate through term attributes */
expired = true; expired = true;
values_iter = values; if (values) {
while(*values_iter) values_iter = values;
{ while(*values_iter)
if(strcmp(*values_iter, cur_term) == 0)
{ {
/* user is registered in current term */ if(strcmp(*values_iter, cur_term) == 0)
expired = false; {
break; /* user is registered in current term */
expired = false;
break;
}
values_iter++;
} }
values_iter++;
} }
if (nmvalues) { if (nmvalues) {
values_iter = nmvalues; values_iter = nmvalues;