IDX_CHAP
#define IDX_COUNT (IDX_CHAP + 1) /* bump this when adding cp's! */
(sp->lcp.protos & (1 << IDX_CHAP)) == 0) {
if (h->ident != sp->confid[IDX_CHAP]) {
h->ident, sp->confid[IDX_CHAP]);
sppp_state_name(sp->state[IDX_CHAP]),
if (sp->state[IDX_CHAP] == STATE_REQ_SENT ||
sp->state[IDX_CHAP] == STATE_OPENED)
if (sp->state[IDX_CHAP] == STATE_REQ_SENT) {
sppp_state_name(sp->state[IDX_CHAP]),
sp->state[IDX_CHAP] = STATE_CLOSED;
sp->fail_counter[IDX_CHAP] = 0;
sp->rst_counter[IDX_CHAP] = sp->lcp.max_configure;
if (sp->state[IDX_CHAP] != STATE_CLOSED)
sppp_state_name(sp->state[IDX_CHAP]),
sp->rst_counter[IDX_CHAP]);
if (--sp->rst_counter[IDX_CHAP] < 0)
switch (sp->state[IDX_CHAP]) {
switch (sp->state[IDX_CHAP]) {
sp->rst_counter[IDX_CHAP] = sp->lcp.max_configure;
sp->rst_counter[IDX_CHAP] = sp->lcp.max_configure;
timeout_add_sec(&sp->ch[IDX_CHAP], i);
sp->lcp.protos |= (1 << IDX_CHAP);
UNTIMEOUT(chap.TO, (void *)sp, sp->ch[IDX_CHAP]);
sp->lcp.protos &= ~(1 << IDX_CHAP);
sp->confid[IDX_CHAP] = ++sp->pp_seq;
sppp_auth_send(&chap, sp, CHAP_CHALLENGE, sp->confid[IDX_CHAP],
PPP_CHAP, IDX_CHAP, CP_AUTH, "chap",