Lines Matching defs:chain
53 * Execute a module chain
61 pam_chain_t *chain;
81 /* pick a chain */
85 chain = pamh->chains[PAM_AUTH];
88 chain = pamh->chains[PAM_ACCOUNT];
92 chain = pamh->chains[PAM_SESSION];
95 chain = pamh->chains[PAM_PASSWORD];
102 for (err = fail = 0; chain != NULL; chain = chain->next) {
103 if (chain->module->func[primitive] == NULL) {
105 chain->module->path, _pam_sm_func_name[primitive]);
109 pamh->current = chain;
115 _pam_sm_func_name[primitive], chain->module->path);
117 r = (chain->module->func[primitive])(pamh, flags,
118 chain->optc, (const char **)chain->optv);
122 chain->module->path, _pam_sm_func_name[primitive],
137 if ((chain->flag == PAM_SUFFICIENT ||
138 chain->flag == PAM_BINDING) && !fail &&
155 if ((chain->flag == PAM_REQUIRED ||
156 chain->flag == PAM_BINDING) && !fail) {
163 * If a requisite module fails, terminate the chain
166 if (chain->flag == PAM_REQUISITE) {