*/
#ifndef lint
-static char rcsid[] = "$Id: fsm.c,v 1.1 1993/11/11 03:54:25 paulus Exp $";
+static char rcsid[] = "$Id: fsm.c,v 1.3 1994/05/24 11:21:10 paulus Exp $";
#endif
/*
#include <stdio.h>
#include <sys/types.h>
-/*#include <malloc.h>*/
#include <syslog.h>
#include "ppp.h"
code = (*f->callbacks->reqci)(f, inp, &len, reject_if_disagree);
} else if (len)
code = CONFREJ; /* Reject all CI */
+ else
+ code = CONFACK;
/* send the Ack, Nak or Rej to the peer */
fsm_sdata(f, code, id, inp, len);
PROTO_NAME(f), len));
return;
}
+ f->reqid = -1;
switch (f->state) {
case CLOSED:
PROTO_NAME(f), (code==CONFNAK? "Nak": "reject"), len));
return;
}
+ f->reqid = -1;
switch (f->state) {
case CLOSED:
FSMDEBUG((LOG_INFO, "fsm_rtermreq(%s): Rcvd id %d.",
PROTO_NAME(f), id));
- fsm_sdata(f, TERMACK, id, NULL, 0);
switch (f->state) {
case ACKRCVD:
case ACKSENT:
TIMEOUT(fsm_timeout, (caddr_t) f, f->timeouttime);
break;
}
+
+ fsm_sdata(f, TERMACK, id, NULL, 0);
}
/*
* Make up the request packet
*/
+ outp = outpacket_buf + DLLHEADERLEN + HEADERLEN;
if( f->callbacks->cilen && f->callbacks->addci ){
cilen = (*f->callbacks->cilen)(f);
if( cilen > peer_mru[f->unit] - HEADERLEN )
cilen = peer_mru[f->unit] - HEADERLEN;
- outp = outpacket_buf + DLLHEADERLEN + HEADERLEN;
if (f->callbacks->addci)
(*f->callbacks->addci)(f, outp, &cilen);
} else