Lines Matching refs:pam
2141 get_pam_conf_entry(struct pam_fh *pam_fh, pam_handle_t *pamh, pamtab_t **pam) in get_pam_conf_entry() argument
2155 *pam = NULL; in get_pam_conf_entry()
2159 if ((*pam = calloc(1, sizeof (pamtab_t))) == NULL) { in get_pam_conf_entry()
2180 if (((*pam)->pam_service = strdup(arg)) == 0) { in get_pam_conf_entry()
2190 (*pam)->pam_type = -1; /* 0 is a valid value */ in get_pam_conf_entry()
2194 (*pam)->pam_type = PAM_AUTH_MODULE; in get_pam_conf_entry()
2196 (*pam)->pam_type = PAM_ACCOUNT_MODULE; in get_pam_conf_entry()
2198 (*pam)->pam_type = PAM_SESSION_MODULE; in get_pam_conf_entry()
2200 (*pam)->pam_type = PAM_PASSWORD_MODULE; in get_pam_conf_entry()
2206 (*pam)->pam_type = -1; /* 0 is a valid value */ in get_pam_conf_entry()
2218 (*pam)->pam_flag = PAM_BINDING; in get_pam_conf_entry()
2220 (*pam)->pam_flag = PAM_INCLUDE; in get_pam_conf_entry()
2222 (*pam)->pam_flag = PAM_OPTIONAL; in get_pam_conf_entry()
2224 (*pam)->pam_flag = PAM_REQUIRED; in get_pam_conf_entry()
2226 (*pam)->pam_flag = PAM_REQUISITE; in get_pam_conf_entry()
2228 (*pam)->pam_flag = PAM_SUFFICIENT; in get_pam_conf_entry()
2255 if (((*pam)->module_path = malloc(len)) == NULL) { in get_pam_conf_entry()
2259 if ((*pam)->pam_flag & PAM_INCLUDE) { in get_pam_conf_entry()
2260 (void) snprintf((*pam)->module_path, len, "%s%s", in get_pam_conf_entry()
2263 (void) snprintf((*pam)->module_path, len, "%s%s%s", in get_pam_conf_entry()
2277 if (((*pam)->module_path = malloc(len)) == NULL) { in get_pam_conf_entry()
2284 (void) snprintf((*pam)->module_path, len, "%s%s%s", in get_pam_conf_entry()
2286 } else if (((*pam)->module_path = strdup(arg)) == 0) { in get_pam_conf_entry()
2305 if (((*pam)->module_argv = in get_pam_conf_entry()
2313 (*pam)->module_argv[i] = strdup(arg); in get_pam_conf_entry()
2314 if ((*pam)->module_argv[i] == NULL) { in get_pam_conf_entry()
2320 (*pam)->module_argv[argc] = NULL; in get_pam_conf_entry()
2322 (*pam)->module_argc = argc; in get_pam_conf_entry()
2325 (*pam)->pam_err = err; /* was the line truncated */ in get_pam_conf_entry()
2332 if (*pam) in get_pam_conf_entry()
2333 free_pamconf(*pam); in get_pam_conf_entry()
2485 verify_pam_conf(pamtab_t *pam, char *service) in verify_pam_conf() argument
2487 return ((pam->pam_service == (char *)NULL) || in verify_pam_conf()
2488 ((strcasecmp(pam->pam_service, service) == 0) && in verify_pam_conf()
2489 ((pam->pam_type == -1) || in verify_pam_conf()
2490 (pam->pam_flag == 0) || in verify_pam_conf()
2491 (pam->pam_err != PAM_SUCCESS) || in verify_pam_conf()
2492 (pam->module_path == (char *)NULL)))); in verify_pam_conf()