-This is the README file for ppp-2.4, a package which implements the
+This is the README file for ppp-2.5, a package which implements the
Point-to-Point Protocol (PPP) to provide Internet connections over
-serial lines.
+serial lines and other types of links which can be considered to be
+point-to-point links.
Introduction.
The Point-to-Point Protocol (PPP) provides a standard way to establish
a network connection over a serial link. At present, this package
-supports IP and the protocols layered above IP, such as TCP and UDP.
-The Linux and Solaris ports of this package have optional support for
-IPV6; the Linux port of this package also has support for IPX.
+supports IP and IPV6 and the protocols layered above them, such as TCP
+and UDP.
-This software consists of two parts:
+This PPP implementation consists of two parts:
- Kernel code, which establishes a network interface and passes
packets between the serial port, the kernel networking code and the
for authentication, so you can control which other systems may make a
PPP connection and what IP addresses they may use.
-The primary platforms supported by this package are Linux and Solaris.
-Code for SunOS 4.x is included here but is largely untested. I have
-code for NeXTStep, FreeBSD, SVR4, Tru64 (Digital Unix), AIX and Ultrix
-but no active maintainers for these platforms. Code for all of these
-except AIX is included in the ppp-2.3.11 release.
+The platforms supported by this package are Linux and Solaris. I have
+code for NeXTStep, FreeBSD, SunOS 4.x, SVR4, Tru64 (Digital Unix), AIX
+and Ultrix but no active maintainers for these platforms. Code for
+all of these except AIX is included in the ppp-2.3.11 release.
+
+The kernel code for Linux is no longer distributed with this package,
+since the relevant kernel code is in the official Linux kernel source
+(and has been for many years) and is included in all reasonably modern
+Linux distributions. The Linux kernel code supports using PPP over
+things other than serial ports, such as PPP over Ethernet and PPP over
+ATM.
Installation.
Solaris README.sol2
In each case you start by running the ./configure script. This works
-out which operating system you are using and creates symbolic links to
-the appropriate makefiles. You then run `make' to compile the
-user-level code, and (as root) `make install' to install the
-user-level programs pppd, chat and pppstats.
+out which operating system you are using and creates the appropriate
+makefiles. You then run `make' to compile the user-level code, and
+(as root) `make install' to install the user-level programs pppd, chat
+and pppstats.
N.B. Since 2.3.0, leaving the permitted IP addresses column of the
pap-secrets or chap-secrets file empty means that no addresses are
authenticating itself to you, of course.)
-What's new in ppp-2.4.2.
+What's new in ppp-2.5.0.
************************
-* The CHAP code has been rewritten. Pppd now has support for MS-CHAP
- V1 and V2 authentication, both as server and client. The new CHAP
- code is cleaner than the old code and avoids some copyright problems
- that existed in the old code.
-
-* MPPE (Microsoft Point-to-Point Encryption) support has been added,
- although the current implementation shouldn't be considered
- completely secure. (There is no assurance that the current code
- won't ever transmit an unencrypted packet.)
-
-* James Carlson's implementation of the Extensible Authentication
- Protocol (EAP) has been added.
-
-* Support for the Encryption Control Protocol (ECP) has been added.
-
-* Some new plug-ins have been included:
- - A plug-in for kernel-mode PPPoE (PPP over Ethernet)
- - A plug-in for supplying the PAP password over a pipe from another
- process
- - A plug-in for authenticating using a Radius server.
-
-* Updates and bug-fixes for the Solaris port.
-
-* The CBCP (Call Back Control Protocol) code has been updated. There
- are new options `remotenumber' and `allow-number'.
-
-* Extra hooks for plugins to use have been added.
-
-* There is now a `maxoctets' option, which causes pppd to terminate
- the link once the number of bytes passed on the link exceeds a given
- value.
-
-* There are now options to control whether pppd can use the IPCP
- IP-Address and IP-Addresses options: `ipcp-no-address' and
- `ipcp-no-addresses'.
-
-* Fixed several bugs, including potential buffer overflows in chat.
-
-
-What was new in ppp-2.4.1.
-**************************
-
-* Pppd can now print out the set of options that are in effect. The
- new `dump' option causes pppd to print out the option values after
- option parsing is complete. The `dryrun' option causes pppd to
- print the options and then exit.
-
-* The option parsing code has been fixed so that options in the
- per-tty options file are parsed correctly, and don't override values
- from the command line in most cases.
-
-* The plugin option now looks in /usr/lib/pppd/<pppd-version> (for
- example, /usr/lib/pppd/2.4.1b1) for shared objects for plugins if
- there is no slash in the plugin name.
-
-* When loading a plugin, pppd will now check the version of pppd for
- which the plugin was compiled, and refuse to load it if it is
- different to pppd's version string. To enable this, the plugin
- source needs to #include "pppd.h" and have a line saying:
- char pppd_version[] = VERSION;
-
-* There is a bug in zlib, discovered by James Carlson, which can cause
- kernel memory corruption if Deflate is used with the lowest setting,
- 8. As a workaround pppd will now insist on using at least 9.
-
-* Pppd should compile on Solaris and SunOS again.
-
-* Pppd should now set the MTU correctly on demand-dialled interfaces.
-
-
-What was new in ppp-2.4.0.
-**************************
-
-* Multilink: this package now allows you to combine multiple serial
- links into one logical link or `bundle', for increased bandwidth and
- reduced latency. This is currently only supported under the
- 2.4.x and later Linux kernels.
-
-* All the pppd processes running on a system now write information
- into a common database. I used the `tdb' code from samba for this.
-
-* New hooks have been added.
-
-For a list of the changes made during the 2.3 series releases of this
-package, see the Changes-2.3 file.
+The 2.5.0 release is a major release of pppd which contains breaking
+changes for third-party plugins, a complete revamp of the build-system
+and that allows for flexibility of configuring features as needed.
+
+In Summary:
+* Support for PEAP authentication by Eivind Næss and Rustam Kovhaev
+* Support for loading PKCS12 certificate envelopes
+* Adoption of GNU Autoconf / Automake build environment, by Eivind Næss
+ and others.
+* Support for pkgconfig tool has been added by Eivind Næss.
+* Bunch of fixes and cleanup to PPPoE and IPv6 support by Pali Rohár.
+* Major revision to PPPD's Plugin API by Eivind Næss.
+ - Defines in which describes what features was included in pppd
+ - Functions now prefixed with explicit ppp_* to indicate that
+ pppd functions being called.
+ - Header files were renamed to better align with their features,
+ and now use proper include guards
+ - A pppdconf.h file is supplied to allow third-party modules to use
+ the same feature defines pppd was compiled with.
+ - No extern declarations of internal variable names of pppd,
+ continued use of these extern variables are considered
+ unstable.
+* Lots of internal fixes and cleanups for Radius and PPPoE by Jaco Kroon
+* Dropped IPX support, as Linux has dropped support in version 5.15
+ for this protocol.
+* Many more fixes and cleanups.
+* Pppd is no longer installed setuid-root.
+* New pppd options:
+ - ipv6cp-noremote, ipv6cp-nosend, ipv6cp-use-remotenumber,
+ ipv6-up-script, ipv6-down-script
+ - -v, show-options
+ - usepeerwins, ipcp-no-address, ipcp-no-addresses, nosendip
+* On Linux, any baud rate can be set on a serial port provided the
+ kernel serial driver supports that.
+
+Note that if you have built and installed previous versions of this
+package and you want to continue having configuration and TDB files in
+/etc/ppp, you will need to use the --sysconfdir option to ./configure.
+
+For a list of the changes made during the 2.4 series releases of this
+package, see the Changes-2.4 file.
Compression methods.
include Predictor, LZS, and MPPC. These methods are not supported for
two reasons - they are patent-encumbered, and they cause some packets
to expand slightly, which pppd doesn't currently allow for.
-BSD-Compress is also patent-encumbered (its inclusion in this package
-can be considered a historical anomaly :-) but it doesn't ever expand
-packets. Neither does Deflate, which uses the same algorithm as gzip.
-
-
-Patents.
-********
-
-The BSD-Compress algorithm used for packet compression is the same as
-that used in the Unix "compress" command. It is apparently covered by
-U.S. patents 4,814,746 (owned by IBM) and 4,558,302 (owned by Unisys),
-and corresponding patents in various other countries (but not
-Australia). If this is of concern, you can build the package without
-including BSD-Compress. To do this, edit net/ppp-comp.h to change the
-definition of DO_BSD_COMPRESS to 0. The bsd-comp.c files are then no
-longer needed, so the references to bsd-comp.o may optionally be
-removed from the Makefiles.
+BSD-Compress and Deflate (which uses the same algorithm as gzip) don't
+ever expand packets.
Contacts.
*********
-The comp.protocols.ppp newsgroup is a useful place to get help if you
-have trouble getting your ppp connections to work. Please do not send
-me questions of the form "please help me get connected to my ISP" -
-I'm sorry, but I simply do not have the time to answer all the
-questions like this that I get.
+Most communication relating to this package happens on github at
+https://github.com/ppp-project/ppp/. The linux-ppp@vger.kernel.org
+mailing list also exists and can be used.
-If you find bugs in this package, please report them to the maintainer
-for the port for the operating system you are using:
+If you find bugs in this package, the best thing to do is to create an
+issue on github. If you can't or don't want to do that, you can post
+to linux-ppp@vger.kernel.org, or report them to the maintainer for the
+port for the operating system you are using:
-Linux Paul Mackerras <paulus@samba.org>
+Linux Paul Mackerras <paulus@ozlabs.org>
Solaris James Carlson <carlson@workingcode.com>
***********
All of the code can be freely used and redistributed. The individual
-source files each have their own copyright and permission notice; some
-have a BSD-style notice and some are under the GPL.
+source files each have their own copyright and permission notice.
+Pppd, pppstats and pppdump are under BSD-style notices. Some of the
+pppd plugins are GPL'd. Chat is public domain.
Distribution:
ftp://ftp.samba.org/pub/ppp/
-($Id: README,v 1.30 2003/11/27 21:32:03 paulus Exp $)