]> git.ozlabs.org Git - ppp.git/blobdiff - README
Comments on 64-bitness and IPv6 on Sol 8
[ppp.git] / README
diff --git a/README b/README
index 8dd7db04d4534acaf215ab38a517eac4ef691206..e01675ffd7c33f9e1035f8027b067b7982025226 100644 (file)
--- a/README
+++ b/README
@@ -2,13 +2,6 @@ This is the README file for ppp-2.3, a package which implements the
 Point-to-Point Protocol (PPP) to provide Internet connections over
 serial lines.
 
-In this first beta release, the ports for SunOS, Solaris, NetBSD and
-Digital Unix (OSF/1) are believed to be working correctly.  The Linux
-port mostly works, but still has some known bugs.  The remaining ports
-haven't been tested extensively.  The NeXTStep port is not included
-here since it hasn't been updated from 2.2 yet.  For information on
-its current status, see http://www.thoughtport.com:8080/PPP/.
-
 
 Introduction.
 *************
@@ -16,7 +9,7 @@ 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 port of this package also supports IPX.
+The Linux port of this package also has support for IPX.
 
 This software consists of two parts:
 
@@ -41,15 +34,22 @@ system, which contains more specific details for installing PPP on
 that system.  The supported systems, and the corresponding README
 files, are:
 
-       Digital Unix (OSF/1)            README.osf
        Linux                           README.linux
+       Solaris 2                       README.sol2
+       Digital Unix (OSF/1)            README.osf
        NetBSD, FreeBSD                 README.bsd
        NeXTStep                        README.next
-       Solaris 2                       README.sol2
        SunOS 4.x                       README.sunos4
        System V Release 4              README.svr4
        Ultrix 4.x                      README.ultrix
 
+In fact, only the Linux and Solaris 2 ports have been tested in this
+release.  Code for the other systems is still included; if you use it,
+let me know how it works.  If I don't hear from anyone it will
+probably get dropped in a subsequent release.  AIX 4 is no longer
+supported, since I don't have a maintainer for the AIX 4 port.  If you
+want to volunteer, contact me.
+
 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
