]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/options.c
push compress module, added ccp_test
[ppp.git] / pppd / options.c
index ef1fc8a3c008b74494c63bc69dcddbae581dad8c..c7c4b4ea5783bef908fbe21ec4a9bd3a46aeda69 100644 (file)
@@ -18,7 +18,7 @@
  */
 
 #ifndef lint
-static char rcsid[] = "$Id: options.c,v 1.10 1994/05/27 00:43:34 paulus Exp $";
+static char rcsid[] = "$Id: options.c,v 1.12 1994/08/22 00:36:38 paulus Exp $";
 #endif
 
 #include <stdio.h>
@@ -44,6 +44,7 @@ static char rcsid[] = "$Id: options.c,v 1.10 1994/05/27 00:43:34 paulus Exp $";
 #include "ipcp.h"
 #include "upap.h"
 #include "chap.h"
+#include "ccp.h"
 
 #define FALSE  0
 #define TRUE   1
@@ -53,7 +54,7 @@ char *strdup __ARGS((char *));
 #endif
 
 #ifndef GIDSET_TYPE
-#define GIDSET_TYPE    int
+#define GIDSET_TYPE    gid_t
 #endif
 
 /*
@@ -121,6 +122,8 @@ static int setipcpaccl __ARGS((void));
 static int setipcpaccr __ARGS((void));
 static int setlcpechointv __ARGS((char **));
 static int setlcpechofails __ARGS((char **));
+static int setbsdcomp __ARGS((char **));
+static int setnobsdcomp __ARGS((void));
 
 static int number_option __ARGS((char *, long *, int));
 static int readable __ARGS((int fd));
@@ -138,7 +141,7 @@ extern int nodetach;
 extern char *connector;
 extern char *disconnector;
 extern int inspeed;
-extern char devname[];
+extern char devnam[];
 extern int default_device;
 extern u_long netmask;
 extern int detach;
@@ -228,6 +231,8 @@ static struct cmd {
     {"chap-interval", 1, setchapintv}, /* Set interval for rechallenge */
     {"ipcp-accept-local", 0, setipcpaccl}, /* Accept peer's address for us */
     {"ipcp-accept-remote", 0, setipcpaccr}, /* Accept peer's address for it */
+    {"bsdcomp", 1, setbsdcomp},                /* request BSD-Compress */
+    {"-bsdcomp", 0, setnobsdcomp},     /* don't allow BSD-Compress */
     {NULL, 0, NULL}
 };
 
@@ -425,9 +430,9 @@ options_for_tty()
     char *dev, *path;
     int ret;
 
-    dev = strrchr(devname, '/');
+    dev = strrchr(devnam, '/');
     if (dev == NULL)
-       dev = devname;
+       dev = devnam;
     else
        ++dev;
     if (strcmp(dev, "tty") == 0)
@@ -1064,8 +1069,8 @@ setdevname(cp)
        return -1;
     }
   
-    (void) strncpy(devname, cp, MAXPATHLEN);
-    devname[MAXPATHLEN-1] = 0;
+    (void) strncpy(devnam, cp, MAXPATHLEN);
+    devnam[MAXPATHLEN-1] = 0;
     default_device = FALSE;
   
     return 1;
@@ -1450,3 +1455,20 @@ static int setchapintv(argv)
 {
     return int_option(*argv, &chap[0].chal_interval);
 }
+
+static int setbsdcomp(argv)
+    char **argv;
+{
+    int bits;
+
+    if (!int_option(*argv, &bits))
+       return 0;
+    ccp_wantoptions[0].bsd_compress = 1;
+    ccp_wantoptions[0].bsd_bits = bits;
+    return 1;
+}
+
+static int setnobsdcomp()
+{
+    ccp_allowoptions[0].bsd_compress = 0;
+}