better way of not sending compressed packet when CCP is not up.
[ppp.git] / README
1 This is the README file for ppp-2.3, a package which implements the
2 Point-to-Point Protocol (PPP) to provide Internet connections over
3 serial lines.
4
5 In this first beta release, the ports for SunOS, Solaris, NetBSD and
6 Digital Unix (OSF/1) are believed to be working correctly.  The Linux
7 port mostly works, but still has some known bugs (demand dialling
8 doesn't work correctly).  The remaining ports haven't been tested
9 extensively.  The NeXTStep port is not included here since it hasn't
10 been updated from 2.2 yet.  For information on its current status, see
11 http://www.thoughtport.com:8080/PPP/.
12
13
14 Introduction.
15 *************
16
17 The Point-to-Point Protocol (PPP) provides a standard way to establish
18 a network connection over a serial link.  At present, this package
19 supports IP and the protocols layered above IP, such as TCP and UDP.
20 The Linux port of this package also has support for IPX.
21
22 This software consists of two parts:
23
24 - Kernel code, which establishes a network interface and passes
25 packets between the serial port, the kernel networking code and the
26 PPP daemon (pppd).  This code is implemented using STREAMS modules on
27 SunOS 4.x, Solaris 2.x, System V Release 4, and OSF/1, and as a
28 line discipline under Ultrix, NextStep, NetBSD, FreeBSD, and Linux.
29
30 - The PPP daemon (pppd), which negotiates with the peer to establish
31 the link and sets up the ppp network interface.  Pppd includes support
32 for authentication, so you can control which other systems may make a
33 PPP connection and what IP addresses they may use.
34
35
36 Installation.
37 *************
38
39 The file SETUP contains general information about setting up your
40 system for using PPP.  There is also a README file for each supported
41 system, which contains more specific details for installing PPP on
42 that system.  The supported systems, and the corresponding README
43 files, are:
44
45         Digital Unix (OSF/1)            README.osf
46         Linux                           README.linux
47         NetBSD, FreeBSD                 README.bsd
48         NeXTStep                        README.next
49         Solaris 2                       README.sol2
50         SunOS 4.x                       README.sunos4
51         System V Release 4              README.svr4
52         Ultrix 4.x                      README.ultrix
53
54 (Unfortunately, AIX 4 is no longer supported, since I don't have a
55 maintainer for the AIX 4 port.  If you want to volunteer, contact me.)
56
57 In each case you start by running the ./configure script.  This works
58 out which operating system you are using and creates symbolic links to
59 the appropriate makefiles.  You then run `make' to compile the
60 user-level code, and (as root) `make install' to install the
61 user-level programs pppd, chat and pppstats.
62
63 The procedures for installing the kernel code vary from system to
64 system.  On some systems, the kernel code can be loaded into a running
65 kernel using a `modload' facility.  On others, the kernel image has to
66 be recompiled and the system rebooted.  See the README.* files for
67 details.
68
69
70 What's new in ppp-2.3.
71 **********************
72
73 * Demand-dialling.  Pppd now has a mode where it will establish the
74 network interface immediately when it starts, but not actually bring
75 the link up until it sees some data to be sent.  Look for the demand
76 option description in the pppd man page.
77
78 * Idle timeout.  Pppd will optionally terminate the link if no data
79 packets are sent or received within a certain time interval.
80
81 * Pppd now runs the /etc/ppp/auth-up script, if it exists, when the
82 peer successfully authenticates itself, and /etc/ppp/auth-down when
83 the connection is subsequently terminated.  This can be useful for
84 accounting purposes.
85
86 * A new packet compression scheme, Deflate, has been implemented.
87 This uses the same compression method as `gzip'.  This method is free
88 of patent or copyright restrictions, and it achieves better
89 compression than BSD-Compress.  It does consume more CPU cycles for
90 compression than BSD-Compress, but this shouldn't be a problem for
91 links running at 100kbit/s or less.
92
93 * There is no code in this distribution which is covered by Brad
94 Clements' restrictive copyright notice.  The STREAMS modules for SunOS
95 and OSF/1 have been rewritten, based on the Solaris 2 modules, which
96 were written from scratch without any Clements code.
97
98 * Pppstats has been reworked to clean up the output format somewhat.
99 It also has a new -d option which displays data rate in kbyte/s for
100 those columns which would normally display bytes.
101
102 * Pppd options beginning with - or + have been renamed, e.g. -ip
103 became noip, +chap became require-chap, etc.  The old options are
104 still accepted for compatibility but may be removed in future.
105
106 * Pppd now has some options (such as the new `noauth' option) which
107 can only be specified if it is being run by root, or in an
108 "privileged" options file: /etc/ppp/options or an options file in the
109 /etc/ppp/peers directory.  There is a new "call" option to read
110 options from a file in /etc/ppp/peers, making it possible for non-root
111 users to make unauthenticated connections, but only to certain trusted
112 peers.  My intention is to make the `auth' option the default in a
113 future release.
114
115 * Several minor new features have been added to pppd, including the
116 maxconnect and welcome options.  Pppd will now terminate the
117 connection when there are no network control protocols running.  The
118 allowed IP address(es) field in the secrets files can now specify
119 subnets (with a notation like 123.45.67.89/24) and addresses which are
120 not acceptable (put a ! on the front).
121
122 * Numerous bugs have been fixed (no doubt some have been introduced :-)
123 Thanks to those who reported bugs in ppp-2.2.
124
125
126 Patents.
127 ********
128
129 The BSD-Compress algorithm used for packet compression is the same as
130 that used in the Unix "compress" command.  It is apparently covered by
131 U.S. patents 4,814,746 (owned by IBM) and 4,558,302 (owned by Unisys),
132 and corresponding patents in various other countries (but not
133 Australia).  If this is of concern, you can build the package without
134 including BSD-Compress.  To do this, edit net/ppp-comp.h to change the
135 definition of DO_BSD_COMPRESS to 0.  The bsd-comp.c files are then no
136 longer needed, so the references to bsd-comp.o may optionally be
137 removed from the Makefiles.
138
139
140 Contacts.
141 *********
142
143 Bugs in the the SunOS, Solaris 2, NetBSD and Ultrix ports, and bugs in
144 pppd, chat or pppstats should be reported me at:
145
146         email:  Paul.Mackerras@cs.anu.edu.au
147
148         mail:   Dr Paul Mackerras
149                 Dept. of Computer Science
150                 Australian National University
151                 Canberra  ACT  0200
152                 AUSTRALIA
153
154         fax:    +61-6-249-0010
155
156 Bugs in other ports should be reported to the maintainer for that port
157 (see the appropriate README.* file) or to me.
158
159 Thanks to:
160
161         Brad Parker  (brad@fcr.com)
162         Greg Christy (gmc@quotron.com)
163         Drew D. Perkins (ddp@andrew.cmu.edu)
164         Rick Adams (rick@seismo.ARPA)
165         Chris Torek (chris@mimsy.umd.edu, umcp-cs!chris).
166
167
168 Copyrights:
169 ***********
170
171 All of the code can be freely used and redistributed.
172
173
174 Distribution:
175 *************
176
177 The primary site for releases of this software is:
178
179         ftp://cs.anu.edu.au/pub/software/ppp/
180
181
182 ($Id: README,v 1.7 1996/08/28 06:30:32 paulus Exp $)