updated
[ppp.git] / README
1 This is the README file for ppp-2.2, a package which implements the
2 Point-to-Point Protocol (PPP) to provide Internet connections over
3 serial lines.
4
5
6 Introduction.
7 *************
8
9 The Point-to-Point Protocol (PPP) provides a standard way to transmit
10 datagrams over a serial link, as well as a standard way for the
11 machines at either end of the link (the `peers') to negotiate various
12 optional characteristics of the link.  Using PPP, a serial link can be
13 used to transmit Internet Protocol (IP) datagrams, allowing TCP/IP
14 connections between the peers.  PPP is defined in several RFC (Request
15 For Comments) documents, in particular RFCs 1661, 1662, 1332 and 1334.
16 Other RFCs describe standard ways to transmit datagrams from other
17 network protocols (e.g., DECnet, OSI, Appletalk), but this package
18 only supports IP.
19
20 This software consists of two parts:
21
22 - Kernel code, which establishes a network interface and passes
23 packets between the serial port, the kernel networking code and the
24 PPP daemon (pppd).  This code is implemented using STREAMS modules on
25 SunOS 4.x, System V Release 4, AIX 4.1, and OSF/1, Solaris 2, and as a
26 line discipline under Ultrix, NextStep, NetBSD, FreeBSD, and Linux.
27
28 - The PPP daemon (pppd), which negotiates with the peer to establish
29 the link and sets up the ppp network interface.  Pppd includes support
30 for authentication, so you can control which other systems may make a
31 PPP connection and what IP addresses they may use.
32
33
34 Installation.
35 *************
36
37 The file SETUP contains general information about setting up your
38 system for using PPP.  There is also a README file for each supported
39 system, which contains more specific details for installing PPP on
40 that system.  The supported systems, and the corresponding README
41 files, are:
42
43         SunOS 4.x                       README.sunos4
44         NetBSD, FreeBSD                 README.bsd
45         Ultrix 4.x                      README.ultrix
46         Linux                           README.linux
47         OSF/1                           README.osf
48         AIX 4.x                         README.aix4
49         NeXTStep                        README.next
50         Solaris 2                       README.sol2
51         System V Release 4              README.svr4
52
53 In each case you start by running the ./configure script.  This works
54 out which operating system you are using and creates symbolic links to
55 the appropriate makefiles.  You then run `make' to compile the
56 user-level code, and (as root) `make install' to install the
57 user-level programs pppd, chat and pppstats.
58
59 The procedures for installing the kernel code vary from system to
60 system.  On some systems, the kernel code can be loaded into a running
61 kernel using a `modload' facility.  On others, the kernel image has to
62 be recompiled and the system rebooted.  See the README.* files for
63 details.
64
65
66 What is new in ppp-2.2.
67 ***********************
68
69 * More systems are now supported:
70
71   AIX 4, thanks to Charlie Wick,
72   OSF/1 on DEC Alpha, thanks to Steve Tate (srt@zaphod.csci.unt.edu),
73   NextStep 3.2 and 3.3, thanks to Philip-Andrew Prindeville
74         (philipp@res.enst.fr) and Steve Perkins (perkins@cps.msu.edu),
75   Solaris 2,
76   System V Release 4, thanks to Joe Kelsey (joe@zircon.seattle.wa.us)
77
78 in addition to NetBSD 1.0, SunOS 4.x, Ultrix 4.x, FreeBSD 2.0, and
79 Linux.
80
81 * Packet compression has been implemented.  This version implements
82 CCP (Compression Control Protocol) and the BSD-Compress compression
83 scheme according to the current draft RFCs.  This means that incoming
84 and outgoing packets can be compressed with the LZW scheme (same as
85 the `compress' command) using a code size of up to 15 bits.
86
87 * Some bug fixes to the LCP protocol code.  In particular, pppd now
88 correctly replies with a Configure-NAK (instead of a Configure-Reject)
89 if the peer asks for CHAP and pppd is willing to do PAP but not CHAP.
90
91 * The ip-up and ip-down scripts are now run with the real user ID set
92 to root, and with an empty environment.  Clearing the environment
93 fixes a security hole.
94
95 * The kernel code on NetBSD, FreeBSD, NextStep and Ultrix has been
96 restructured to make it easier to implement PPP over devices other
97 than asynchronous tty ports (for example, synchronous serial ports).
98
99 * pppd now looks at the list of interfaces in the system to determine
100 what the netmask should be.  In most cases, this should eliminate the
101 need to use the `netmask' option.
102
103 * There is a new `papcrypt' option to pppd, which specifies that
104 secrets in /etc/ppp/pap-secrets used for authenticating the peer are
105 encrypted, so pppd always encrypts the peer's password before
106 comparing it with the secret from /etc/ppp/pap-secrets.  This gives
107 better security.
108
109
110 Patents.
111 ********
112
113 The BSD-Compress algorithm used for packet compression is the same as
114 that used in the Unix "compress" command.  It is apparently covered by
115 U.S. patents 4,814,746 (owned by IBM) and 4,558,302 (owned by Unisys),
116 and corresponding patents in various other countries (but not
117 Australia).  If this is of concern, you can build the package without
118 including BSD-Compress.  To do this, edit net/ppp-comp.h to change the
119 definition of DO_BSD_COMPRESS to 0.  The bsd-comp.c files are then no
120 longer needed, so the references to bsd-comp.o may optionally be
121 removed from the Makefiles.
122
123
124 Contacts.
125 *********
126
127 Bugs in the the SunOS, NetBSD and Ultrix ports and bugs in pppd, chat
128 or pppstats should be reported to:
129
130         paulus@cs.anu.edu.au
131         Paul Mackerras
132         Dept. of Computer Science
133         Australian National University
134         Canberra  ACT  0200
135         AUSTRALIA
136
137 Bugs in other ports should be reported to the maintainer for that port
138 (see the appropriate README.* file) or to the above.  Unfortunately,
139 Charlie Wick is not in a position to provide support for the AIX 4
140 port, so if you find bugs in it, send them to me.
141
142 Thanks to:
143
144         Brad Parker  (brad@fcr.com)
145         Greg Christy (gmc@quotron.com)
146         Drew D. Perkins (ddp@andrew.cmu.edu)
147         Rick Adams (rick@seismo.ARPA)
148         Chris Torek (chris@mimsy.umd.edu, umcp-cs!chris).
149
150
151 Copyrights:
152
153 Most of the code can be freely used and redistributed.  The STREAMS
154 code for SunOS 4.x, OSF/1 and AIX 4 is under a more restrictive
155 copyright:
156
157         This code is Copyright (C) 1989, 1990 By Brad K. Clements, 
158         All Rights Reserved.
159
160         You may use this code for your personal use, to provide a non-profit
161         service to others, or to use as a test platform for a commercial
162         implementation.
163
164         You may NOT use this code in a commercial product, nor to provide a 
165         commercial service, nor may you sell this code without express
166         written permission of the author.
167
168         Otherwise, Enjoy!
169
170 This copyright applies to (parts of) the following files:
171
172         sunos/ppp_async.c
173         sunos/ppp_if.c
174         aix4/ppp_async.c
175         aix4/ppp_if.c
176         net/ppp_str.h
177         pppd/sys-str.c
178         pppd/sys-osf.c
179         pppd/sys-aix4.c