@@ -62,32 +62,329 @@ kernel using a `modload' facility.  On others, the kernel image has to
 be recompiled and the system rebooted.  See the README.* files for
 details.
 
-(Unfortunately, AIX 4 is no longer supported, since I don't have a
-maintainer for the AIX 4 port.  If you want to volunteer, contact me.)
+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
+permitted.  You need to put a "*" in that column to allow the peer to
+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.
+************************
+
+* Support for the new generic PPP layer under development for the
+  Linux kernel.
+
+* You can now place extra options to apply to specific users at the
+  end of the line with their password in the pap-secrets or
+  chap-secrets file, separated from the IP address(es) with a "--"
+  separator.  These options are parsed after the peer is authenticated
+  but before network protocol (IPCP, IPXCP) or CCP negotiation
+  commences.
+
+* Pppd will apply the holdoff period if the link was terminated by the
+  peer.  It doesn't apply it if the link was terminated because the
+  local pppd thought it was idle.
+
+* Synchronous support for Solaris has been added, thanks to John
+  Morrison, and for FreeBSD, thanks to Paul Fulghum.
+
+* IPV6 support has been merged in, from Tommi Komulainen.  At the
+  moment it only supports Linux and it is not tested by me.
+
+* The `nodefaultip' option can be used in demand mode to say that pppd
+  should not suggest its local IP address to the peer.
+
+* The `init' option has been added; this causes pppd to run a script
+  to initialize the serial device (e.g. by sending an init string to
+  the modem).  Unlike the connect option, this can be used in a
+  dial-in situation.  (Thanks to Tobias Ringstrom.)
+
+* There is a new `logfile' option to send log messages to a file as
+  well as syslog.
+
+* There is a new, privileged `linkname' option which sets a logical
+  name for the link.  Pppd will create a /var/run/ppp-<linkname>.pid
+  file containing its process ID.
+
+* There is a new `maxfail' option which specifies how many consecutive
+  failed connection attempts are permitted before pppd will exit.  The
+  default value is 10, and 0 means infinity. :-)
+
+* Sundry bugs fixed.
+
+
+What was new in ppp-2.3.8.
+**************************
+
+* The exit status of pppd will now indicate whether the link was
+  successfully established, or if not, what error was encountered.
+
+* Pppd has two new options: fdlog <n> will send log messages to file
+  descriptor <n> instead of standard output, and nofdlog will stop log
+  messages from being sent to any file descriptor (they will still be
+  sent to syslog).  Pppd now will not send log messages to a file
+  descriptor if the serial port is open on that file descriptor.
+
+* Pppd sets an environment variable called PPPLOGNAME for scripts that
+  it runs, indicating the login name of the user who invoked pppd.
+
+* Pppd sets environment variables CONNECT_TIME, BYTES_SENT and
+  BYTES_RCVD for the ip-down and auth-down scripts indicating the
+  statistics for the connection just terminated.  (CONNECT_TIME is in
+  seconds.)
+
+* If the user has the serial device open on standard input and
+  specifies a symbolic link to the serial device on the command line,
+  pppd will detect this and behave correctly (i.e. not detach from its
+  controlling terminal).  Furthermore, if the serial port is open for
+  reading and writing on standard input, pppd will assume that it is
+  locked by its invoker and not lock it itself.
+
+* Chat now has a feature where if a string to be sent begins with an
+  at sign (@), the rest of the string is taken as the name of a file
+  (regular file or named pipe), and the actual string to send is taken
+  from that file.
+
+* Support for FreeBSD-2.2.8 and 3.0 has been added, thanks to Paul
+  Fulghum.
+
+* The Tru64 (aka Digital Unix aka OSF/1) port has been updated.
+
+* The system panics on Solaris SMP systems related to PPP connections
+  being established and terminated should no longer occur.
+
+* Fixed quite a few bugs.
+
+
+What was new in ppp-2.3.7.
+**************************
+
+* Pppd can now automatically allocate itself a pseudo-tty to use as
+  the serial device.  This has made three new options possible:
+
+  - `pty script' will run `script' with its standard input and output
+    connected to the master side of the pty.  For example:
+       pppd pty 'ssh -t server.my.net pppd'
+    is a basic command for setting up a PPP link (tunnel) over ssh.
+    (In practice you may need to specify other options such as IP
+    addresses, etc.)
+
+  - `notty' tells pppd to communicate over its standard input and
+    output, which do not have to be a terminal device.
+
+  - `record filename' tells pppd to record all of the characters sent
+    and received over the serial device to a file called `filename'.
+    The data is recorded in a tagged format with timestamps, which can
+    be printed in a readable form with the pppdump program, which is
+    included in this distribution.
+
+* Pppd now logs the connect time and number of bytes sent and received
+  (at the level of the serial device) when the connection is
+  terminated.
+
+* If you use the updetach or nodetach option, pppd will print its
+  messages to standard output as well as logging them with syslog
+  (provided of course pppd isn't using its standard input or output as
+  its serial device).
+
+* There is a new `privgroup groupname' option (a privileged option).
+  If the user running pppd is in group `groupname', s/he can use
+  privileged options without restriction.
+
+* There is a new `receive-all' option, which causes pppd to accept all
+  control characters, even the ones that the peer should be escaping
+  (i.e. the receive asyncmap is 0).  This is useful with some buggy
+  peers.
+
+* The default asyncmap is now 0.
+
+* There is a new `sync' option, currently only implemented under
+  Linux, which allows pppd to run on synchronous HDLC devices.
+
+* If a value for the device name or for the connect, disconnect,
+  welcome or pty option is given in a privileged option file
+  (i.e. /etc/ppp/options or a file loaded with the `call' option), it
+  cannot be overridden by a non-privileged user.
+
+* Many bugs have been fixed, notably:
+  - signals are not blocked unnecessarily, as they were in 2.3.6.
+  - the usepeerdns option should work now.
+  - the SPEED environment variable for scripts is set correctly.
+  - the /etc/ppp/auth-down script is not run until auth-up completes.
+  - the device is opened as root if it is the device on standard
+    input.
+  - pppd doesn't die with the ioctl(PPPIOCSASYNCMAP) error under linux
+    if a hangup occurs at the wrong time.
+
+* Some error messages have been changed to be clearer (I hope :-)
+
+
+What was new in ppp-2.3.6.
+**************************
+
+* Pppd now opens the tty device as the user (rather than as root) if
+  the device name was given by the user, i.e. on the command line or
+  in the ~/.ppprc file.  If the device name was given in
+  /etc/ppp/options or in a file loaded with the `call' option, the
+  device is opened as root.
 
+* The default behaviour of pppd is now to let a peer which has not
+  authenticated itself (e.g. your ISP) use any IP address to which the
+  system does not already have a route.  (This is currently only
+  supported under Linux, Solaris and Digital Unix; on the other
+  systems, the peer must now authenticate itself unless the noauth
+  option is used.)
 
-What's new in ppp-2.3.
-**********************
+* Added new option `usepeerdns', thanks to Nick Walker
+  <nickwalker@email.com>.  If the peer supplies DNS addresses, these
+  will be written to /etc/ppp/resolv.conf.  The ip-up script can then
+  be used to add these addresses to /etc/resolv.conf if desired (see
+  the ip-up.local.add and ip-down.local.add files in the scripts
+  directory).
+
+* The Solaris ppp driver should now work correctly on SMP systems.
+
+* Minor corrections so that the code can compile under Solaris 7,
+  and under Linux with glibc-2.1.
+
+* The Linux kernel driver has been restructured for improved
+  performance.
+
+* Pppd now won't start the ip-down script until the ip-up script has
+  finished.
+
+
+What was new in ppp-2.3.5.
+**************************
+
+* Minor corrections to the Digital UNIX and NetBSD ports.
+
+* A workaround to avoid tickling a bug in the `se' serial port driver
+on Sun PCI Ultra machines running Solaris.
+
+* Fixed a bug in the negotiation of the Microsoft WINS server address
+option.
+
+* Fixed a bug in the Linux port where it would fail for kernel
+versions above 2.1.99.
+
+
+What was new in ppp-2.3.4.
+**************************
+
+* The NeXT port has been updated, thanks to Steve Perkins.
+
+* ppp-2.3.4 compiles and works under Solaris 2.6, using either gcc or
+cc.
+
+* With the Solaris, SVR4 and SunOS ports, you can control the choice
+of C compiler, C compiler options, and installation directories by
+editing the svr4/Makedefs or sunos4/Makedefs file.
+
+* Until now, we have been using the number 24 to identify Deflate
+compression in the CCP negotiations, which was the number in the draft
+RFC describing Deflate.  The number actually assigned to Deflate is
+26.  The code has been changed to use 26, but to allow the use of 24
+for now for backwards compatibility.  (This can be disabled with the
+`nodeflatedraft' option to pppd.)
+
+* Fixed some bugs in the linux driver and deflate compressor which
+were causing compression problems, including corrupting long
+incompressible packets sometimes.
+
+* Fixes to the PAM and shadow password support in pppd, from Al
+Longyear and others.
+
+* Pppd now sets some environment variables for scripts it invokes
+(ip-up/down, auth-ip/down), giving information about the connection.
+The variables it sets are PEERNAME, IPLOCAL, IPREMOTE, UID, DEVICE,
+SPEED, and IFNAME.
+
+* Pppd now has an `updetach' option, which will cause it to detach
+from its controlling terminal once the link has come up (i.e. once it
+is available for IP traffic).
+
+
+What was new in ppp-2.3.3.
+**************************
+
+* Fixed compilation problems under SunOS.
+
+* Fixed a bug introduced into chat in 2.3.2, and compilation problems
+introduced into the MS-CHAP implementation in 2.3.2.
+
+* The linux kernel driver has been updated for recent 2.1-series
+kernel changes, and it now will ask kerneld to load compression
+modules when required, if the kernel is configured to support kerneld.
+
+* Pppd should now compile correctly under linux on systems with glibc.
+
+
+What was new in ppp-2.3.2.
+**************************
+
+* In 2.3.1, I made a change which was intended to make pppd able to
+detect loss of CD during or immediately after the connection script
+runs.  Unfortunately, this had the side-effect that the connection
+script wouldn't work at all on some systems.  This change has been
+reversed.
+
+* Fix compilation problems in the Linux kernel driver.
+
+
+What was new in ppp-2.3.1.
+**************************
+
+* Enhancements to chat, thanks to Francis Demierre.  Chat can now
+accept comments in the chat script file, and has new SAY, HANGUP,
+CLR_ABORT and CLR_REPORT keywords.
+
+* Fixed a bug which causes 2.3.0 to crash Solaris systems.
+
+* Bug-fixes and restructuring of the Linux kernel driver.
+
+* The holdoff behaviour of pppd has been changed slightly: now, if
+the link comes up for IP (or other network protocol) traffic, we
+consider that the link has been successfully established, and don't
+enforce the holdoff period after the link goes down.
+
+* Pppd should now correctly wait for CD (carrier detect) from the
+modem, even when the serial port initially had CLOCAL set, and it
+should also detect loss of CD during or immediately after the
+connection script runs.
+
+* Under linux, pppd will work with older 2.2.0* version kernel
+drivers, although demand-dialling is not supported with them.
+
+* Minor bugfixes for pppd.
+
+
+What was new in ppp-2.3.
+************************
 
 * Demand-dialling.  Pppd now has a mode where it will establish the
 network interface immediately when it starts, but not actually bring
-the link up until it sees some data to be sent.
+the link up until it sees some data to be sent.  Look for the demand
+option description in the pppd man page.  Demand-dialling is not
+supported under Ultrix or NeXTStep.
 
 * Idle timeout.  Pppd will optionally terminate the link if no data
 packets are sent or received within a certain time interval.
 
 * Pppd now runs the /etc/ppp/auth-up script, if it exists, when the
 peer successfully authenticates itself, and /etc/ppp/auth-down when
-the connection is subsequently terminated.
+the connection is subsequently terminated.  This can be useful for
+accounting purposes.
 
 * A new packet compression scheme, Deflate, has been implemented.
 This uses the same compression method as `gzip'.  This method is free
 of patent or copyright restrictions, and it achieves better
 compression than BSD-Compress.  It does consume more CPU cycles for
