xf.li | 8402749 | 2024-04-09 00:17:51 -0700 | [diff] [blame] | 1 | This is the README file for ppp-2.5, a package which implements the |
| 2 | Point-to-Point Protocol (PPP) to provide Internet connections over |
| 3 | serial lines and other types of links which can be considered to be |
| 4 | point-to-point links. |
| 5 | |
| 6 | |
| 7 | Introduction. |
| 8 | ************* |
| 9 | |
| 10 | The Point-to-Point Protocol (PPP) provides a standard way to establish |
| 11 | a network connection over a serial link. At present, this package |
| 12 | supports IP and IPV6 and the protocols layered above them, such as TCP |
| 13 | and UDP. |
| 14 | |
| 15 | This PPP implementation consists of two parts: |
| 16 | |
| 17 | - Kernel code, which establishes a network interface and passes |
| 18 | packets between the serial port, the kernel networking code and the |
| 19 | PPP daemon (pppd). This code is implemented using STREAMS modules on |
| 20 | Solaris, and as a line discipline under Linux. |
| 21 | |
| 22 | - The PPP daemon (pppd), which negotiates with the peer to establish |
| 23 | the link and sets up the ppp network interface. Pppd includes support |
| 24 | for authentication, so you can control which other systems may make a |
| 25 | PPP connection and what IP addresses they may use. |
| 26 | |
| 27 | The platforms supported by this package are Linux and Solaris. I have |
| 28 | code for NeXTStep, FreeBSD, SunOS 4.x, SVR4, Tru64 (Digital Unix), AIX |
| 29 | and Ultrix but no active maintainers for these platforms. Code for |
| 30 | all of these except AIX is included in the ppp-2.3.11 release. |
| 31 | |
| 32 | The kernel code for Linux is no longer distributed with this package, |
| 33 | since the relevant kernel code is in the official Linux kernel source |
| 34 | (and has been for many years) and is included in all reasonably modern |
| 35 | Linux distributions. The Linux kernel code supports using PPP over |
| 36 | things other than serial ports, such as PPP over Ethernet and PPP over |
| 37 | ATM. |
| 38 | |
| 39 | |
| 40 | Installation. |
| 41 | ************* |
| 42 | |
| 43 | The file SETUP contains general information about setting up your |
| 44 | system for using PPP. There is also a README file for each supported |
| 45 | system, which contains more specific details for installing PPP on |
| 46 | that system. The supported systems, and the corresponding README |
| 47 | files, are: |
| 48 | |
| 49 | Linux README.linux |
| 50 | Solaris README.sol2 |
| 51 | |
| 52 | In each case you start by running the ./configure script. This works |
| 53 | out which operating system you are using and creates the appropriate |
| 54 | makefiles. You then run `make' to compile the user-level code, and |
| 55 | (as root) `make install' to install the user-level programs pppd, chat |
| 56 | and pppstats. |
| 57 | |
| 58 | N.B. Since 2.3.0, leaving the permitted IP addresses column of the |
| 59 | pap-secrets or chap-secrets file empty means that no addresses are |
| 60 | permitted. You need to put a "*" in that column to allow the peer to |
| 61 | use any IP address. (This only applies where the peer is |
| 62 | authenticating itself to you, of course.) |
| 63 | |
| 64 | |
| 65 | What's new in ppp-2.5.0. |
| 66 | ************************ |
| 67 | |
| 68 | The 2.5.0 release is a major release of pppd which contains breaking |
| 69 | changes for third-party plugins, a complete revamp of the build-system |
| 70 | and that allows for flexibility of configuring features as needed. |
| 71 | |
| 72 | In Summary: |
| 73 | * Support for PEAP authentication by Eivind Næss and Rustam Kovhaev |
| 74 | * Support for loading PKCS12 certificate envelopes |
| 75 | * Adoption of GNU Autoconf / Automake build environment, by Eivind Næss |
| 76 | and others. |
| 77 | * Support for pkgconfig tool has been added by Eivind Næss. |
| 78 | * Bunch of fixes and cleanup to PPPoE and IPv6 support by Pali Rohár. |
| 79 | * Major revision to PPPD's Plugin API by Eivind Næss. |
| 80 | - Defines in which describes what features was included in pppd |
| 81 | - Functions now prefixed with explicit ppp_* to indicate that |
| 82 | pppd functions being called. |
| 83 | - Header files were renamed to better align with their features, |
| 84 | and now use proper include guards |
| 85 | - A pppdconf.h file is supplied to allow third-party modules to use |
| 86 | the same feature defines pppd was compiled with. |
| 87 | - No extern declarations of internal variable names of pppd, |
| 88 | continued use of these extern variables are considered |
| 89 | unstable. |
| 90 | * Lots of internal fixes and cleanups for Radius and PPPoE by Jaco Kroon |
| 91 | * Dropped IPX support, as Linux has dropped support in version 5.15 |
| 92 | for this protocol. |
| 93 | * Many more fixes and cleanups. |
| 94 | * Pppd is no longer installed setuid-root. |
| 95 | * New pppd options: |
| 96 | - ipv6cp-noremote, ipv6cp-nosend, ipv6cp-use-remotenumber, |
| 97 | ipv6-up-script, ipv6-down-script |
| 98 | - -v, show-options |
| 99 | - usepeerwins, ipcp-no-address, ipcp-no-addresses, nosendip |
| 100 | * On Linux, any baud rate can be set on a serial port provided the |
| 101 | kernel serial driver supports that. |
| 102 | |
| 103 | Note that if you have built and installed previous versions of this |
| 104 | package and you want to continue having configuration and TDB files in |
| 105 | /etc/ppp, you will need to use the --sysconfdir option to ./configure. |
| 106 | |
| 107 | For a list of the changes made during the 2.4 series releases of this |
| 108 | package, see the Changes-2.4 file. |
| 109 | |
| 110 | |
| 111 | Compression methods. |
| 112 | ******************** |
| 113 | |
| 114 | This package supports two packet compression methods: Deflate and |
| 115 | BSD-Compress. Other compression methods which are in common use |
| 116 | include Predictor, LZS, and MPPC. These methods are not supported for |
| 117 | two reasons - they are patent-encumbered, and they cause some packets |
| 118 | to expand slightly, which pppd doesn't currently allow for. |
| 119 | BSD-Compress and Deflate (which uses the same algorithm as gzip) don't |
| 120 | ever expand packets. |
| 121 | |
| 122 | |
| 123 | Contacts. |
| 124 | ********* |
| 125 | |
| 126 | Most communication relating to this package happens on github at |
| 127 | https://github.com/ppp-project/ppp/. The linux-ppp@vger.kernel.org |
| 128 | mailing list also exists and can be used. |
| 129 | |
| 130 | If you find bugs in this package, the best thing to do is to create an |
| 131 | issue on github. If you can't or don't want to do that, you can post |
| 132 | to linux-ppp@vger.kernel.org, or report them to the maintainer for the |
| 133 | port for the operating system you are using: |
| 134 | |
| 135 | Linux Paul Mackerras <paulus@ozlabs.org> |
| 136 | Solaris James Carlson <carlson@workingcode.com> |
| 137 | |
| 138 | |
| 139 | Copyrights: |
| 140 | *********** |
| 141 | |
| 142 | All of the code can be freely used and redistributed. The individual |
| 143 | source files each have their own copyright and permission notice. |
| 144 | Pppd, pppstats and pppdump are under BSD-style notices. Some of the |
| 145 | pppd plugins are GPL'd. Chat is public domain. |
| 146 | |
| 147 | |
| 148 | Distribution: |
| 149 | ************* |
| 150 | |
| 151 | The primary site for releases of this software is: |
| 152 | |
| 153 | ftp://ftp.samba.org/pub/ppp/ |
| 154 | |
| 155 | |