Lines Matching refs:pam

160 	pam_stuff	*pam;  in new_start_pam()  local
177 if (authctxt->pam != NULL) { in new_start_pam()
178 fatal_remove_cleanup(&do_pam_cleanup_proc, authctxt->pam); in new_start_pam()
179 do_pam_cleanup_proc(authctxt->pam); in new_start_pam()
182 pam = xmalloc(sizeof(pam_stuff)); in new_start_pam()
183 (void) memset(pam, 0, sizeof(pam_stuff)); in new_start_pam()
197 pam->authctxt = authctxt; in new_start_pam()
198 pam->last_pam_retval = PAM_SUCCESS; in new_start_pam()
200 authctxt->pam = pam; in new_start_pam()
216 (void *) authctxt->pam); in new_start_pam()
238 authctxt->pam->h = pamh; in new_start_pam()
257 if (authctxt == NULL || authctxt->pam == NULL) in finish_userauth_do_pam()
270 if (!(authctxt->pam->state & PAM_S_DONE_ACCT_MGMT)) { in finish_userauth_do_pam()
271 retval = pam_acct_mgmt(authctxt->pam->h, 0); in finish_userauth_do_pam()
272 authctxt->pam->last_pam_retval = retval; in finish_userauth_do_pam()
279 authctxt->pam->state |= PAM_S_DONE_ACCT_MGMT; in finish_userauth_do_pam()
291 retval = pam_get_item(authctxt->pam->h, PAM_USER, (void **) &user); in finish_userauth_do_pam()
295 PAM_STRERROR(authctxt->pam->h, retval)); in finish_userauth_do_pam()
325 if (!(authctxt->pam->state & PAM_S_DONE_SETCRED)) { in finish_userauth_do_pam()
326 retval = pam_setcred(authctxt->pam->h, in finish_userauth_do_pam()
328 authctxt->pam->last_pam_retval = retval; in finish_userauth_do_pam()
331 authctxt->pam->state |= PAM_S_DONE_SETCRED; in finish_userauth_do_pam()
353 if (!(authctxt->pam->state & PAM_S_DONE_OPEN_SESSION)) { in finish_userauth_do_pam()
354 retval = pam_open_session(authctxt->pam->h, 0); in finish_userauth_do_pam()
355 authctxt->pam->last_pam_retval = retval; in finish_userauth_do_pam()
358 authctxt->pam->state |= PAM_S_DONE_OPEN_SESSION; in finish_userauth_do_pam()
434 pam_stuff *pam = (pam_stuff *) context; in do_pam_cleanup_proc() local
436 if (pam == NULL) in do_pam_cleanup_proc()
439 if (pam->authctxt != NULL && pam->authctxt->pam == pam) { in do_pam_cleanup_proc()
440 pam->authctxt->pam_retval = pam->last_pam_retval; in do_pam_cleanup_proc()
441 pam->authctxt->pam = NULL; in do_pam_cleanup_proc()
442 pam->authctxt = NULL; in do_pam_cleanup_proc()
445 if (pam->h == NULL) in do_pam_cleanup_proc()
452 pam_retval = pam_set_item(pam->h, PAM_CONV, NULL); in do_pam_cleanup_proc()
455 pam_retval, PAM_STRERROR(pam->h, pam_retval)); in do_pam_cleanup_proc()
459 if (pam->state & PAM_S_DONE_OPEN_SESSION) { in do_pam_cleanup_proc()
460 pam_retval = pam_close_session(pam->h, 0); in do_pam_cleanup_proc()
463 pam_retval, PAM_STRERROR(pam->h, pam_retval)); in do_pam_cleanup_proc()
466 if (pam->state & PAM_S_DONE_SETCRED) { in do_pam_cleanup_proc()
467 pam_retval = pam_setcred(pam->h, PAM_DELETE_CRED); in do_pam_cleanup_proc()
470 pam_retval, PAM_STRERROR(pam->h, pam_retval)); in do_pam_cleanup_proc()
476 if (pam->last_pam_retval != PAM_SUCCESS) in do_pam_cleanup_proc()
477 pam_retval = pam_end(pam->h, pam->last_pam_retval); in do_pam_cleanup_proc()
479 pam_retval = pam_end(pam->h, pam_retval); in do_pam_cleanup_proc()
481 pam_retval = pam_end(pam->h, PAM_ABORT); in do_pam_cleanup_proc()
485 pam_retval, PAM_STRERROR(pam->h, pam_retval)); in do_pam_cleanup_proc()
487 xfree(pam); in do_pam_cleanup_proc()
499 retval = pam_set_item(authctxt->pam->h, PAM_AUTHTOK, password); in auth_pam_password()
501 authctxt->pam->last_pam_retval = retval; in auth_pam_password()
505 retval = pam_authenticate(authctxt->pam->h, in auth_pam_password()
510 authctxt->pam->last_pam_retval = retval; in auth_pam_password()
533 fatal_remove_cleanup(&do_pam_cleanup_proc, authctxt->pam); in finish_pam()
534 do_pam_cleanup_proc(authctxt->pam); in finish_pam()
564 if (authctxt == NULL || authctxt->pam == NULL || in fetch_pam_environment()
565 authctxt->pam->h == NULL) in fetch_pam_environment()
568 penv = pam_getenvlist(authctxt->pam->h); in fetch_pam_environment()