.\" manual page [] for pppd 2.0
-.\" $Id: pppd.8,v 1.3 1994/04/18 04:40:19 paulus Exp $
+.\" $Id: pppd.8,v 1.11 1995/05/01 01:46:40 paulus Exp $
.\" SH section heading
.\" SS subsection heading
.\" LP paragraph
.I <tty_name>
Communicate over the named device. The string "/dev/"
is prepended if necessary. If no device name is given,
+or if the name of the controlling terminal is given,
.I pppd
will use the controlling terminal, and will not fork to put itself in
the background.
If multiple \fBasyncmap\fR options are
given, the values are ORed together.
If no \fBasyncmap\fR option is given, no async character map will be
-negotiated for the receive direction; the peer will then escape
+negotiated for the receive direction; the peer should then escape
\fIall\fR control characters.
.TP
.B auth
Use hardware flow control (i.e. RTS/CTS) to control the flow of data on
the serial port.
.TP
+.B -crtscts
+Disable hardware flow control (i.e. RTS/CTS) on the serial port. If
+neither the \fBcrtscts\fR nor the \fB\-crtscts\fR option is given,
+the hardware flow control setting for the serial port is left
+unchanged.
+.TP
+.B xonxoff
+Use software flow control (i.e. XON/XOFF) to control the flow of data on
+the serial port. This option is only implemented on Linux systems
+at present.
+.TP
.B defaultroute
Add a default route to the system routing tables, using the peer as
the gateway, when IPCP negotiation is successfully completed.
.B disconnect \fI<p>
Run the executable or shell command specified by \fI<p>\fR after
\fIpppd\fR has terminated the link. This script could, for example,
-issue commands to the modem to cause it to hang up.
+issue commands to the modem to cause it to hang up if hardware modem
+control signals were not available.
.TP
.B escape \fIxx,yy,...
Specifies that certain characters should be escaped on transmission
With this option,
.I pppd
will not transmit LCP packets to initiate a connection until a valid
-LCP packet is received from the peer (as for the "passive" option with
+LCP packet is received from the peer (as for the `passive' option with
old versions of \fIpppd\fR).
.SH OPTIONS
.TP
Disable negotiation of Van Jacobson style IP header compression (use
default, i.e. no compression).
.TP
+.B bsdcomp \fInr,nt
+Request that the peer compress packets that it sends, using the
+BSD-Compress scheme, with a maximum code size of \fInr\fR bits, and
+agree to compress packets sent to the peer with a maximum code size of
+\fInt\fR bits. If \fInt\fR is not specified, it defaults to the value
+given for \fInr\fR. Values in the range 9 to 15 may be used for
+\fInr\fR and \fInt\fR; larger values give better compression but
+consume more kernel memory for compression dictionaries.
+Alternatively, a value of 0 for \fInr\fR or \fInt\fR disables
+compression in the corresponding direction.
+.TP
+.B \-bsdcomp
+Disables compression; \fBpppd\fR will not request or agree to compress
+packets using the BSD-Compress scheme.
+.TP
.B debug
Increase debugging level (same as \fB\-d\fR).
If this
domain option to set the domain name to Quotron.COM.
.TP
.B modem
-Use the modem control lines. (This option is not fully implemented.)
+Use the modem control lines. This option is the default. With this
+option,
+.B pppd
+will wait for the CD (Carrier Detect) signal from the modem to be asserted
+when opening the serial device
+(unless a connect script is specified), and it will drop the DTR (Data
+Terminal Ready) signal briefly when the connection is terminated and before
+executing the connect script.
+On Ultrix, this option implies hardware
+flow control, as for the \fBcrtscts\fR option.
.TP
.B kdebug \fIn
Enable debugging code in the kernel-level PPP driver. The argument
transmitted packets be printed.
.TP
.B local
-Don't use the modem control lines.
+Don't use the modem control lines. With this option,
+.B pppd
+will ignore the state of the CD (Carrier Detect) signal from the modem and
+will not change the state of the DTR (Data Terminal Ready) signal.
.TP
.B mtu \fI<n>
Set the MTU [Maximum Transmit Unit] value to \fI<n>\fR. Unless the
Set the assumed name of the remote system for authentication purposes
to <n>.
.TP
+.B papcrypt
+Indicates that all secrets in the /etc/ppp/pap-secrets file which
+are used for checking the identity of the peer are encrypted, and thus
+pppd should not accept a password which (before encryption) is
+identical to the secret from the /etc/ppp/pap-secrets file.
+.TP
.B proxyarp
Add an entry to this system's ARP [Address Resolution Protocol] table
with the IP address of the peer and the Ethernet address of this
system.
.TP
+.B persist
+Do not exit after a connection is terminated; instead try to reopen
+the connection.
+.TP
.B login
Use the system password database for authenticating the peer using
PAP.
address during IPCP negotiation (unless it specified explicitly on the
command line or in an options file).
.TP
+.B lcp-echo-interval \fI<n>
+If this option is given, \fIpppd\fR will send an LCP echo-request
+frame to the peer every \fIn\fR seconds. Under Linux, the
+echo-request is sent when no packets have been received from the peer
+for \fIn\fR seconds. Normally the peer should respond to the
+echo-request by sending an echo-reply. This option can be used with
+the \fIlcp-echo-failure\fR option to detect that the peer is no longer
+connected.
+.TP
+.B lcp-echo-failure \fI<n>
+If this option is given, \fIpppd\fR will presume the peer to be dead
+if \fIn\fR LCP echo-requests are sent without receiving a valid LCP
+echo-reply. If this happens, \fIpppd\fR will terminate the
+connection. Use of this option requires a non-zero value for the
+\fIlcp-echo-interval\fR parameter. This option can be used to enable
+\fIpppd\fR to terminate after the physical connection has been broken
+(e.g., the modem has hung up) in situations where no hardware modem
+control lines are available.
+.TP
.B lcp-restart \fI<n>
Set the LCP restart interval (retransmission timeout) to <n> seconds
(default 3).
.SH OPTIONS FILES
Options can be taken from files as well as the command line.
.I pppd
-reads options from the files /etc/ppp/options and $HOME/.ppprc before
+reads options from the files /etc/ppp/options and ~/.ppprc before
looking at the command line. An options file is parsed into a series
of words, delimited by whitespace. Whitespace can be included in a
word by enclosing the word in quotes ("). A backslash (\\) quotes the
.LP
A secrets file is parsed into words as for a options file. A secret
is specified by a line containing at least 3 words, in the order
-client, server, secret. Any following words on the same line are
+client name, server name, secret. Any following words on the same line are
taken to be a list of acceptable IP addresses for that client. If
there are only 3 words on the line, it is assumed that any IP address
is OK; to disallow all IP addresses, use "-". If the secret starts
password supplied by the peer. If the password doesn't match the
secret, the password is encrypted using crypt() and checked against
the secret again; thus secrets for authenticating the peer can be
-stored in encrypted form. If the \fBlogin\fR option was specified, the
+stored in encrypted form. If the \fBpapcrypt\fR option is given, the
+first (unencrypted) comparison is omitted, for better security.
+.LP
+If the \fBlogin\fR option was specified, the
username and password are also checked against the system password
database. Thus, the system administrator can set up the pap-secrets
file to allow PPP access only to certain users, and to restrict the
-set of IP addresses that each user can use.
+set of IP addresses that each user can use. Typically, when using the
+\fBlogin\fR option, the secret in /etc/ppp/pap-secrets would be "", to
+avoid the need to have the same secret in two places.
.LP
Secrets are selected from the CHAP secrets file as follows:
.TP 2
If debugging is enabled at compile time, the \fBdebug\fR option also
causes other debugging messages to be logged.
.LP
-Debugging can also be enabled by sending a
+Debugging can also be enabled or disabled by sending a
SIGUSR1 to the
.I pppd
-process.
-Debugging may be disabled by sending a SIGUSR2 to the
-.I pppd
-process.
+process. This signal acts as a toggle.
.SH FILES
.TP
-.B /var/run/ppp\fIn\fB.pid \fR(BSD), \fB/etc/ppp/ppp\fIn\fB.pid \fR(SunOS)
+.B /var/run/ppp\fIn\fB.pid \fR(BSD or Linux), \fB/etc/ppp/ppp\fIn\fB.pid \fR(others)
Process-ID for \fIpppd\fR process on ppp interface unit \fIn\fR.
.TP
+.B /etc/ppp/ip-up
+A program or script which is executed when the link is available for
+sending and receiving IP packets (that is, IPCP has come up). It is
+executed with the parameters
+.IP
+\fIinterface-name tty-device speed local-IP-address
+remote-IP-address\fR
+.IP
+and with its standard input,
+output and error streams redirected to \fB/dev/null\fR.
+.IP
+This program or script is executed with the same real and effective
+user-ID as \fIpppd\fR, that is, at least the effective user-ID and
+possibly the real user-ID will be \fBroot\fR. This is so that it can
+be used to manipulate routes, run privileged daemons (e.g.
+\fBsendmail\fR), etc. Be careful that the contents of the
+/etc/ppp/ip-up and /etc/ppp/ip-down scripts do not compromise your
+system's security.
+.TP
+.B /etc/ppp/ip-down
+A program or script which is executed when the link is no longer
+available for sending and receiving IP packets. This script can be
+used for undoing the effects of the /etc/ppp/ip-up script. It is
+invoked with the same parameters as the ip-up script, and the same
+security considerations apply, since it is executed with the same
+effective and real user-IDs as \fIpppd\fR.
+.TP
.B /etc/ppp/pap-secrets
Usernames, passwords and IP addresses for PAP authentication.
.TP
.I pppd,
read before user default options or command-line options.
.TP
-.B $HOME/.ppprc
+.B ~/.ppprc
User default options, read before command-line options.
+.TP
+.B /etc/ppp/options.\fIttyname
+System default options for the serial port being used, read after
+command-line options.
.SH SEE ALSO
.TP
.B RFC1144
process.
.TP
.B SIGINT, SIGTERM
-These signals cause \fIpppd\fR to terminate the link (by closing LCP),
+These signals cause \fBpppd\fR to terminate the link (by closing LCP),
restore the serial device settings, and exit.
.TP
.B SIGHUP
-Indicates that the physical layer has been disconnected. \fIpppd\fR
-will attempt to restore the serial device settings (this may produce
-error messages on Suns), and then exit.
-.SH BUGS
-The use of the modem control lines and the effects of the \fBmodem\fR
-and \fBlocal\fR options are not well defined.
+This signal causes \fBpppd\fR to terminate the link, restore the
+serial device settings, and close the serial device. If the
+\fBpersist\fR option has been specified, \fBpppd\fR will try to reopen
+the serial device and start another connection. Otherwise \fBpppd\fR
+will exit.
+.TP
+.B SIGUSR2
+This signal causes
+.B pppd
+to renegotiate compression. This can be useful to re-enable
+compression after it has been disabled as a result of a fatal
+decompression error. With the BSD Compress scheme, fatal
+decompression errors generally indicate a bug in one or other
+implementation.
+
.SH AUTHORS
Drew Perkins,
Brad Clements,
Karl Fox,
Greg Christy,
-Brad Parker (brad@fcr.com),
-Paul Mackerras (paulus@cs.anu.edu.au)
+Brad Parker,
+Paul Mackerras (paulus@cs.anu.edu.au).