From 44d3b0974bd36482f132f1583332010e5710fffb Mon Sep 17 00:00:00 2001 From: christos Date: Wed, 2 Sep 1998 20:55:55 +0000 Subject: [PATCH] Apply diffs from patchlevel 5. --- usr.sbin/pppd/chat/chat.c | 27 +++++++-------- usr.sbin/pppd/pppd/auth.c | 12 +++---- usr.sbin/pppd/pppd/chap.c | 8 ++--- usr.sbin/pppd/pppd/ipcp.c | 21 ++++++------ usr.sbin/pppd/pppd/ipxcp.c | 6 ++-- usr.sbin/pppd/pppd/lcp.c | 18 ++++++++-- usr.sbin/pppd/pppd/main.c | 56 ++++++++++++++++--------------- usr.sbin/pppd/pppd/options.c | 23 +++---------- usr.sbin/pppd/pppd/patchlevel.h | 6 ++-- usr.sbin/pppd/pppd/pppd.8 | 41 +++++----------------- usr.sbin/pppd/pppd/pppd.h | 16 ++++----- usr.sbin/pppd/pppd/sys-bsd.c | 15 ++++----- usr.sbin/pppd/pppstats/pppstats.8 | 8 ++--- usr.sbin/pppd/pppstats/pppstats.c | 25 +++++++++----- 14 files changed, 133 insertions(+), 149 deletions(-) diff --git a/usr.sbin/pppd/chat/chat.c b/usr.sbin/pppd/chat/chat.c index c6f3a32da249..b7ffd8bfa1ae 100644 --- a/usr.sbin/pppd/chat/chat.c +++ b/usr.sbin/pppd/chat/chat.c @@ -1,4 +1,4 @@ -/* $NetBSD: chat.c,v 1.14 1998/07/26 15:48:43 mycroft Exp $ */ +/* $NetBSD: chat.c,v 1.15 1998/09/02 20:55:55 christos Exp $ */ /* * Chat -- a program for automatic session establishment (i.e. dial @@ -84,7 +84,7 @@ #if 0 static char rcsid[] = "Id: chat.c,v 1.19 1998/03/24 23:57:48 paulus Exp "; #else -__RCSID("$NetBSD: chat.c,v 1.14 1998/07/26 15:48:43 mycroft Exp $"); +__RCSID("$NetBSD: chat.c,v 1.15 1998/09/02 20:55:55 christos Exp $"); #endif #endif @@ -1484,11 +1484,11 @@ vfmtmsg(buf, buflen, fmt, args) int width, prec, fillch; int base, len, neg, quoted; unsigned long val = 0; - char *buf0, *s; - const char *str, *f; + char *str, *buf0; + const char *f; unsigned char *p; char num[32]; - static const char hexchars[] = "0123456789abcdef"; + static char hexchars[] = "0123456789abcdef"; buf0 = buf; --buflen; @@ -1626,25 +1626,24 @@ vfmtmsg(buf, buflen, fmt, args) continue; } if (base != 0) { - s = num + sizeof(num); - *--s = 0; - while (s > num + neg) { - *--s = hexchars[val % base]; + str = num + sizeof(num); + *--str = 0; + while (str > num + neg) { + *--str = hexchars[val % base]; val = val / base; if (--prec <= 0 && val == 0) break; } switch (neg) { case 1: - *--s = '-'; + *--str = '-'; break; case 2: - *--s = 'x'; - *--s = '0'; + *--str = 'x'; + *--str = '0'; break; } - len = num + sizeof(num) - 1 - s; - str = s; + len = num + sizeof(num) - 1 - str; } else { len = strlen(str); if (prec > 0 && len > prec) diff --git a/usr.sbin/pppd/pppd/auth.c b/usr.sbin/pppd/pppd/auth.c index 3a3d4d3b5d7d..267678e9c927 100644 --- a/usr.sbin/pppd/pppd/auth.c +++ b/usr.sbin/pppd/pppd/auth.c @@ -1,4 +1,4 @@ -/* $NetBSD: auth.c,v 1.22 1998/07/27 00:52:01 mycroft Exp $ */ +/* $NetBSD: auth.c,v 1.23 1998/09/02 20:55:55 christos Exp $ */ /* * auth.c - PPP authentication and phase control. @@ -39,7 +39,7 @@ #if 0 static char rcsid[] = "Id: auth.c,v 1.37 1998/03/26 04:46:03 paulus Exp "; #else -__RCSID("$NetBSD: auth.c,v 1.22 1998/07/27 00:52:01 mycroft Exp $"); +__RCSID("$NetBSD: auth.c,v 1.23 1998/09/02 20:55:55 christos Exp $"); #endif #endif @@ -147,7 +147,7 @@ static int ip_addr_check __P((u_int32_t, struct wordlist *)); static int scan_authfile __P((FILE *, char *, char *, u_int32_t, char *, struct wordlist **, char *)); static void free_wordlist __P((struct wordlist *)); -static void auth_script __P((const char *)); +static void auth_script __P((char *)); static void set_allowed_addrs __P((int, struct wordlist *)); /* @@ -1481,13 +1481,13 @@ free_wordlist(wp) */ static void auth_script(script) - const char *script; + char *script; { char strspeed[32]; struct passwd *pw; char struid[32]; - const char *user_name; - const char *argv[8]; + char *user_name; + char *argv[8]; if ((pw = getpwuid(getuid())) != NULL && pw->pw_name != NULL) user_name = pw->pw_name; diff --git a/usr.sbin/pppd/pppd/chap.c b/usr.sbin/pppd/pppd/chap.c index 85cc935a30fd..cdc8f229c5aa 100644 --- a/usr.sbin/pppd/pppd/chap.c +++ b/usr.sbin/pppd/pppd/chap.c @@ -1,4 +1,4 @@ -/* $NetBSD: chap.c,v 1.12 1998/07/06 07:04:28 mrg Exp $ */ +/* $NetBSD: chap.c,v 1.13 1998/09/02 20:55:55 christos Exp $ */ /* * chap.c - Challenge Handshake Authentication Protocol. @@ -40,7 +40,7 @@ #if 0 static char rcsid[] = "Id: chap.c,v 1.15 1997/11/27 06:07:48 paulus Exp "; #else -__RCSID("$NetBSD: chap.c,v 1.12 1998/07/06 07:04:28 mrg Exp $"); +__RCSID("$NetBSD: chap.c,v 1.13 1998/09/02 20:55:55 christos Exp $"); #endif #endif @@ -395,7 +395,7 @@ ChapReceiveChallenge(cstate, inp, id, len) u_char *rchallenge; int secret_len; char secret[MAXSECRETLEN]; - char rhostname[MAXNAMELEN+1]; + char rhostname[256]; MD5_CTX mdContext; u_char hash[MD5_SIGNATURE_SIZE]; @@ -494,7 +494,7 @@ ChapReceiveResponse(cstate, inp, id, len) u_char *remmd, remmd_len; int secret_len, old_state; int code; - char rhostname[MAXNAMELEN+1]; + char rhostname[256]; MD5_CTX mdContext; char secret[MAXSECRETLEN]; u_char hash[MD5_SIGNATURE_SIZE]; diff --git a/usr.sbin/pppd/pppd/ipcp.c b/usr.sbin/pppd/pppd/ipcp.c index 94ac083b1218..81e3391c6c6d 100644 --- a/usr.sbin/pppd/pppd/ipcp.c +++ b/usr.sbin/pppd/pppd/ipcp.c @@ -1,4 +1,4 @@ -/* $NetBSD: ipcp.c,v 1.15 1998/07/27 00:52:01 mycroft Exp $ */ +/* $NetBSD: ipcp.c,v 1.16 1998/09/02 20:55:56 christos Exp $ */ /* * ipcp.c - PPP IP Control Protocol. @@ -24,7 +24,7 @@ #if 0 static char rcsid[] = "Id: ipcp.c,v 1.33 1998/03/25 03:08:47 paulus Exp "; #else -__RCSID("$NetBSD: ipcp.c,v 1.15 1998/07/27 00:52:01 mycroft Exp $"); +__RCSID("$NetBSD: ipcp.c,v 1.16 1998/09/02 20:55:56 christos Exp $"); #endif #endif @@ -69,7 +69,7 @@ static int ipcp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */ static int ipcp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */ static void ipcp_up __P((fsm *)); /* We're UP */ static void ipcp_down __P((fsm *)); /* We're DOWN */ -static void ipcp_script __P((fsm *, const char *)); /* Run an up/down script */ +static void ipcp_script __P((fsm *, char *)); /* Run an up/down script */ static void ipcp_finished __P((fsm *)); /* Don't need lower layer */ fsm ipcp_fsm[NUM_PPP]; /* IPCP fsm structure */ @@ -1342,10 +1342,10 @@ ipcp_finished(f) static void ipcp_script(f, script) fsm *f; - const char *script; + char *script; { char strspeed[32], strlocal[32], strremote[32]; - const char *argv[8]; + char *argv[8]; sprintf(strspeed, "%d", baud_rate); strcpy(strlocal, ip_ntoa(ipcp_gotoptions[f->unit].ouraddr)); @@ -1359,7 +1359,6 @@ ipcp_script(f, script) argv[5] = strremote; argv[6] = ipparam; argv[7] = NULL; - run_program(script, argv, 0); } @@ -1419,9 +1418,9 @@ ipcp_printpkt(p, plen, printer, arg) if (olen == CILEN_ADDRS) { p += 2; GETLONG(cilong, p); - printer(arg, "addrs %s", ip_ntoa(htonl(cilong))); + printer(arg, "addrs %I", htonl(cilong)); GETLONG(cilong, p); - printer(arg, " %s", ip_ntoa(htonl(cilong))); + printer(arg, " %I", htonl(cilong)); } break; case CI_COMPRESSTYPE: @@ -1445,20 +1444,20 @@ ipcp_printpkt(p, plen, printer, arg) if (olen == CILEN_ADDR) { p += 2; GETLONG(cilong, p); - printer(arg, "addr %s", ip_ntoa(htonl(cilong))); + printer(arg, "addr %I", htonl(cilong)); } break; case CI_MS_DNS1: case CI_MS_DNS2: p += 2; GETLONG(cilong, p); - printer(arg, "dns-addr %s", ip_ntoa(htonl(cilong))); + printer(arg, "ms-dns %I", htonl(cilong)); break; case CI_MS_WINS1: case CI_MS_WINS2: p += 2; GETLONG(cilong, p); - printer(arg, "wins-addr %s", ip_ntoa(htonl(cilong))); + printer(arg, "ms-wins %I", htonl(cilong)); break; } while (p < optend) { diff --git a/usr.sbin/pppd/pppd/ipxcp.c b/usr.sbin/pppd/pppd/ipxcp.c index bc93462b8b75..9c4490ea9e44 100644 --- a/usr.sbin/pppd/pppd/ipxcp.c +++ b/usr.sbin/pppd/pppd/ipxcp.c @@ -1,4 +1,4 @@ -/* $NetBSD: ipxcp.c,v 1.4 1998/05/02 14:19:14 christos Exp $ */ +/* $NetBSD: ipxcp.c,v 1.5 1998/09/02 20:55:56 christos Exp $ */ /* * ipxcp.c - PPP IPX Control Protocol. @@ -25,7 +25,7 @@ #if 0 static char rcsid[] = "Id: ipxcp.c,v 1.6 1998/03/25 03:08:16 paulus Exp "; #else -__RCSID("$NetBSD: ipxcp.c,v 1.4 1998/05/02 14:19:14 christos Exp $"); +__RCSID("$NetBSD: ipxcp.c,v 1.5 1998/09/02 20:55:56 christos Exp $"); #endif #endif @@ -36,6 +36,7 @@ __RCSID("$NetBSD: ipxcp.c,v 1.4 1998/05/02 14:19:14 christos Exp $"); #include #include #include +#include #include #include #include @@ -44,6 +45,7 @@ __RCSID("$NetBSD: ipxcp.c,v 1.4 1998/05/02 14:19:14 christos Exp $"); #include "fsm.h" #include "ipxcp.h" #include "pathnames.h" +#include "magic.h" /* global vars */ ipxcp_options ipxcp_wantoptions[NUM_PPP]; /* Options that we want to request */ diff --git a/usr.sbin/pppd/pppd/lcp.c b/usr.sbin/pppd/pppd/lcp.c index 1937eb986c48..9d4e3b07bc1a 100644 --- a/usr.sbin/pppd/pppd/lcp.c +++ b/usr.sbin/pppd/pppd/lcp.c @@ -1,4 +1,4 @@ -/* $NetBSD: lcp.c,v 1.17 1998/05/02 14:19:15 christos Exp $ */ +/* $NetBSD: lcp.c,v 1.18 1998/09/02 20:55:56 christos Exp $ */ /* * lcp.c - PPP Link Control Protocol. @@ -24,7 +24,7 @@ #if 0 static char rcsid[] = "Id: lcp.c,v 1.31 1997/11/27 06:08:44 paulus Exp "; #else -__RCSID("$NetBSD: lcp.c,v 1.17 1998/05/02 14:19:15 christos Exp $"); +__RCSID("$NetBSD: lcp.c,v 1.18 1998/09/02 20:55:56 christos Exp $"); #endif #endif @@ -1627,6 +1627,20 @@ lcp_printpkt(p, plen, printer, arg) break; case PPP_CHAP: printer(arg, "chap"); + if (p < optend) { + switch (*p) { + case CHAP_DIGEST_MD5: + printer(arg, " MD5"); + ++p; + break; +#ifdef CHAPMS + case CHAP_MICROSOFT: + printer(arg, " m$oft"); + ++p; + break; +#endif + } + } break; default: printer(arg, "0x%x", cishort); diff --git a/usr.sbin/pppd/pppd/main.c b/usr.sbin/pppd/pppd/main.c index 87b017beab98..c17bf2bb35ef 100644 --- a/usr.sbin/pppd/pppd/main.c +++ b/usr.sbin/pppd/pppd/main.c @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.32 1998/07/27 00:52:02 mycroft Exp $ */ +/* $NetBSD: main.c,v 1.33 1998/09/02 20:55:56 christos Exp $ */ /* * main.c - Point-to-Point Protocol main module @@ -24,7 +24,7 @@ #if 0 static char rcsid[] = "Id: main.c,v 1.47 1998/03/30 06:25:34 paulus Exp "; #else -__RCSID("$NetBSD: main.c,v 1.32 1998/07/27 00:52:02 mycroft Exp $"); +__RCSID("$NetBSD: main.c,v 1.33 1998/09/02 20:55:56 christos Exp $"); #endif #endif @@ -79,7 +79,7 @@ char ifname[32]; /* Interface name */ int ifunit; /* Interface unit number */ char *progname; /* Name of this program */ -char hostname[MAXNAMELEN + 1]; /* Our hostname */ +char hostname[MAXNAMELEN]; /* Our hostname */ static char pidfilename[MAXPATHLEN]; /* name of pid file */ static char default_devnam[MAXPATHLEN]; /* name of default device */ static pid_t pid; /* Our pid */ @@ -173,7 +173,7 @@ main(argc, argv) { int i, fdflags; struct sigaction sa; - const char *p; + char *p; struct passwd *pw; struct timeval timo; sigset_t mask; @@ -197,11 +197,11 @@ main(argc, argv) setlogmask(LOG_UPTO(LOG_INFO)); #endif - if (gethostname(hostname, sizeof(hostname)) < 0 ) { + if (gethostname(hostname, MAXNAMELEN) < 0 ) { option_error("Couldn't get hostname: %m"); die(1); } - hostname[sizeof(hostname) - 1] = 0; + hostname[MAXNAMELEN-1] = 0; uid = getuid(); privileged = uid == 0; @@ -1044,6 +1044,11 @@ static void bad_signal(sig) int sig; { + static int crashed = 0; + + if (crashed) + _exit(127); + crashed = 1; syslog(LOG_ERR, "Fatal signal %d", sig); if (conn_running) kill_my_pg(SIGTERM); @@ -1130,8 +1135,8 @@ device_script(program, in, out) */ int run_program(prog, args, must_exist) - const char *prog; - const char **args; + char *prog; + char **args; int must_exist; { int pid; @@ -1179,7 +1184,7 @@ run_program(prog, args, must_exist) /* SysV recommends a second fork at this point. */ /* run the program; give it a null environment */ - execve(prog, (char **)args, script_env); + execve(prog, args, script_env); if (must_exist || errno != ENOENT) syslog(LOG_WARNING, "Can't execute %s: %m", prog); _exit(-1); @@ -1294,10 +1299,9 @@ pr_log __V((void *arg, char *fmt, ...)) fmt = va_arg(pvar, char *); #endif - vsprintf(buf, fmt, pvar); + n = vfmtmsg(buf, sizeof(buf), fmt, pvar); va_end(pvar); - n = strlen(buf); if (linep + n + 1 > line + sizeof(line)) { syslog(LOG_DEBUG, "%s", line); linep = line; @@ -1394,19 +1398,18 @@ int vfmtmsg(buf, buflen, fmt, args) char *buf; int buflen; - const char *fmt; + char *fmt; va_list args; { int c, i, n; int width, prec, fillch; int base, len, neg, quoted; unsigned long val = 0; - char *buf0, *s; - const char *str, *f; + char *str, *f, *buf0; unsigned char *p; char num[32]; time_t t; - static const char hexchars[] = "0123456789abcdef"; + static char hexchars[] = "0123456789abcdef"; buf0 = buf; --buflen; @@ -1506,9 +1509,9 @@ vfmtmsg(buf, buflen, fmt, args) continue; case 't': time(&t); - s = ctime(&t); - s[19] = 0; /* chop off year and newline */ - str = s + 4; /* chop off the day name */ + str = ctime(&t); + str += 4; /* chop off the day name */ + str[15] = 0; /* chop off year and newline */ break; case 'v': /* "visible" string */ case 'q': /* quoted string */ @@ -1564,25 +1567,24 @@ vfmtmsg(buf, buflen, fmt, args) continue; } if (base != 0) { - s = num + sizeof(num); - *--s = 0; - while (s > num + neg) { - *--s = hexchars[val % base]; + str = num + sizeof(num); + *--str = 0; + while (str > num + neg) { + *--str = hexchars[val % base]; val = val / base; if (--prec <= 0 && val == 0) break; } switch (neg) { case 1: - *--s = '-'; + *--str = '-'; break; case 2: - *--s = 'x'; - *--s = '0'; + *--str = 'x'; + *--str = '0'; break; } - len = num + sizeof(num) - 1 - s; - str = s; + len = num + sizeof(num) - 1 - str; } else { len = strlen(str); if (prec > 0 && len > prec) diff --git a/usr.sbin/pppd/pppd/options.c b/usr.sbin/pppd/pppd/options.c index f1b225ea1c58..fed242bd5f4a 100644 --- a/usr.sbin/pppd/pppd/options.c +++ b/usr.sbin/pppd/pppd/options.c @@ -1,4 +1,4 @@ -/* $NetBSD: options.c,v 1.25 1998/07/27 00:52:02 mycroft Exp $ */ +/* $NetBSD: options.c,v 1.26 1998/09/02 20:55:57 christos Exp $ */ /* * options.c - handles option processing for PPP. @@ -24,7 +24,7 @@ #if 0 static char rcsid[] = "Id: options.c,v 1.42 1998/03/26 04:46:06 paulus Exp "; #else -__RCSID("$NetBSD: options.c,v 1.25 1998/07/27 00:52:02 mycroft Exp $"); +__RCSID("$NetBSD: options.c,v 1.26 1998/09/02 20:55:57 christos Exp $"); #endif #endif @@ -178,7 +178,6 @@ static int setdomain __P((char **)); static int setnetmask __P((char **)); static int setcrtscts __P((char **)); static int setnocrtscts __P((char **)); -static int setcdtrcts __P((char **)); static int setxonxoff __P((char **)); static int setnodetach __P((char **)); static int setupdetach __P((char **)); @@ -319,9 +318,6 @@ static struct cmd { {"crtscts", 0, setcrtscts}, /* set h/w flow control */ {"nocrtscts", 0, setnocrtscts}, /* clear h/w flow control */ {"-crtscts", 0, setnocrtscts}, /* clear h/w flow control */ - {"cdtrcts", 0, setcdtrcts}, /* set alternate h/w flow control */ - {"nocdtrcts", 0, setnocrtscts}, /* clear h/w flow control */ - {"-cdtrcts", 0, setnocrtscts}, /* clear h/w flow control */ {"xonxoff", 0, setxonxoff}, /* set s/w flow control */ {"debug", 0, setdebug}, /* Increase debugging level */ {"kdebug", 1, setkdebug}, /* Enable kernel-level debugging */ @@ -446,7 +442,6 @@ Usage: %s [ options ], where options are:\n\ auth Require authentication from peer\n\ connect

Invoke shell command

to set up the serial line\n\ crtscts Use hardware RTS/CTS flow control\n\ - cdtrcts Use hardware DTR/CTS flow control (if supported)\n\ defaultroute Add default route through interface\n\ file Take options from file \n\ modem Use modem control lines\n\ @@ -670,8 +665,7 @@ err: int options_from_user() { - const char *user; - char *path, *file; + char *user, *path, *file; int ret; struct passwd *pw; @@ -1579,8 +1573,7 @@ setdomain(argv) option_error("using the domain option requires root privilege"); return 0; } - gethostname(hostname, sizeof(hostname)); - hostname[sizeof(hostname) - 1] = '\0'; + gethostname(hostname, MAXNAMELEN); if (**argv != 0) { if (**argv != '.') strncat(hostname, ".", MAXNAMELEN - strlen(hostname)); @@ -1867,14 +1860,6 @@ setnocrtscts(argv) return (1); } -static int -setcdtrcts(argv) - char **argv; -{ - crtscts = 2; - return (1); -} - static int setxonxoff(argv) char **argv; diff --git a/usr.sbin/pppd/pppd/patchlevel.h b/usr.sbin/pppd/pppd/patchlevel.h index b37473b97a19..01e8549a0307 100644 --- a/usr.sbin/pppd/pppd/patchlevel.h +++ b/usr.sbin/pppd/pppd/patchlevel.h @@ -1,8 +1,8 @@ -/* $NetBSD: patchlevel.h,v 1.15 1998/05/02 14:19:15 christos Exp $ */ +/* $NetBSD: patchlevel.h,v 1.16 1998/09/02 20:55:57 christos Exp $ */ /* Id: patchlevel.h,v 1.32 1998/03/25 01:29:43 paulus Exp */ -#define PATCHLEVEL 4 +#define PATCHLEVEL 5 #define VERSION "2.3" #define IMPLEMENTATION "" -#define DATE "25 March 1998" +#define DATE "4 May 1998" diff --git a/usr.sbin/pppd/pppd/pppd.8 b/usr.sbin/pppd/pppd/pppd.8 index 78a9a23cba90..e15e71d44515 100644 --- a/usr.sbin/pppd/pppd/pppd.8 +++ b/usr.sbin/pppd/pppd/pppd.8 @@ -1,4 +1,4 @@ -.\" $NetBSD: pppd.8,v 1.21 1998/05/02 14:19:15 christos Exp $ +.\" $NetBSD: pppd.8,v 1.22 1998/09/02 20:55:57 christos Exp $ .\" manual page [] for pppd 2.3 .\" Id: pppd.8,v 1.27 1998/03/31 04:31:08 paulus Exp .\" SH section heading @@ -93,29 +93,10 @@ program to dial the modem and start the remote ppp session. This option is privileged if the \fInoauth\fR option is used. .TP .B crtscts -Use hardware flow control (i.e. RTS/CTS) to control the flow of -data on the serial port. If neither the \fIcrtscts\fR, the -\fInocrtscts\fR, the \fIcdtrcts\fR nor the \fInocdtrcts\fR option -is given, the hardware flow control setting for the serial port is -left unchanged. -Some serial ports (such as Macintosh serial ports) lack a true -RTS output. Such serial ports use this mode to impliment -unidirectional flow control. The serial port will -suspend transmission when requested by the modem (via CTS) -but will be unable to request the modem stop sending to the -computer. This mode retains the ability to use DTR as -a modem control line. -.TP -.B cdtrcts -Use a non-standard hardware flow control (i.e. DTR/CTS) to control -the flow of data on the serial port. If neither the \fIcrtscts\fR, -the \fInocrtscts\fR, the \fIcdtrcts\fR nor the \fInocdtrcts\fR -option is given, the hardware flow control setting for the serial -port is left unchanged. -Some serial ports (such as Macintosh serial ports) lack a true -RTS output. Such serial ports use this mode to impliment true -bi-directional flow control. The sacrafice is that this flow -control mode does not permit using DTR as a modem control line. +Use hardware flow control (i.e. RTS/CTS) to control the flow of data +on the serial port. If neither the \fIcrtscts\fR nor the +\fInocrtscts\fR option is given, the hardware flow control setting +for the serial port is left unchanged. .TP .B defaultroute Add a default route to the system routing tables, using the peer as @@ -489,14 +470,10 @@ should only be required if the peer is buggy and gets confused by requests from pppd for CCP negotiation. .TP .B nocrtscts -Disable hardware flow control (i.e. RTS/CTS) on the serial port. -If neither the \fIcrtscts\fR nor the \fInocrtscts\fR nor the -\fIcdtrcts\fR nor the \fInodtrcts\fR option is given, the hardware -flow control setting for the serial port is left unchanged. -.TP -.B nodtrcts -This option is a synonym for \fInocrtscts\fR. Either of these options will -disable both forms of hardware flow control. +Disable hardware flow control (i.e. RTS/CTS) on the serial port. If +neither the \fIcrtscts\fR nor the \fInocrtscts\fR option is given, +the hardware flow control setting for the serial port is left +unchanged. .TP .B nodefaultroute Disable the \fIdefaultroute\fR option. The system administrator who diff --git a/usr.sbin/pppd/pppd/pppd.h b/usr.sbin/pppd/pppd/pppd.h index 524d053db8f5..9123a3173c72 100644 --- a/usr.sbin/pppd/pppd/pppd.h +++ b/usr.sbin/pppd/pppd/pppd.h @@ -1,4 +1,4 @@ -/* $NetBSD: pppd.h,v 1.15 1998/07/27 00:52:02 mycroft Exp $ */ +/* $NetBSD: pppd.h,v 1.16 1998/09/02 20:55:57 christos Exp $ */ /* * pppd.h - PPP daemon global declarations. @@ -50,11 +50,7 @@ #define NUM_PPP 1 /* One PPP interface supported (per process) */ #define MAXWORDLEN 1024 /* max length of word in file (incl null) */ #define MAXARGS 1 /* max # args to a command */ -#ifdef MAXHOSTNAMELEN -#define MAXNAMELEN MAXHOSTNAMELEN /* max length of hostname or name for auth */ -#else #define MAXNAMELEN 256 /* max length of hostname or name for auth */ -#endif #define MAXSECRETLEN 256 /* max length of password or secret */ /* @@ -65,7 +61,7 @@ extern int hungup; /* Physical layer has disconnected */ extern int ifunit; /* Interface unit number */ extern char ifname[]; /* Interface name */ extern int ttyfd; /* Serial device file descriptor */ -extern char hostname[MAXNAMELEN+1]; /* Our hostname */ +extern char hostname[]; /* Our hostname */ extern u_char outpacket_buf[]; /* Buffer for outgoing packets */ extern int phase; /* Current state of link - see values below */ extern int baud_rate; /* Current link speed in bits/sec */ @@ -191,7 +187,7 @@ void timeout __P((void (*func)(void *), void *arg, int t)); /* Call func(arg) after t seconds */ void untimeout __P((void (*func)(void *), void *arg)); /* Cancel call to func(arg) */ -int run_program __P((const char *prog, const char **args, int must_exist)); +int run_program __P((char *prog, char **args, int must_exist)); /* Run program prog with args in child */ void demuxprotrej __P((int, int)); /* Demultiplex a Protocol-Reject */ @@ -202,7 +198,7 @@ void log_packet __P((u_char *, int, char *, int)); void print_string __P((char *, int, void (*) (void *, char *, ...), void *)); /* Format a string for output */ int fmtmsg __P((char *, int, char *, ...)); /* sprintf++ */ -int vfmtmsg __P((char *, int, const char *, va_list)); /* vsprintf++ */ +int vfmtmsg __P((char *, int, char *, va_list)); /* vsprintf++ */ void script_setenv __P((char *, char *)); /* set script env var */ void script_unsetenv __P((char *)); /* unset script env var */ @@ -309,6 +305,10 @@ int get_host_seed __P((void)); /* Get host-dependent random number seed */ int set_filters __P((struct bpf_program *pass, struct bpf_program *active)); /* Set filter programs in kernel */ #endif +#ifdef IPX_CHANGE +int sipxfaddr __P((int, unsigned long, unsigned char *)); +int cipxfaddr __P((int)); +#endif /* Procedures exported from options.c */ int parse_args __P((int argc, char **argv)); diff --git a/usr.sbin/pppd/pppd/sys-bsd.c b/usr.sbin/pppd/pppd/sys-bsd.c index 92b3e1d5ea44..186791a61834 100644 --- a/usr.sbin/pppd/pppd/sys-bsd.c +++ b/usr.sbin/pppd/pppd/sys-bsd.c @@ -1,4 +1,4 @@ -/* $NetBSD: sys-bsd.c,v 1.27 1998/08/27 06:55:16 christos Exp $ */ +/* $NetBSD: sys-bsd.c,v 1.28 1998/09/02 20:55:57 christos Exp $ */ /* * sys-bsd.c - System-dependent procedures for setting up @@ -27,7 +27,7 @@ #if 0 static char rcsid[] = "Id: sys-bsd.c,v 1.31 1998/04/02 12:04:19 paulus Exp "; #else -__RCSID("$NetBSD: sys-bsd.c,v 1.27 1998/08/27 06:55:16 christos Exp $"); +__RCSID("$NetBSD: sys-bsd.c,v 1.28 1998/09/02 20:55:57 christos Exp $"); #endif #endif @@ -395,13 +395,10 @@ set_up_tty(fd, local) } tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL); - if (crtscts > 0 && !local) { - if (crtscts == 2) - tios.c_cflag |= CDTRCTS; - else - tios.c_cflag |= CRTSCTS; - } else if (crtscts < 0) - tios.c_cflag &= ~(CRTSCTS | CDTRCTS); + if (crtscts > 0 && !local) + tios.c_cflag |= CRTSCTS; + else if (crtscts < 0) + tios.c_cflag &= ~CRTSCTS; tios.c_cflag |= CS8 | CREAD | HUPCL; if (local || !modem) diff --git a/usr.sbin/pppd/pppstats/pppstats.8 b/usr.sbin/pppd/pppstats/pppstats.8 index 0ae98e6921c1..0b3870f98809 100644 --- a/usr.sbin/pppd/pppstats/pppstats.8 +++ b/usr.sbin/pppd/pppstats/pppstats.8 @@ -1,4 +1,4 @@ -.\" $NetBSD: pppstats.8,v 1.9 1997/07/22 15:19:30 perry Exp $ +.\" $NetBSD: pppstats.8,v 1.10 1998/09/02 20:55:58 christos Exp $ .\" @(#) Id: pppstats.8,v 1.3 1996/07/01 01:22:35 paulus Exp .TH PPPSTATS 8 "26 June 1995" .SH NAME @@ -100,7 +100,7 @@ this interface because of preceding errors. Only reported when the option is specified. .TP .B NON-VJ -The total number of non-VJ packets received by this interface. Only +The total number of non-TCP packets received by this interface. Only reported when the .B -v option is specified. @@ -139,7 +139,7 @@ Not reported when the option is specified. .TP .B NON-VJ -The total number of non-VJ packets transmitted from this interface. +The total number of non-TCP packets transmitted from this interface. Not reported when the .B -r option is specified. @@ -173,7 +173,7 @@ option is specified. When the .B -z option is specified, -.B pppstats +.Nm pppstats instead displays the following fields, relating to the packet compression algorithm currently in use. If packet compression is not in use, these fields will all display zeroes. The fields displayed on diff --git a/usr.sbin/pppd/pppstats/pppstats.c b/usr.sbin/pppd/pppstats/pppstats.c index 5b03e9aeea4c..5234183fb77c 100644 --- a/usr.sbin/pppd/pppstats/pppstats.c +++ b/usr.sbin/pppd/pppstats/pppstats.c @@ -1,4 +1,4 @@ -/* $NetBSD: pppstats.c,v 1.19 1998/06/18 08:03:08 lukem Exp $ */ +/* $NetBSD: pppstats.c,v 1.20 1998/09/02 20:55:58 christos Exp $ */ /* * print PPP statistics: @@ -38,7 +38,7 @@ #if 0 static char rcsid[] = "Id: pppstats.c,v 1.22 1998/03/31 23:48:03 paulus Exp "; #else -__RCSID("$NetBSD: pppstats.c,v 1.19 1998/06/18 08:03:08 lukem Exp $"); +__RCSID("$NetBSD: pppstats.c,v 1.20 1998/09/02 20:55:58 christos Exp $"); #endif #endif @@ -64,11 +64,12 @@ __RCSID("$NetBSD: pppstats.c,v 1.19 1998/06/18 08:03:08 lukem Exp $"); #else /* Linux */ #if __GLIBC__ >= 2 +#include /* glibc 2 conflicts with linux/types.h */ #include #else +#include #include #endif -#include #include #include #endif /* _linux_ */ @@ -180,17 +181,25 @@ get_ppp_cstats(csp) } #ifdef _linux_ + if (creq.stats.c.bytes_out == 0) { + creq.stats.c.bytes_out = creq.stats.c.comp_bytes + creq.stats.c.inc_bytes; + creq.stats.c.in_count = creq.stats.c.unc_bytes; + } if (creq.stats.c.bytes_out == 0) creq.stats.c.ratio = 0.0; else - creq.stats.c.ratio = (double) creq.stats.c.in_count / - (double) creq.stats.c.bytes_out; + creq.stats.c.ratio = 256.0 * creq.stats.c.in_count / + creq.stats.c.bytes_out; + if (creq.stats.d.bytes_out == 0) { + creq.stats.d.bytes_out = creq.stats.d.comp_bytes + creq.stats.d.inc_bytes; + creq.stats.d.in_count = creq.stats.d.unc_bytes; + } if (creq.stats.d.bytes_out == 0) creq.stats.d.ratio = 0.0; else - creq.stats.d.ratio = (double) creq.stats.d.in_count / - (double) creq.stats.d.bytes_out; + creq.stats.d.ratio = 256.0 * creq.stats.d.in_count / + creq.stats.d.bytes_out; #endif *csp = creq.stats; @@ -534,5 +543,5 @@ main(argc, argv) #endif /* STREAMS */ intpr(); - return 0; + exit(0); }