X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=README;h=188807e39a6209f8d7cb5a2a98a9e45ee3c6e1f2;hp=0a571d7abf6dae00e276ac619e2e25c3a7251f85;hb=7f4c660a1d3d3ff2177b5335f815ee18d03d49f5;hpb=4d5401a1de510cdbb89cf10bc5956774c62683be diff --git a/README b/README index 0a571d7..188807e 100644 --- a/README +++ b/README @@ -2,12 +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 -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. For information on the current status of the -NeXTStep port, see http://www.thoughtport.com:8080/PPP/. - Introduction. ************* @@ -15,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: @@ -40,14 +34,21 @@ system, which contains more specific details for installing PPP on that system. The supported systems, and the corresponding README files, are: - SunOS 4.x README.sunos4 - NetBSD, FreeBSD README.bsd - Ultrix 4.x README.ultrix Linux README.linux - OSF/1 README.osf - NeXTStep README.next Solaris 2 README.sol2 + Digital Unix (OSF/1) README.osf + NetBSD, FreeBSD README.bsd + NeXTStep README.next + 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 @@ -61,32 +62,424 @@ 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.11. +************************* + +* Support for Solaris 8 has been added, including support for + replumbing and IPV6. + +* The Solaris `snoop' utility should now work on ppp interfaces. + +* New hooks have been added - pap_logout_hook, ip_up_hook, and + ip_down_hook. + +* A new `passprompt' plugin is included, thanks to Alan Curry, which + makes it possible for pppd to call an external program to get the + PAP password to send to the peer. + +* The error messages for the situation where authentication is + required because the system has a default route have been improved. + +* There is a new connect_delay option which specifies how long pppd + should pause after the connect script finishes. Previously this + delay was fixed at 1 second. (This delay terminates as soon as pppd + sees a valid PPP frame from the peer.) + +* The `hide-password' option is now the default, and there is a new + `show-password' option to enable the printing of password strings in + the debug output. + +* A fairly complete list of the names of PPP protocols has been added + so that when pppd rejects a frame because its protocol is not + supported, it can print the name of the unsupported protocol. + +* Synchronous serial lines are supported under Linux 2.3.x. + +* The bug where pppd would not recognize a modem hangup under Linux + 2.3.x kernels has been fixed. + + +What was 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. + +* 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-.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 will send log messages to file + descriptor 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). -What's new in ppp-2.3. -********************** +* 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.) + +* Added new option `usepeerdns', thanks to Nick Walker + . 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. @@ -95,6 +488,42 @@ were written from scratch without any Clements code. It also has a new -d option which displays data rate in kbyte/s for those columns which would normally display bytes. +* Pppd options beginning with - or + have been renamed, e.g. -ip +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 +allowed IP address(es) field in the secrets files can now specify +subnets (with a notation like 123.45.67.89/24) and addresses which are +not acceptable (put a ! on the front). + +* Numerous bugs have been fixed (no doubt some have been introduced :-) +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. ******** @@ -113,35 +542,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 +Solaris 2 Adi Masputra +SunOS 4.x Adi Masputra +Digital Unix (OSF/1) Sowmini Varadhan +NetBSD Matthew Green +FreeBSD Peter Wemm +NeXTStep Steve Perkins +System V Release 4 Matthias Apitz +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: @@ -152,4 +578,4 @@ The primary site for releases of this software is: ftp://cs.anu.edu.au/pub/software/ppp/ -($Id: README,v 1.5 1996/07/01 05:27:42 paulus Exp $) +($Id: README,v 1.22 1999/12/23 01:40:09 paulus Exp $)