summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/cbcp.c
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>1998-10-17 12:28:11 +0000
committerbrian <brian@FreeBSD.org>1998-10-17 12:28:11 +0000
commit5ed95bea1cb31aea8d4840a52b4f031fb7b034ad (patch)
tree57bdfe3cf88d5d8914f23217dbee534864a85984 /usr.sbin/ppp/cbcp.c
parentf11bbe2057de89e8e8658378d3b125ba3325192a (diff)
downloadFreeBSD-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.c12
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);
OpenPOWER on IntegriCloud