From 68a0e17122e69972133e25db6d01c511da7e651d Mon Sep 17 00:00:00 2001 From: Brian Somers Date: Sat, 1 Aug 1998 01:02:41 +0000 Subject: [PATCH] When we receive an LCP config REQ in Opened state, do TLD *before* processing the config request as TLD initialises the peers LCP values. It's strange that an IRC isn't required here - but I'll bow to the wisdom of the rfc. --- usr.sbin/ppp/fsm.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/usr.sbin/ppp/fsm.c b/usr.sbin/ppp/fsm.c index 4888e090712a..dc5913fea4ed 100644 --- a/usr.sbin/ppp/fsm.c +++ b/usr.sbin/ppp/fsm.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: fsm.c,v 1.34 1998/06/27 23:48:43 brian Exp $ + * $Id: fsm.c,v 1.35 1998/06/30 23:04:15 brian Exp $ * * TODO: */ @@ -488,6 +488,10 @@ FsmRecvConfigReq(struct fsm *fp, struct fsmheader *lhp, struct mbuf *bp) case ST_STOPPING: mbuf_Free(bp); return; + case ST_OPENED: + (*fp->fn->LayerDown)(fp); + (*fp->parent->LayerDown)(fp->parent->object, fp); + break; } dec.ackend = dec.ack; @@ -501,13 +505,11 @@ FsmRecvConfigReq(struct fsm *fp, struct fsmheader *lhp, struct mbuf *bp) ackaction = 1; switch (fp->state) { - case ST_OPENED: - (*fp->fn->LayerDown)(fp); - FsmSendConfigReq(fp); - (*fp->parent->LayerDown)(fp->parent->object, fp); - break; case ST_STOPPED: FsmInitRestartCounter(fp); + /* Fall through */ + + case ST_OPENED: FsmSendConfigReq(fp); break; }