diff options
author | brian <brian@FreeBSD.org> | 1998-10-17 12:28:11 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 1998-10-17 12:28:11 +0000 |
commit | 5ed95bea1cb31aea8d4840a52b4f031fb7b034ad (patch) | |
tree | 57bdfe3cf88d5d8914f23217dbee534864a85984 /usr.sbin/ppp/cbcp.c | |
parent | f11bbe2057de89e8e8658378d3b125ba3325192a (diff) | |
download | FreeBSD-src-5ed95bea1cb31aea8d4840a52b4f031fb7b034ad.zip FreeBSD-src-5ed95bea1cb31aea8d4840a52b4f031fb7b034ad.tar.gz |
Warn about (but process anyway) CBCP messages with an incorrect id.
Diffstat (limited to 'usr.sbin/ppp/cbcp.c')
-rw-r--r-- | usr.sbin/ppp/cbcp.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/usr.sbin/ppp/cbcp.c b/usr.sbin/ppp/cbcp.c index 5e0aef2..e2a22e5 100644 --- a/usr.sbin/ppp/cbcp.c +++ b/usr.sbin/ppp/cbcp.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cbcp.c,v 1.3 1998/10/17 12:28:08 brian Exp $ + * $Id: cbcp.c,v 1.4 1998/10/17 12:28:09 brian Exp $ */ #include <sys/types.h> @@ -629,6 +629,11 @@ cbcp_Input(struct physical *p, struct mbuf *bp) log_Printf(LogCBCP, "%s: RecvResponse(%d) state = %s\n", p->dl->name, head->id, cbcpstate(cbcp->fsm.state)); cbcp_data_Show(data); + if (cbcp->fsm.id != head->id) { + log_Printf(LogCBCP, "Warning: Expected id was %d, not %d\n", + cbcp->fsm.id, head->id); + cbcp->fsm.id = head->id; + } if (cbcp->fsm.state == CBCP_REQSENT || cbcp->fsm.state == CBCP_ACKSENT) { timer_Stop(&cbcp->fsm.timer); switch (cbcp_CheckResponse(cbcp, data)) { @@ -661,6 +666,11 @@ cbcp_Input(struct physical *p, struct mbuf *bp) log_Printf(LogCBCP, "%s: RecvAck(%d) state = %s\n", p->dl->name, head->id, cbcpstate(cbcp->fsm.state)); cbcp_data_Show(data); + if (cbcp->fsm.id != head->id) { + log_Printf(LogCBCP, "Warning: Expected id was %d, not %d\n", + cbcp->fsm.id, head->id); + cbcp->fsm.id = head->id; + } if (cbcp->fsm.state == CBCP_RESPSENT) { timer_Stop(&cbcp->fsm.timer); datalink_CBCPComplete(cbcp->p->dl); |