Lines Matching defs:pam

86 /* functions to read and store the pam.conf configuration file */
155 * pam_settrace - setup configuration for pam tracing
173 * PAM_DEBUG_CONF (0x0008), log pam.conf parsing.
1022 /* read initial entries from pam.conf */
1217 * Go back to not having read /etc/pam.conf
1861 /* add this fd to the pam handle */
1911 * Routines to read the pam.conf configuration file
1915 * open_pam_conf - open the pam.conf config file
1979 * close_pam_conf - close pam.conf
1991 * read_pam_conf - read in each entry in pam.conf and store info
1992 * under the pam handle.
2137 * get_pam_conf_entry - get a pam.conf entry
2141 get_pam_conf_entry(struct pam_fh *pam_fh, pam_handle_t *pamh, pamtab_t **pam)
2151 /* get the next line from pam.conf */
2153 /* no more lines in pam.conf ==> return */
2155 *pam = NULL;
2159 if ((*pam = calloc(1, sizeof (pamtab_t))) == NULL) {
2171 "pam.conf[%s] entry:\t%s", pam_trace_cname(pamh), current_line);
2176 "illegal pam.conf[%s] entry: %s: missing SERVICE NAME",
2180 if (((*pam)->pam_service = strdup(arg)) == 0) {
2188 "illegal pam.conf[%s] entry: %s: missing MODULE TYPE",
2190 (*pam)->pam_type = -1; /* 0 is a valid value */
2194 (*pam)->pam_type = PAM_AUTH_MODULE;
2196 (*pam)->pam_type = PAM_ACCOUNT_MODULE;
2198 (*pam)->pam_type = PAM_SESSION_MODULE;
2200 (*pam)->pam_type = PAM_PASSWORD_MODULE;
2204 "illegal pam.conf[%s] entry: %s: invalid module "
2206 (*pam)->pam_type = -1; /* 0 is a valid value */
2210 /* get pam flag (e.g., requisite, required, sufficient, optional) */
2213 "illegal pam.conf[%s] entry: %s: missing CONTROL FLAG",
2218 (*pam)->pam_flag = PAM_BINDING;
2220 (*pam)->pam_flag = PAM_INCLUDE;
2222 (*pam)->pam_flag = PAM_OPTIONAL;
2224 (*pam)->pam_flag = PAM_REQUIRED;
2226 (*pam)->pam_flag = PAM_REQUISITE;
2228 (*pam)->pam_flag = PAM_SUFFICIENT;
2232 "illegal pam.conf[%s] entry: %s",
2242 "illegal pam.conf[%s] entry: %s: missing MODULE PATH",
2255 if (((*pam)->module_path = malloc(len)) == NULL) {
2259 if ((*pam)->pam_flag & PAM_INCLUDE) {
2260 (void) snprintf((*pam)->module_path, len, "%s%s",
2263 (void) snprintf((*pam)->module_path, len, "%s%s%s",
2277 if (((*pam)->module_path = malloc(len)) == NULL) {
2284 (void) snprintf((*pam)->module_path, len, "%s%s%s",
2286 } else if (((*pam)->module_path = strdup(arg)) == 0) {
2305 if (((*pam)->module_argv =
2313 (*pam)->module_argv[i] = strdup(arg);
2314 if ((*pam)->module_argv[i] == NULL) {
2320 (*pam)->module_argv[argc] = NULL;
2322 (*pam)->module_argc = argc;
2325 (*pam)->pam_err = err; /* was the line truncated */
2332 if (*pam)
2333 free_pamconf(*pam);
2449 "nextline[%d:%s]: pam.conf line too long %.256s",
2462 "nextline[%d:%s]: pam.conf line too long %.256s",
2485 verify_pam_conf(pamtab_t *pam, char *service)
2487 return ((pam->pam_service == (char *)NULL) ||
2488 ((strcasecmp(pam->pam_service, service) == 0) &&
2489 ((pam->pam_type == -1) ||
2490 (pam->pam_flag == 0) ||
2491 (pam->pam_err != PAM_SUCCESS) ||
2492 (pam->module_path == (char *)NULL))));
2500 * clean_up - free allocated storage in the pam handle
2538 * free_pamconf - free memory used to store pam.conf entry
2565 * free_pam_conf_info - free memory used to store all pam.conf info
2566 * under the pam handle
2693 * The UNIX pam modules always calls __pam_get_authtok() and
2776 * retrieves a password of at most PASS_MAX length from the pam
2786 * PAM_AUTHTOK - password is taken from pam handle (PAM_AUTHTOK)
2787 * PAM_OLDAUTHTOK - password is taken from pam handle (PAM_OLDAUTHTOK)
2793 * to store it in the pam handle.
2794 * PAM_AUTHTOK: Prompt for new passwd, store in pam handle as
2796 * PAM_OLDAUTHTOK: Prompt for new passwd, store in pam handle as
2818 /* get password from pam handle item list */
2846 * Prompt for new password and save in pam handle item list