*/
#ifndef lint
-static char rcsid[] = "$Id: options.c,v 1.22 1995/06/30 01:52:24 paulus Exp $";
+static char rcsid[] = "$Id: options.c,v 1.24 1995/08/16 01:39:35 paulus Exp $";
#endif
#include <stdio.h>
static int setauth __P((void));
static int readfile __P((char **));
static int setdefaultroute __P((void));
+static int setnodefaultroute __P((void));
static int setproxyarp __P((void));
+static int setnoproxyarp __P((void));
static int setpersist __P((void));
static int setdologin __P((void));
static int setusehostname __P((void));
{"auth", 0, setauth}, /* Require authentication from peer */
{"file", 1, readfile}, /* Take options from a file */
{"defaultroute", 0, setdefaultroute}, /* Add default route */
+ {"-defaultroute", 0, setnodefaultroute}, /* disable defaultroute option */
{"proxyarp", 0, setproxyarp}, /* Add proxy ARP entry */
+ {"-proxyarp", 0, setnoproxyarp}, /* disable proxyarp option */
{"persist", 0, setpersist}, /* Keep on reopening connection after close */
{"login", 0, setdologin}, /* Use system password database for UPAP */
{"noipdefault", 0, setnoipdflt}, /* Don't use name for default IP adrs */
char **argv;
{
gethostname(hostname, MAXNAMELEN);
- if (*argv != 0) {
- strncat(hostname, ".", MAXNAMELEN - strlen(hostname));
+ if (**argv != 0) {
+ if (**argv != '.')
+ strncat(hostname, ".", MAXNAMELEN - strlen(hostname));
strncat(hostname, *argv, MAXNAMELEN - strlen(hostname));
}
hostname[MAXNAMELEN-1] = 0;
static int
setdefaultroute()
{
+ if (!ipcp_allowoptions[0].default_route) {
+ fprintf(stderr, "%s: defaultroute option is disabled\n", progname);
+ return 0;
+ }
ipcp_wantoptions[0].default_route = 1;
return 1;
}
+static int
+setnodefaultroute()
+{
+ ipcp_allowoptions[0].default_route = 0;
+ ipcp_wantoptions[0].default_route = 0;
+ return 1;
+}
+
static int
setproxyarp()
{
+ if (!ipcp_allowoptions[0].proxy_arp) {
+ fprintf(stderr, "%s: proxyarp option is disabled\n", progname);
+ return 0;
+ }
ipcp_wantoptions[0].proxy_arp = 1;
return 1;
}
+static int
+setnoproxyarp()
+{
+ ipcp_wantoptions[0].proxy_arp = 0;
+ ipcp_allowoptions[0].proxy_arp = 0;
+ return 1;
+}
+
static int
setpersist()
{