This is the README file for ppp-2.1.1. See SETUP and README.* for installation instructions. What is new in ppp-2.1.1: * Linux is now supported, thanks to Michael Callahan and Al Longyear . * Improvements to chat, along with a man page for it, thanks to Al Longyear. * Security improvements: - pppd now requires the /etc/ppp/options file to be readable, unless it is compiled with -DREQ_SYSOPTIONS=0 on the compilation command line. If you don't have an /etc/ppp/options file, you will at the minimum have to create an empty one. - pppd now reports an error and exits if the ~/.ppprc file or a file specified with the `file' option cannot be read by the user who invoked pppd. The file specified with the `+ua' option is also subject to the same check. - pppd now refuses to use an address on the loopback net or a multicast address for either end of the link. - if a netmask has been specified, a further netmask option will be rejected if it would "broaden" the netmask, that is, set a bit to 0 which was previously 1. Thus the system administrator can put a netmask option in /etc/ppp/options without having it overridden by an option on the command line. - chat now takes a -f option which indicates that it should read the script from the file. If you include a password in the script, you should put the script in a file instead of on the chat command line, because the chat command line is visible to anyone running ps(1) while chat is running. (You should of course make the script file readable only by yourself.) * pppd can now send an LCP echo-request periodically to the peer, and take the link down if no reply is received to a user-specified number of echo-requests. This allows pppd to determine if the serial link is broken on systems which do not support hardware modem control lines. Under Linux, the echo-request is sent if no packets have been received from the peer for a user-specified amount of time. Under other systems, echo-requests are simply sent periodically at user-specified intervals. See the `lcp-echo-interval' and `lcp-echo-failure' options. This code is from the Linux port. * pppd now reads a tty-specific options file after processing the command-line options. The file is called /etc/ppp/options. (for example, /etc/ppp/options.ttya2 if pppd is using /dev/ttya2). The system administrator can use these files to assign an IP address based on which tty port a call came in on, for example. * There is now a `-crtscts' flag (`xonxoff' is a synonym) which enables flow control using the DC1 (^Q) and DC3 (^S) characters (and disables hardware RTS/CTS flow control). This option is only supported under Linux at present. * There is now a `vj-max-slots' option which controls how many slots (connection IDs) the VJ compressor and decompressor will use. It takes a parameter which must be between 2 and 16. There is also a `-vjccomp' option which disables connection-ID compression. * Bugs fixed: - The priority queueing for interactive traffic was not working correctly on little-endian machines under BSD and Ultrix. This is now fixed. - If the peer escapes the character 0x5d (']') on transmission, the result is the PPP escape character twice in a row ('}}'). This case is now handled correctly by the receiver. - Previously, when the `passive' or `silent' options were used, pppd would not exit in response to a SIGTERM or SIGINT if it had not successfully established a connection. This bug is now fixed. * ppp-2.1.1 introduced the receive asyncmap, which was set to 0xffffffff (rejecting all received control characters) if it was not negotiated. This is in accordance with the relevant RFCs, but it apparently caused problems to some people who were trying to communicate with other, broken, PPP implementations. So, for backwards compatibility, the receive asyncmap is now set to 0x00000000 if it is not negotiated. ----------------------------------------------------------------------------- What was new in ppp-2.1: * Ultrix is now supported, thanks to Robert Olsson and Per Sundstrom. * An extended asyncmap has been implemented, so you can now ask for any character to be escaped on transmission (except 0x20 - 0x3f and 0x5e). The new `escape' option for pppd specifies those characters to be escaped on transmission (as distinct from the asyncmap option, which specifies which characters to ask the peer to escape). * pppd now has a `mtu' option which specifies the maximum packet size that should be transmitted (as distinct from the mru option, which specifies the maximum packet size we ask the peer to send). * The `debug' option to pppd now causes it to log the contents of all control packets sent and received in a readable form. In addition there is a `kdebug' option to control the debugging level in the kernel code. * Log messages from pppd are now logged using facility `daemon' rather than `local2', since pppd is now compiled by default without extra debug messages enabled. You probably need to edit your syslog.conf. I find it useful to send messages for facility `daemon' at level notice (or higher) to the console, and message at level debug (or higher) to a log file such as /etc/ppp/ppp-log. * pppd now includes code to lock and unlock the serial device using a UUCP-style lock file. The `lock' option enables this. * pppd now has a `disconnect' option which specifies a command to be run after the link is terminated. It can be used, for example, to hang up the modem. * The ppp drivers now record information which enables pppd to warn you if the link only transmits 7 bits/character, i.e. if the 8th bit is always 0, 1, even parity, or odd parity. * A bug in previous versions, where the VJ compressor would use 16 slots even if the peer requested fewer, has been fixed.