-compression than BSD-Compress, but this won't be a problem for links
-running at 100kbit/s or less.
+compression than BSD-Compress, but this shouldn't be a problem for
+links running at 100kbit/s or less.
 
-* There is now no code in this distribution which is covered by Brad
+* There is no code in this distribution which is covered by Brad
 Clements' restrictive copyright notice.  The STREAMS modules for SunOS
 and OSF/1 have been rewritten, based on the Solaris 2 modules, which
 were written from scratch without any Clements code.
@@ -100,6 +397,15 @@ those columns which would normally display bytes.
 became noip, +chap became require-chap, etc.  The old options are
 still accepted for compatibility but may be removed in future.
 
+* Pppd now has some options (such as the new `noauth' option) which
+can only be specified if it is being run by root, or in an
+"privileged" options file: /etc/ppp/options or an options file in the
+/etc/ppp/peers directory.  There is a new "call" option to read
+options from a file in /etc/ppp/peers, making it possible for non-root
+users to make unauthenticated connections, but only to certain trusted
+peers.  My intention is to make the `auth' option the default in a
+future release.
+
 * Several minor new features have been added to pppd, including the
 maxconnect and welcome options.  Pppd will now terminate the
 connection when there are no network control protocols running.  The
@@ -111,6 +417,19 @@ not acceptable (put a ! on the front).
 Thanks to those who reported bugs in ppp-2.2.
 
 
+Compression methods.
+********************
+
+This package supports two packet compression methods: Deflate and
+BSD-Compress.  Other compression methods which are in common use
+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.
 ********
 
@@ -128,35 +447,32 @@ removed from the Makefiles.
 Contacts.
 *********
 
-Bugs in the the SunOS, Solaris 2, NetBSD and Ultrix ports, and bugs in
-pppd, chat or pppstats should be reported me at:
-
-       email:  Paul.Mackerras@cs.anu.edu.au
-
-       mail:   Dr Paul Mackerras
-               Dept. of Computer Science
-               Australian National University
-               Canberra  ACT  0200
-               AUSTRALIA
-
-       fax:    +61-6-249-0010
-
-Bugs in other ports should be reported to the maintainer for that port
-(see the appropriate README.* file) or to me.
+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.
 
-Thanks to:
+If you find bugs in this package, please report them to the maintainer
+for the port for the operating system you are using:
 
-       Brad Parker  (brad@fcr.com)
-       Greg Christy (gmc@quotron.com)
-       Drew D. Perkins (ddp@andrew.cmu.edu)
-       Rick Adams (rick@seismo.ARPA)
-       Chris Torek (chris@mimsy.umd.edu, umcp-cs!chris).
+Linux                  Paul Mackerras <Paul.Mackerras@cs.anu.edu.au>
+Solaris 2              Adi Masputra <adi.masputra@sun.com>
+SunOS 4.x              Adi Masputra <adi.masputra@sun.com>
+Digital Unix (OSF/1)   Sowmini Varadhan <varadhan@zk3.dec.com>
+NetBSD                 Matthew Green <mrg@eterna.com.au>
+FreeBSD                        Peter Wemm <peter@haywire.DIALix.COM>
+NeXTStep               Steve Perkins <perkins@cps.msu.edu>
+System V Release 4     Matthias Apitz <Matthias.Apitz@SOFTCON.de>
+Ultrix 4.x             Paul Mackerras (for want of anybody better :-)
 
 
 Copyrights:
 ***********
 
-All of the code can be freely used and redistributed.
+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.
 
 
 Distribution:
@@ -167,4 +483,4 @@ The primary site for releases of this software is:
        ftp://cs.anu.edu.au/pub/software/ppp/
 
 
-($Id: README,v 1.6 1996/07/03 06:47:29 paulus Exp $)
+($Id: README,v 1.20 1999/08/19 19:26:03 masputra Exp $)