pppctl.8 revision 30122
$Id: pppctl.8,v 1.3 1997/09/29 19:11:45 wosch Exp $
.Dd 26 June 1997 .Os FreeBSD .Dt PPPCTL 8 .Sh NAME .Nm pppctl .Nd PPP control program .Sh SYNOPSIS .Nm .Op Fl v .Op Fl t Ar n .Op Fl p Ar passwd .Ar [host:]Port | LocalSocket .Ar command .Op Ar ;command .Ar ... .Sh DESCRIPTION This program provides command line control of the .Nm ppp daemon. Its primary use is to facilitate simple scripts that control a running daemon. .Nm Pppctl expects at least two arguments. The first is interpreted as the socket on which the .Nm ppp daemon is listening. If the socket contains a leading '/', it is taken as an AF_LOCAL socket. If it contains a colon, it is treated as a host:port pair, otherwise it is treated as just a port specification on the local machine (127.0.0.1). Both the host and port may be specified numerically if you wish to avoid a DNS lookup or don't have an entry for the given port in

a /etc/services .

p All remaining arguments are concatenated to form the command(s) that will be sent to the .Nm ppp daemon. If any semi-colon characters are found, they are treated as command delimiters, allowing more than one command in a given "session". For example; pppctl 3000 set timeout 300\\; show timeout Don't forget to escape or quote the ';' as it is a special character for most shells. The following command line options are available: l -tag -width Ds t Fl v Display all data sent to and received from the .Nm ppp daemon. Normally, .Nm pppctl displays only non-prompt lines received. t Fl t Ar n Use a timeout of .Ar n instead of the default 2 seconds. This may be required if you wish to control a daemon over a slow (or even a dialup) link. t Fl p Ar passwd Specify the password required by the .Nm ppp daemon. If this switch is not used, .Nm will prompt for a password once it has successfully connected to .Nm ppp . .El .Sh EXAMPLES Assuming you want to run .Nm ppp in .Fl auto mode, .Nm can be used to automate many frequent tasks. Use of the .Fl p option is discouraged (even in scripts that aren't readably by others) as a .Xr ps 1 listing may reveal your secret.

p In order to have .Nm ppp create a socket for use with .Nm pppctl , you will need to define a password for your local system: d -literal -offset indent # touch /etc/ppp/ppp.secret # chown root.wheel /etc/ppp/ppp.secret # chmod 400 /etc/ppp/ppp.secret # echo "`hostname -s` MyPassword" >>/etc/ppp/ppp.secret .Ed

p The most secure way to allow easy, secure .Nm access, and to make sure you can distinguish between multiple invocations of .Nm ppp is to create a local server socket in

a /etc/ppp/ppp.conf (in the correct section): d -literal -offset indent set server /var/run/internet 0666 .Ed This will instruct .Nm ppp to create a local domain socket rather than the tcp socket that's created by default. Refer to the .Xr ppp 8 man page for further details.

p You can now create some easy-access scripts. To connect to the internet: d -literal -offset indent #! /bin/sh test $# -eq 0 && time=300 || time=$1 exec pppctl -t 60 /var/run/internet set timeout $time\\; dial .Ed

p To disconnect: d -literal -offset indent #! /bin/sh exec pppctl /var/run/internet set timeout 300\\; close .Ed

p To check if the line is up: d -literal -offset indent #! /bin/sh pppctl -p '' -v /var/run/internet '' | grep ^PPP >/dev/null if [ $? -eq 0 ]; then echo Link is up else echo Link is down fi .Ed

p You can even make a generic script: d -literal -offset indent #! /bin/sh exec pppctl /var/run/internet "$@" .Ed .Sh SEE ALSO .Xr services 5 , .Xr ppp 8 .Sh HISTORY The .Nm command first appeared in FreeBSD 2.2.5.