Close ccp if we receive a term-ack and we're not asking for any
authorPaul Mackerras <paulus@samba.org>
Wed, 16 Aug 1995 04:15:38 +0000 (04:15 +0000)
committerPaul Mackerras <paulus@samba.org>
Wed, 16 Aug 1995 04:15:38 +0000 (04:15 +0000)
compression.

pppd/ccp.c

index 23fee58446584ece466faafcedd4155ad773feac..ae6795228c64655c07e427ae6f944213631ce7b3 100644 (file)
@@ -26,7 +26,7 @@
  */
 
 #ifndef lint
-static char rcsid[] = "$Id: ccp.c,v 1.10 1995/06/06 01:52:23 paulus Exp $";
+static char rcsid[] = "$Id: ccp.c,v 1.11 1995/08/16 04:15:38 paulus Exp $";
 #endif
 
 #include <syslog.h>
@@ -182,6 +182,14 @@ ccp_input(unit, p, len)
     fsm_input(f, p, len);
     if (oldstate == OPENED && p[0] == TERMREQ && f->state != OPENED)
        syslog(LOG_NOTICE, "Compression disabled by peer.");
+
+    /*
+     * If we get a terminate-ack and we're not asking for compression,
+     * close CCP.
+     */
+    if (oldstate == REQSENT && p[0] == TERMACK
+       && !ANY_COMPRESS(ccp_gotoptions[unit]))
+       ccp_close(unit);
 }
 
 /*