1 .\" $FreeBSD: src/usr.sbin/pppctl/pppctl.8,v 1.12.2.8 2003/03/11 22:31:30 trhodes Exp $
7 .Nd PPP control program
13 .Xo Oo Ar host : Oc Ns
14 .Ar Port | LocalSocket
18 .Ar command Oo ; Ar command Oc Ar ...
22 This utility provides command line control of the
24 daemon. Its primary use is to facilitate simple scripts that
25 control a running daemon.
29 utility is passed at least one argument, specifying the socket on which
31 is listening. Refer to the
35 for details. If the socket contains a leading '/', it
38 socket. If it contains a colon, it is treated as a
40 pair, otherwise it is treated as a TCP port specification on the
41 local machine (127.0.0.1). Both the
45 may be specified numerically if you wish to avoid a DNS lookup
46 or don't have an entry for the given port in
49 All remaining arguments are concatenated to form the
51 that will be sent to the
53 daemon. If any semi-colon characters are found, they are treated as
55 delimiters, allowing more than one
60 .Bd -literal -offset indent
61 pppctl 3000 set timeout 300\\; show timeout
64 Don't forget to escape or quote the ';' as it is a special character
71 enters interactive mode, where commands are read from standard input.
72 When reading commands, the
74 library is used, allowing command-line editing (with
76 defining editing behaviour). The history size
80 The following command line options are available:
83 Display all data sent to and received from the
87 displays only non-prompt lines received. This option is ignored in
92 instead of the default 2 seconds when connecting. This may be required
93 if you wish to control a daemon over a slow (or even a dialup) link.
95 Specify the password required by the
97 daemon. If this switch is not used,
99 will prompt for a password once it has successfully connected to
103 The following environment variables are understood by
105 when in interactive mode:
106 .Bl -tag -width XXXXXXXXXX
108 The number of history lines. The default is 20.
110 The edit mode. Only values of "emacs" and "vi" are accepted. Other values
111 are silently ignored. This environment variable will override the
125 can be used to automate many frequent tasks (you can actually control
127 in any mode except interactive mode). Use of the
129 option is discouraged (even in scripts that aren't readable by others)
132 listing may reveal your secret.
134 The best way to allow easy, secure
136 access is to create a local server socket in
137 .Pa /etc/ppp/ppp.conf
138 (in the correct section) like this:
139 .Bd -literal -offset indent
140 set server /var/run/internet "" 0177
145 to create a local domain socket, with srw------- permissions and no
146 password, allowing access only to the user that invoked
150 man page for further details.
152 You can now create some easy-access scripts. To connect to the internet:
153 .Bd -literal -offset indent
155 test $# -eq 0 && time=300 || time=$1
156 exec pppctl /var/run/internet set timeout $time\\; dial
160 .Bd -literal -offset indent
162 exec pppctl /var/run/internet set timeout 300\\; close
165 To check if the line is up:
166 .Bd -literal -offset indent
168 pppctl -p '' -v /var/run/internet quit | grep ^PPP >/dev/null
169 if [ $? -eq 0 ]; then
176 You can even make a generic script:
177 .Bd -literal -offset indent
179 exec pppctl /var/run/internet "$@"
184 to control when dial-on-demand works. Suppose you want
186 to run all the time, but you want to prevent dial-out between 8pm and 8am
187 each day. However, any connections active at 8pm should continue to remain
188 active until they are closed or naturally time out.
192 entry for 8pm which runs
193 .Bd -literal -offset indent
194 pppctl /var/run/internet set filter dial 0 deny 0 0
197 will block all further dial requests, and the corresponding 8am entry
198 .Bd -literal -offset indent
199 pppctl /var/run/internet set filter dial -1
202 will allow them again.
212 utility first appeared in