summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NeXT/Makefile.top4
-rw-r--r--NeXT/if_ppp.c4
-rw-r--r--README64
-rw-r--r--README.linux8
-rw-r--r--modules/if_ppp.c4
-rw-r--r--pppd/patchlevel.h6
-rw-r--r--pppd/pppd.846
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