]> git.ozlabs.org Git - ppp.git/blobdiff - README
config: Include some extra files in the tarball
[ppp.git] / README
diff --git a/README b/README
index b74301479ab1232ad60131afabdcec2616b9aae0..67e6abb4306b7850246a091a52f3d37e7b8ce760 100644 (file)
--- a/README
+++ b/README
@@ -1,6 +1,7 @@
-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.
@@ -8,11 +9,10 @@ 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
@@ -24,10 +24,22 @@ the link and sets up the ppp network interface.  Pppd includes support
 for authentication, so you can control which other systems may make a
 PPP connection and what IP addresses they may use.
 
-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 platforms supported by this package are Linux and Solaris.
+(There is also code to support various old flavours of Unix in the git
+repository, but it is quite old and unmaintained.)
+
+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.
+
+Similarly, the kernel code for Solaris is no longer distributed with
+this package.  See the Illumos web site for pointers to the kernel
+module source code and build environment.
+
+  https://www.illumos.org/
 
 
 Installation.
@@ -55,128 +67,106 @@ use any IP address.  (This only applies where the peer is
 authenticating itself to you, of course.)
 
 
-What's new in ppp-2.4.3.
-************************
-
-* The configure script now accepts --prefix and --sysconfdir options.
-  These default to /usr/local and /etc.  If you want pppd put in
-  /usr/sbin as before, use ./configure --prefix=/usr.
-
-* Doing `make install' no longer puts example configuration files in
-  /etc/ppp.  Use `make install-etcppp' if you want that.
-
-* The code has been updated to work with version 0.8.3 of libpcap.
-  Unfortunately the libpcap maintainers removed support for the
-  "inbound" and "outbound" keywords on PPP links, meaning that if you
-  link pppd with libpcap-0.8.3, you can't use those keywords in the
-  active-filter and pass-filter expressions.  The support has been
-  reinstated in the CVS version and should be in future libpcap
-  releases.  If you need the in/outbound keywords, use a later release
-  than 0.8.3, or get the CVS version from http://www.tcpdump.org.
-
-* There is a new option, child-timeout, which sets the length of time
-  that pppd will wait for child processes (such as the command
-  specified with the pty option) to exit before exiting itself.  It
-  defaults to 5 seconds.  After the timeout, pppd will send a SIGTERM
-  to any remaining child processes and exit.  A value of 0 means no
-  timeout.
-
-* Various bugs have been fixed, including some CBCP packet parsing
-  bugs that could lead to the peer being able to crash pppd if CBCP
-  support is enabled.
-
-* Various fixes and enhancements to the radius and rp-pppoe plugins
-  have been added.
-
-
-What was new in ppp-2.4.2.
-**************************
-
-* 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.
+What's new in ppp-2.5.2
+***********************
 
-* Support for the Encryption Control Protocol (ECP) has been added.
+* Some old and probably unused code has been removed, notably the
+  pppgetpass program and the passprompt plugin, and some of the files
+  in the sample and scripts directories.
 
-* 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.
+* If a remote number has been set, it is available to scripts in the
+  REMOTENUMBER environment variable.
 
-* Updates and bug-fixes for the Solaris port.
+* The Solaris port has been updated, including updated installation
+  instructions in README.sol2.
 
-* The CBCP (Call Back Control Protocol) code has been updated.  There
-  are new options `remotenumber' and `allow-number'.
+* Various other bug fixes and minor enhancements.
 
-* 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.
+What was new in ppp-2.5.1
+*************************
 
-* 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'.
+* The files copied to /etc/ppp (or <sysconfdir>/ppp) now have
+  ".example" appended to their filenames, so as to indicate that they
+  are just examples, and to avoid overwriting existing configuration
+  files.
 
-* Fixed several bugs, including potential buffer overflows in chat.
+* Pppd can now measure and log the round-trip time (RTT) of LCP
+  echo-requests and record them in a binary file structured as a
+  circular buffer.  Other programs or scripts can examine the file and
+  provide real-time statistics on link latency.  This is enabled by a
+  new "lcp-rtt-file" option.
 
+* New scripts net-init, net-pre-up and net-down are executed in the
+  process of bringing the network interface up and down.  They provide
+  additional, more deterministic ways for pppd to interact with the
+  rest of the networking configuration.
 
-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.
+* New options have been added to allow the system administrator to
+  set the location of various scripts and secrets files.
 
-* 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.
+* A new "noresolvconf" option tells pppd not to write the
+  /etc/ppp/resolv.conf file; DNS server addresses, if obtained from
+  the peer, are still passed to scripts in the environment.
 
-* 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.
+* Pppd will now create the directory for the TDB connection database
+  if it doesn't already exist.
 
-* 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;
+* Kernel module code for Solaris is no longer included.
 
-* 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.
+* Support for decompressing compressed packets has been removed from
+  pppdump, because the zlib code used was old and potentially
+  vulnerable.
 
-* Pppd should compile on Solaris and SunOS again.
+* Some old code has been removed.
 
-* Pppd should now set the MTU correctly on demand-dialled interfaces.
+* Various other bug fixes and minor enhancements.
 
 
-What was new in ppp-2.4.0.
+What was new in ppp-2.5.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.
@@ -191,37 +181,20 @@ BSD-Compress and Deflate (which uses the same algorithm as gzip) don't
 ever expand packets.
 
 
-Patents.
-********
-
-The BSD-Compress algorithm used for packet compression is the same as
-that used in the Unix "compress" command.  It was 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).  I believe the Unisys patent expired in the US on 20 June
-2003, and that the IBM patent was older.
-
-If these patents are of concern in your situation, 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.
-
-
 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>
-Solaris                        James Carlson <carlson@workingcode.com>
+Linux                  Paul Mackerras <paulus@ozlabs.org>
+Solaris                        James Carlson <carlsonj@workingcode.com>
 
 
 Copyrights:
@@ -230,7 +203,7 @@ Copyrights:
 All of the code can be freely used and redistributed.  The individual
 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.
+pppd plugins are GPL'd.  Chat has an MIT licence notice.
 
 
 Distribution:
@@ -241,4 +214,3 @@ The primary site for releases of this software is:
        ftp://ftp.samba.org/pub/ppp/
 
 
-($Id: README,v 1.31 2004/11/04 11:58:14 paulus Exp $)