1This is the README file for ppp-2.5, a package which implements the 2Point-to-Point Protocol (PPP) to provide Internet connections over 3serial lines and other types of links which can be considered to be 4point-to-point links. 5 6 7Introduction. 8************* 9 10The Point-to-Point Protocol (PPP) provides a standard way to establish 11a network connection over a serial link. At present, this package 12supports IP and IPV6 and the protocols layered above them, such as TCP 13and UDP. 14 15This PPP implementation consists of two parts: 16 17- Kernel code, which establishes a network interface and passes 18packets between the serial port, the kernel networking code and the 19PPP daemon (pppd). This code is implemented using STREAMS modules on 20Solaris, and as a line discipline under Linux. 21 22- The PPP daemon (pppd), which negotiates with the peer to establish 23the link and sets up the ppp network interface. Pppd includes support 24for authentication, so you can control which other systems may make a 25PPP connection and what IP addresses they may use. 26 27The platforms supported by this package are Linux and Solaris. 28(There is also code to support various old flavours of Unix in the git 29repository, but it is quite old and unmaintained.) 30 31The kernel code for Linux is no longer distributed with this package, 32since the relevant kernel code is in the official Linux kernel source 33(and has been for many years) and is included in all reasonably modern 34Linux distributions. The Linux kernel code supports using PPP over 35things other than serial ports, such as PPP over Ethernet and PPP over 36ATM. 37 38Similarly, the kernel code for Solaris is no longer distributed with 39this package. See the Illumos web site for pointers to the kernel 40module source code and build environment. 41 42 https://www.illumos.org/ 43 44 45Installation. 46************* 47 48The file SETUP contains general information about setting up your 49system for using PPP. There is also a README file for each supported 50system, which contains more specific details for installing PPP on 51that system. The supported systems, and the corresponding README 52files, are: 53 54 Linux README.linux 55 Solaris README.sol2 56 57In each case you start by running the ./configure script. This works 58out which operating system you are using and creates the appropriate 59makefiles. You then run `make' to compile the user-level code, and 60(as root) `make install' to install the user-level programs pppd, chat 61and pppstats. 62 63N.B. Since 2.3.0, leaving the permitted IP addresses column of the 64pap-secrets or chap-secrets file empty means that no addresses are 65permitted. You need to put a "*" in that column to allow the peer to 66use any IP address. (This only applies where the peer is 67authenticating itself to you, of course.) 68 69 70What's new in ppp-2.5.2 71*********************** 72 73* Some old and probably unused code has been removed, notably the 74 pppgetpass program and the passprompt plugin, and some of the files 75 in the sample and scripts directories. 76 77* If a remote number has been set, it is available to scripts in the 78 REMOTENUMBER environment variable. 79 80* The Solaris port has been updated, including updated installation 81 instructions in README.sol2. 82 83* Various other bug fixes and minor enhancements. 84 85 86What was new in ppp-2.5.1 87************************* 88 89* The files copied to /etc/ppp (or <sysconfdir>/ppp) now have 90 ".example" appended to their filenames, so as to indicate that they 91 are just examples, and to avoid overwriting existing configuration 92 files. 93 94* Pppd can now measure and log the round-trip time (RTT) of LCP 95 echo-requests and record them in a binary file structured as a 96 circular buffer. Other programs or scripts can examine the file and 97 provide real-time statistics on link latency. This is enabled by a 98 new "lcp-rtt-file" option. 99 100* New scripts net-init, net-pre-up and net-down are executed in the 101 process of bringing the network interface up and down. They provide 102 additional, more deterministic ways for pppd to interact with the 103 rest of the networking configuration. 104 105* New options have been added to allow the system administrator to 106 set the location of various scripts and secrets files. 107 108* A new "noresolvconf" option tells pppd not to write the 109 /etc/ppp/resolv.conf file; DNS server addresses, if obtained from 110 the peer, are still passed to scripts in the environment. 111 112* Pppd will now create the directory for the TDB connection database 113 if it doesn't already exist. 114 115* Kernel module code for Solaris is no longer included. 116 117* Support for decompressing compressed packets has been removed from 118 pppdump, because the zlib code used was old and potentially 119 vulnerable. 120 121* Some old code has been removed. 122 123* Various other bug fixes and minor enhancements. 124 125 126What was new in ppp-2.5.0. 127************************** 128 129The 2.5.0 release is a major release of pppd which contains breaking 130changes for third-party plugins, a complete revamp of the build-system 131and that allows for flexibility of configuring features as needed. 132 133In Summary: 134* Support for PEAP authentication by Eivind Næss and Rustam Kovhaev 135* Support for loading PKCS12 certificate envelopes 136* Adoption of GNU Autoconf / Automake build environment, by Eivind Næss 137 and others. 138* Support for pkgconfig tool has been added by Eivind Næss. 139* Bunch of fixes and cleanup to PPPoE and IPv6 support by Pali Rohár. 140* Major revision to PPPD's Plugin API by Eivind Næss. 141 - Defines in which describes what features was included in pppd 142 - Functions now prefixed with explicit ppp_* to indicate that 143 pppd functions being called. 144 - Header files were renamed to better align with their features, 145 and now use proper include guards 146 - A pppdconf.h file is supplied to allow third-party modules to use 147 the same feature defines pppd was compiled with. 148 - No extern declarations of internal variable names of pppd, 149 continued use of these extern variables are considered 150 unstable. 151* Lots of internal fixes and cleanups for Radius and PPPoE by Jaco Kroon 152* Dropped IPX support, as Linux has dropped support in version 5.15 153 for this protocol. 154* Many more fixes and cleanups. 155* Pppd is no longer installed setuid-root. 156* New pppd options: 157 - ipv6cp-noremote, ipv6cp-nosend, ipv6cp-use-remotenumber, 158 ipv6-up-script, ipv6-down-script 159 - -v, show-options 160 - usepeerwins, ipcp-no-address, ipcp-no-addresses, nosendip 161* On Linux, any baud rate can be set on a serial port provided the 162 kernel serial driver supports that. 163 164Note that if you have built and installed previous versions of this 165package and you want to continue having configuration and TDB files in 166/etc/ppp, you will need to use the --sysconfdir option to ./configure. 167 168For a list of the changes made during the 2.4 series releases of this 169package, see the Changes-2.4 file. 170 171 172Compression methods. 173******************** 174 175This package supports two packet compression methods: Deflate and 176BSD-Compress. Other compression methods which are in common use 177include Predictor, LZS, and MPPC. These methods are not supported for 178two reasons - they are patent-encumbered, and they cause some packets 179to expand slightly, which pppd doesn't currently allow for. 180BSD-Compress and Deflate (which uses the same algorithm as gzip) don't 181ever expand packets. 182 183 184Contacts. 185********* 186 187Most communication relating to this package happens on github at 188https://github.com/ppp-project/ppp/. The linux-ppp@vger.kernel.org 189mailing list also exists and can be used. 190 191If you find bugs in this package, the best thing to do is to create an 192issue on github. If you can't or don't want to do that, you can post 193to linux-ppp@vger.kernel.org, or report them to the maintainer for the 194port for the operating system you are using: 195 196Linux Paul Mackerras <paulus@ozlabs.org> 197Solaris James Carlson <carlsonj@workingcode.com> 198 199 200Copyrights: 201*********** 202 203All of the code can be freely used and redistributed. The individual 204source files each have their own copyright and permission notice. 205Pppd, pppstats and pppdump are under BSD-style notices. Some of the 206pppd plugins are GPL'd. Chat has an MIT licence notice. 207 208 209Distribution: 210************* 211 212The primary site for releases of this software is: 213 214 ftp://ftp.samba.org/pub/ppp/ 215 216 217