]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/ccp.c
fix up MD4 stuff - interface is better now
[ppp.git] / pppd / ccp.c
index f4d00eb031e05bff8786ed600057e6902ef423ff..d4e3b3c4b093ae5b3faa7c7750fe02f9236969d7 100644 (file)
  */
 
 #ifndef lint
-static char rcsid[] = "$Id: ccp.c,v 1.18 1996/09/14 05:14:36 paulus Exp $";
+static char rcsid[] = "$Id: ccp.c,v 1.21 1997/05/22 06:45:59 paulus Exp $";
 #endif
 
 #include <string.h>
 #include <syslog.h>
 #include <sys/ioctl.h>
+#include <sys/types.h>
+#include <net/ppp_defs.h>
 #include <net/ppp-comp.h>
 
 #include "pppd.h"
@@ -90,7 +92,7 @@ static int  ccp_reqci __P((fsm *, u_char *, int *, int));
 static void ccp_up __P((fsm *));
 static void ccp_down __P((fsm *));
 static int  ccp_extcode __P((fsm *, int, int, u_char *, int));
-static void ccp_rack_timeout __P(());
+static void ccp_rack_timeout __P((void *));
 static char *method_name __P((ccp_options *, ccp_options *));
 
 static fsm_callbacks ccp_callbacks = {
@@ -163,7 +165,7 @@ ccp_init(unit)
 /*
  * ccp_open - CCP is allowed to come up.
  */
-void
+static void
 ccp_open(unit)
     int unit;
 {
@@ -266,7 +268,7 @@ ccp_extcode(f, code, id, p, len)
     case CCP_RESETACK:
        if (ccp_localstate[f->unit] & RACK_PENDING && id == f->reqid) {
            ccp_localstate[f->unit] &= ~(RACK_PENDING | RREQ_REPEAT);
-           UNTIMEOUT(ccp_rack_timeout, (caddr_t) f);
+           UNTIMEOUT(ccp_rack_timeout, f);
        }
        break;
 
@@ -524,7 +526,7 @@ ccp_nakci(f, p, len)
            || p[3] != DEFLATE_CHK_SEQUENCE)
            try.deflate = 0;
        else if (DEFLATE_SIZE(p[2]) < go->deflate_size)
-           go->deflate_size = DEFLATE_SIZE(p[2]);
+           try.deflate_size = DEFLATE_SIZE(p[2]);
        p += CILEN_DEFLATE;
        len -= CILEN_DEFLATE;
     }
@@ -670,8 +672,9 @@ ccp_reqci(f, p, lenp, dont_nak)
                    if (!dont_nak) {
                        p[2] = DEFLATE_MAKE_OPT(ao->deflate_size);
                        p[3] = DEFLATE_CHK_SEQUENCE;
-                   }
-                   break;
+                       /* fall through to test this #bits below */
+                   } else
+                       break;
                }
 
                /*
@@ -708,9 +711,11 @@ ccp_reqci(f, p, lenp, dont_nak)
                if (BSD_VERSION(p[2]) != BSD_CURRENT_VERSION
                    || nb > ao->bsd_bits || nb < BSD_MIN_BITS) {
                    newret = CONFNAK;
-                   if (!dont_nak)
+                   if (!dont_nak) {
                        p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, ao->bsd_bits);
-                   break;
+                       /* fall through to test this #bits below */
+                   } else
+                       break;
                }
 
                /*
@@ -770,7 +775,7 @@ ccp_reqci(f, p, lenp, dont_nak)
 
        if (newret == CONFNAK && dont_nak)
            newret = CONFREJ;
-       if (!(newret == CONFACK || newret == CONFNAK && ret == CONFREJ)) {
+       if (!(newret == CONFACK || (newret == CONFNAK && ret == CONFREJ))) {
            /* we're returning this option */
            if (newret == CONFREJ && ret == CONFNAK)
                retp = p0;
@@ -867,7 +872,7 @@ ccp_down(f)
     fsm *f;
 {
     if (ccp_localstate[f->unit] & RACK_PENDING)
-       UNTIMEOUT(ccp_rack_timeout, (caddr_t) f);
+       UNTIMEOUT(ccp_rack_timeout, f);
     ccp_localstate[f->unit] = 0;
     ccp_flags_set(f->unit, 1, 0);
 }
@@ -991,7 +996,7 @@ ccp_printpkt(p, plen, printer, arg)
  * decompression; if it was, we take CCP down, thus disabling
  * compression :-(, otherwise we issue the reset-request.
  */
-void
+static void
 ccp_datainput(unit, pkt, len)
     int unit;
     u_char *pkt;
@@ -1015,7 +1020,7 @@ ccp_datainput(unit, pkt, len)
             */
            if (!(ccp_localstate[f->unit] & RACK_PENDING)) {
                fsm_sdata(f, CCP_RESETREQ, f->reqid = ++f->id, NULL, 0);
-               TIMEOUT(ccp_rack_timeout, (caddr_t) f, RACKTIMEOUT);
+               TIMEOUT(ccp_rack_timeout, f, RACKTIMEOUT);
                ccp_localstate[f->unit] |= RACK_PENDING;
            } else
                ccp_localstate[f->unit] |= RREQ_REPEAT;
@@ -1028,13 +1033,13 @@ ccp_datainput(unit, pkt, len)
  */
 static void
 ccp_rack_timeout(arg)
-    caddr_t arg;
+    void *arg;
 {
-    fsm *f = (fsm *) arg;
+    fsm *f = arg;
 
     if (f->state == OPENED && ccp_localstate[f->unit] & RREQ_REPEAT) {
        fsm_sdata(f, CCP_RESETREQ, f->reqid, NULL, 0);
-       TIMEOUT(ccp_rack_timeout, (caddr_t) f, RACKTIMEOUT);
+       TIMEOUT(ccp_rack_timeout, f, RACKTIMEOUT);
        ccp_localstate[f->unit] &= ~RREQ_REPEAT;
     } else
        ccp_localstate[f->unit] &= ~RACK_PENDING;