From 5755b0122ae26624b5f8bab08851014ba5a4770d Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Fri, 17 Sep 1999 05:21:01 +0000 Subject: [PATCH] update for 2.3.10 --- NeXT/Makefile.top | 4 +-- NeXT/if_ppp.c | 4 +-- README | 64 ++++++++++++++++++++++++++++++++++++++++++++--- README.linux | 8 +++--- modules/if_ppp.c | 4 +-- pppd/patchlevel.h | 6 ++--- pppd/pppd.8 | 46 ++++++++++++++++++++++++++-------- 7 files changed, 110 insertions(+), 26 deletions(-) diff --git a/NeXT/Makefile.top b/NeXT/Makefile.top index 89e4027..46fed70 100644 --- a/NeXT/Makefile.top +++ b/NeXT/Makefile.top @@ -1,6 +1,6 @@ # ppp top level makefile for NeXT systems # -# $Id: Makefile.top,v 1.8 1999/07/23 07:07:33 paulus Exp $ +# $Id: Makefile.top,v 1.9 1999/09/17 05:20:37 paulus Exp $ # # Change the values of ARCHFLAGS to include the @@ -155,7 +155,7 @@ NEXTPORT = \ # portdist: - echo NeXT-ppp2.3.9-`sed -e '/version_string/!d' \ + echo NeXT-ppp2.3.10-`sed -e '/version_string/!d' \ -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q ./NeXT/NeXT_Version.h` > .fname rm -rf `cat .fname` mkdir `cat .fname` diff --git a/NeXT/if_ppp.c b/NeXT/if_ppp.c index bd31840..ad87c17 100644 --- a/NeXT/if_ppp.c +++ b/NeXT/if_ppp.c @@ -81,7 +81,7 @@ /* from if_sl.c,v 1.11 84/10/04 12:54:47 rick Exp */ #if !defined(lint) -static char sccsid[] = "$Revision: 1.10 $ ($Date: 1999/07/23 07:07:33 $)"; +static char sccsid[] = "$Revision: 1.11 $ ($Date: 1999/09/17 05:20:37 $)"; #endif /* not lint*/ #define KERNEL 1 @@ -285,7 +285,7 @@ pppattach() register struct ppp_softc *sc; register int i = 0; - IOLog("\nPPP version 2.3.9-%s for NeXTSTEP and OPENSTEP\n", PPPVERSION); + IOLog("\nPPP version 2.3.10-%s for NeXTSTEP and OPENSTEP\n", PPPVERSION); IOLog("by Stephen Perkins, Philip Prindeville, and Pete French\n"); if (install_ppp_ld() < 0) { IOLog("ppp: Could not install line discipline\n"); diff --git a/README b/README index e01675f..b082eb5 100644 --- a/README +++ b/README @@ -69,8 +69,66 @@ use any IP address. (This only applies where the peer is authenticating itself to you, of course.) -What's new in ppp-2.3.9. -************************ +What's new in ppp-2.3.10. +************************* + +* Pppd now supports `plugins', which are pieces of code (packaged as + shared libraries) which can be loaded into pppd at runtime and which + can affect its behaviour. The intention is that plugins provide a + way for people to customize the behaviour of pppd for their own + needs without needing to change the base pppd source. I have added + some hooks into pppd (places where pppd will call a function + pointer, if non-zero, to replace some of pppd's code) and I will be + receptive to suggestions about places to add more hooks. Plugins + are supported under Linux and Solaris at present. + +* We have a new maintainer for the Solaris port, Adi Masputra of Sun + Microsystems, and he has updated the Solaris port so that it should + work on 64-bit machines under Solaris 7 and later. + +* Pppd now has an `allow-ip' option, which takes an argument which is + an IP address (or subnet) which peers are permitted to use without + authenticating themselves. The argument takes the same form as each + element of the allowed IP address list in the secrets files. The + allow-ip option is privileged and may be specified multiple times. + Using the allow-ip option should be cleaner than putting a line like + `"" * "" address' in /etc/ppp/pap-secrets. + +* Chat can now substitute environment variables into the script. This + is enabled by the -E flag. (Thanks to Andreas Arens for the patch.) + +* If the PAP username and password from the peer contains unprintable + characters, they will be translated to a printable form before + looking in the pap-secrets file. Characters >= 0x80 are translated + to a M- form, and characters from 0 to 0x1f (and 0x7f as well) are + translated to a ^X form. If this change causes you grief, let me + know what would be a better translation. It appears that some peers + send nulls or other control characters in their usernames and + passwords. + +* Pppd has new `ktune' and `noktune' options, which enable/disable + it to change kernel settings as appropriate. This is only + implemented under Linux, and requires the /proc filesystem to be + mounted. Under Linux, with the ktune option, pppd will enable IP + forwarding in the kernel if the proxyarp option is used, and will + enable the dynamic IP address kernel option in demand mode if the + local IP address changes. + +* Pppd no longer requires a remote address to be specified for demand + dialling. If none is specified, it will use a default value of + 10.112.112.112+unit_number. (It will not propose this default to + the peer.) + +* The default holdoff is now 0 if no connect script is given. + +* The IPV6 code from Tommi Komulainen, which I unfortunately only + partially merged in to ppp-2.3.9, has been fixed and updated. + +* The linux compilation glitches should be fixed now. + + +What was new in ppp-2.3.9. +************************** * Support for the new generic PPP layer under development for the Linux kernel. @@ -483,4 +541,4 @@ The primary site for releases of this software is: ftp://cs.anu.edu.au/pub/software/ppp/ -($Id: README,v 1.20 1999/08/19 19:26:03 masputra Exp $) +($Id: README,v 1.21 1999/09/17 05:20:36 paulus Exp $) diff --git a/README.linux b/README.linux index df918cf..6137383 100644 --- a/README.linux +++ b/README.linux @@ -1,7 +1,7 @@ -PPP for Linux Version 2.3.9 +PPP for Linux Version 2.3.10 ============= based on - ppp-2.3.9 - July 1999 + ppp-2.3.10 + September 1999 Paul Mackerras Paul.Mackerras@cs.anu.edu.au Al Longyear longyear@netcom.com @@ -206,7 +206,7 @@ above). If you are using a kernel earlier than 2.2.8, you can either use the driver in this package or upgrade your kernel to the current 2.2.x -series kernel (2.2.11, as of the release of ppp-2.3.9). If you choose +series kernel (2.2.12, as of the release of ppp-2.3.10). If you choose to use the driver in this package, you will need a copy of the kernel source tree to compile the driver. Issue the command: diff --git a/modules/if_ppp.c b/modules/if_ppp.c index 4a0dcb4..3b4071b 100644 --- a/modules/if_ppp.c +++ b/modules/if_ppp.c @@ -24,7 +24,7 @@ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, * OR MODIFICATIONS. * - * $Id: if_ppp.c,v 1.15 1999/07/23 07:07:34 paulus Exp $ + * $Id: if_ppp.c,v 1.16 1999/09/17 05:20:38 paulus Exp $ */ /* @@ -297,7 +297,7 @@ if_ppp_wput(q, mp) #endif /* __osf__ */ ifp->if_output = if_ppp_output; #ifdef __osf__ - ifp->if_version = "Point-to-Point Protocol, version 2.3.9"; + ifp->if_version = "Point-to-Point Protocol, version 2.3.10"; ifp->if_mediamtu = PPP_MTU; ifp->if_type = IFT_PPP; ifp->if_hdrlen = PPP_HDRLEN; diff --git a/pppd/patchlevel.h b/pppd/patchlevel.h index a3845fc..e7036ad 100644 --- a/pppd/patchlevel.h +++ b/pppd/patchlevel.h @@ -1,6 +1,6 @@ -/* $Id: patchlevel.h,v 1.43 1999/08/13 01:58:31 paulus Exp $ */ -#define PATCHLEVEL 9 +/* $Id: patchlevel.h,v 1.44 1999/09/17 05:21:01 paulus Exp $ */ +#define PATCHLEVEL 10 #define VERSION "2.3" #define IMPLEMENTATION "" -#define DATE "12 August 1999" +#define DATE "17 September 1999" diff --git a/pppd/pppd.8 b/pppd/pppd.8 index 67b5d32..60c51c0 100644 --- a/pppd/pppd.8 +++ b/pppd/pppd.8 @@ -1,5 +1,5 @@ .\" manual page [] for pppd 2.3 -.\" $Id: pppd.8,v 1.46 1999/08/24 05:31:10 paulus Exp $ +.\" $Id: pppd.8,v 1.47 1999/09/17 05:20:38 paulus Exp $ .\" SH section heading .\" SS subsection heading .\" LP paragraph @@ -202,6 +202,12 @@ in the expression from being interpreted by the shell. This option is currently only available under NetBSD, and then only if both the kernel and pppd were compiled with PPP_FILTER defined. .TP +.B allow-ip \fIaddress(es) +Allow peers to use the given IP address or subnet without +authenticating themselves. The parameter is parsed as for each +element of the list of allowed IP addresses in the secrets files (see +the AUTHENTICATION section below). +.TP .B bsdcomp \fInr,nt Request that the peer compress packets that it sends, using the BSD-Compress scheme, with a maximum code size of \fInr\fR bits, and @@ -418,6 +424,13 @@ transmitted packets be printed. On most systems, messages printed by the kernel are logged by syslog(1) to a file as directed in the /etc/syslog.conf configuration file. .TP +.B ktune +Enables pppd to alter kernel settings as appropriate. Under Linux, +pppd will enable IP forwarding (i.e. set /proc/sys/net/ipv4/ip_forward +to 1) if the \fIproxyarp\fR option is used, and will enable the +dynamic IP address option (i.e. set /proc/sys/net/ipv4/ip_dynaddr to +1) in demand mode if the local address changes. +.TP .B lcp-echo-failure \fIn If this option is given, pppd will presume the peer to be dead if \fIn\fR LCP echo-requests are sent without receiving a valid LCP @@ -599,6 +612,10 @@ Disable the IPXCP and IPX protocols. This option should only be required if the peer is buggy and gets confused by requests from pppd for IPXCP negotiation. .TP +.B noktune +Opposite of the \fIktune\fR option; disables pppd from changing system +settings. +.TP .B nolog Do not send log messages to a file or file descriptor. This option cancels the \fBlogfd\fR and \fBlogfile\fR options. @@ -686,6 +703,10 @@ the kernel and pppd were compiled with PPP_FILTER defined. Do not exit after a connection is terminated; instead try to reopen the connection. .TP +.B plugin \fIfilename +Load the shared library object file \fIfilename\fR as a plugin. This +is a privileged option. +.TP .B predictor1 Request that the peer compress frames that it sends using Predictor-1 compression, and agree to compress transmitted frames with Predictor-1 @@ -907,15 +928,7 @@ may use when connecting to the specified server. A secrets file is parsed into words as for a options file, so the client name, server name and secrets fields must each be one word, with any embedded spaces or other special characters quoted or -escaped. Any following words on the same line are taken to be a list -of acceptable IP addresses for that client. If there are only 3 words -on the line, or if the first word is "-", then all IP addresses are -disallowed. To allow any address, use "*". -A word starting with "!" indicates that the -specified address is \fInot\fR acceptable. An address may be followed -by "/" and a number \fIn\fR, to indicate a whole subnet, i.e. all -addresses which have the same value in the most significant \fIn\fR -bits. Note that case is significant in the client and server names +escaped. Note that case is significant in the client and server names and in the secret. .LP If the secret starts with an `@', what follows is assumed to be the @@ -923,6 +936,19 @@ name of a file from which to read the secret. A "*" as the client or server name matches any name. When selecting a secret, pppd takes the best match, i.e. the match with the fewest wildcards. .LP +Any following words on the same line are taken to be a list of +acceptable IP addresses for that client. If there are only 3 words on +the line, or if the first word is "-", then all IP addresses are +disallowed. To allow any address, use "*". A word starting with "!" +indicates that the specified address is \fInot\fR acceptable. An +address may be followed by "/" and a number \fIn\fR, to indicate a +whole subnet, i.e. all addresses which have the same value in the most +significant \fIn\fR bits. In this form, the address may be followed +by a plus sign ("+") to indicate that one address from the subnet is +authorized, based on the ppp network interface unit number in use. +In this case, the host part of the address will be set to the unit +number plus one. +.LP Thus a secrets file contains both secrets for use in authenticating other hosts, plus secrets which we use for authenticating ourselves to others. When pppd is authenticating the peer (checking the peer's -- 2.39.2