.\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)sliplogin.8 8.2 (Berkeley) 1/5/94 .\" $FreeBSD: src/usr.sbin/sliplogin/sliplogin.8,v 1.12.2.5 2003/03/11 22:31:33 trhodes Exp $ .\" $DragonFly: src/usr.sbin/sliplogin/sliplogin.8,v 1.4 2006/04/17 18:01:38 swildner Exp $ .\" .Dd January 5, 1994 .Dt SLIPLOGIN 8 .Os .Sh NAME .Nm sliplogin .Nd attach a serial line network interface .Sh SYNOPSIS .Nm .Op Ar loginname Op Ar device .Sh DESCRIPTION The .Nm utility is used to turn the terminal line on standard input (or .Ar device ) into a Serial Line IP .Pq Tn SLIP link to a remote host. To do this, the program searches the file .Pa /etc/sliphome/slip.hosts for an entry matching .Ar loginname (which defaults to the current login name if omitted). If a matching entry is found, the line is configured appropriately for slip (8-bit transparent i/o) and converted to .Tn SLIP line discipline using the optional line discipline parameters. .Pp The optional line discipline parameters consist of one or more of the following; .Sq normal , .Sq compress , .Sq noicmp , or .Sq autocomp which correspond respectively to .Sq use normal line discipline (no header compression), .Sq enable VJ header compression , .Sq throw away ICMP packets , and .Sq auto enable VJ header compression (only if the remote end of the link also supports it). .Pp Then a shell script is invoked to initialize the slip interface with the appropriate local and remote .Tn IP address, netmask, etc. .Pp The usual initialization script is .Pa /etc/sliphome/slip.login but, if particular hosts need special initialization, the file .Pa /etc/sliphome/slip.login. Ns Ar loginname will be executed instead if it exists. The script is invoked with the parameters .Bl -tag -width slipunit .It Em slipunit The unit number of the slip interface assigned to this line. E.g., .Sy 0 for .Sy sl0 . .It Em speed The speed of the line. .It Em args The arguments from the .Pa /etc/sliphome/slip.hosts entry, in order starting with .Ar loginname . .El .Pp Only the super-user may attach a network interface. The interface is automatically detached when the other end hangs up or the .Nm process dies. If the kernel slip module has been configured for it, all routes through that interface will also disappear at the same time. If there is other processing a site would like done on hangup, the file .Pa /etc/sliphome/slip.logout or .Pa /etc/sliphome/slip.logout. Ns Ar loginname is executed if it exists. It is given the same arguments as the login script. .Ss Format of /etc/sliphome/slip.hosts Comments (lines starting with a `#') and blank lines (or started with space) are ignored. Other lines must start with a .Ar loginname but the remaining arguments can be whatever is appropriate for the .Pa slip.login file that will be executed for that name. Arguments are separated by white space and follow normal .Xr sh 1 quoting conventions (however, .Ar loginname cannot be quoted). Usually, lines have the form .Bd -literal -offset indent loginname local-address remote-address netmask opt-args .Ed .Pp where .Em local-address and .Em remote-address are the IP host names or addresses of the local and remote ends of the slip line and .Em netmask is the appropriate IP netmask. These arguments are passed directly to .Xr ifconfig 8 . .Em Opt-args are optional arguments used to configure the line. .Sh FreeBSD Additions An additional SLIP configuration file (if present) is .Pa /etc/sliphome/slip.slparms . If particular hosts need different configurations, the file .Pa /etc/sliphome/slip.slparms. Ns Ar loginname will be parsed instead if it exists. .Ss Format of /etc/sliphome/slip.slparms* Comments (lines starting with a `#') and blank lines (or started with space) are ignored. This file contains from one to three numeric parameters separated with spaces, in order: .Ar keepalive , .Ar outfill and .Ar slunit . .Bl -tag -width keepalive .It Ar keepalive Set SLIP "keep alive" timeout in seconds. If FRAME_END is not received in this amount of time, .Nm closes the line and exits. The default value is no timeout (zero). .It Ar outfill Set SLIP "out fill" timeout in seconds. It forces at least one FRAME_END to be sent during this time period, which is necessary for the "keep alive" timeout on the remote side. The default value is no timeout (zero). .It Ar slunit Set the SLIP unit number directly. Use with caution, because no check is made for two interfaces with same number. By default sliplogin dynamically assigns the unit number. .El .Pp If latter two parameters are omitted, they will not affect the corresponding SLIP configuration. If any of first two parameters is equal to zero, it will not affect the corresponding SLIP configuration. .Sh FILES .Bl -tag -width indent .It Pa /etc/sliphome/slip.hosts list of host login names and parameters. .It Pa /etc/sliphome/slip.login script executed when a connection is made. .It Pa /etc/sliphome/slip.login. Ns Ar loginname script executed when a connection is made by .Ar loginname . .It Pa /etc/sliphome/slip.logout script executed when a connection is lost. .It Pa /etc/sliphome/slip.logout. Ns Ar loginname script executed when a connection is lost by .Ar loginname . .It Pa /etc/sliphome/slip.slparms extra parameters file. .It Pa /etc/sliphome/slip.slparms. Ns Ar loginname extra parameters file for .Ar loginname . .It Pa /var/run/ Ns Ar ttyXn Ns Pa .if contains the name of the network interface used by the sliplogin process on .Ar ttyXn . .It Pa /var/run/ Ns Ar slX Ns Pa .pid contains the PID of the sliplogin process which is using interface .Ar slX . .El .Sh EXAMPLES The normal use of .Nm is to create a .Pa /etc/passwd entry for each legal, remote slip site with .Nm as the shell for that entry. E.g., .Bd -literal Sfoo:ikhuy6:2010:1:slip line to foo:/tmp:/usr/sbin/sliplogin .Ed .Pp (Our convention is to name the account used by remote host .Ar hostname as .Em Shostname . ) Then an entry is added to .Pa slip.hosts that looks like: .Pp .Bd -literal -offset indent -compact Sfoo `hostname` foo netmask .Ed .Pp where .Em `hostname` will be evaluated by .Xr sh 1 to the local host name and .Em netmask is the local host IP netmask. .Pp Note that .Nm must be setuid to root and, while not a security hole, moral defectives can use it to place terminal lines in an unusable state and/or deny access to legitimate users of a remote slip line. To prevent this, .Nm is installed as user .Em root , group .Em network and mode 4550 so that only members of group .Em network may run .Nm . The system administrator should make sure that all legitimate users are a member of the correct group. .Sh DIAGNOSTICS The .Nm utility logs various information to the system log daemon, .Xr syslogd 8 , with a facility code of .Em daemon . The messages are listed here, grouped by severity level. .Pp .Sy Error Severity .Bl -tag -width Ds -compact .It Sy ioctl (TCGETS): Em reason A .Dv TCGETS .Fn ioctl to get the line parameters failed. .Pp .It Sy ioctl (TCSETS): Em reason A .Dv TCSETS .Fn ioctl to set the line parameters failed. .Pp .It Sy /etc/sliphome/slip.hosts: Em reason The .Pa /etc/sliphome/slip.hosts file could not be opened. .Pp .It Sy access denied for Em user No entry for .Em user was found in .Pa /etc/sliphome/slip.hosts . .El .Pp .Sy Notice Severity .Bl -tag -width Ds -compact .It Sy "attaching slip unit" Em unit Sy for Ar loginname .Tn SLIP unit .Em unit was successfully attached. .El .Sh SEE ALSO .Xr slattach 8 , .Xr syslogd 8 .Pp .Pa /usr/share/examples/sliplogin .Sh HISTORY The .Nm utility appeared in .Bx 4.3 Reno .