xref: /dragonfly/usr.sbin/sliplogin/sliplogin.8 (revision 36a3d1d6)
1.\" Copyright (c) 1990, 1991, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 3. All advertising materials mentioning features or use of this software
13.\"    must display the following acknowledgement:
14.\"	This product includes software developed by the University of
15.\"	California, Berkeley and its contributors.
16.\" 4. Neither the name of the University nor the names of its contributors
17.\"    may be used to endorse or promote products derived from this software
18.\"    without specific prior written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.\"     @(#)sliplogin.8	8.2 (Berkeley) 1/5/94
33.\" $FreeBSD: src/usr.sbin/sliplogin/sliplogin.8,v 1.12.2.5 2003/03/11 22:31:33 trhodes Exp $
34.\" $DragonFly: src/usr.sbin/sliplogin/sliplogin.8,v 1.4 2006/04/17 18:01:38 swildner Exp $
35.\"
36.Dd January 5, 1994
37.Dt SLIPLOGIN 8
38.Os
39.Sh NAME
40.Nm sliplogin
41.Nd attach a serial line network interface
42.Sh SYNOPSIS
43.Nm
44.Op Ar loginname Op Ar device
45.Sh DESCRIPTION
46The
47.Nm
48utility is used to turn the terminal line on standard input (or
49.Ar device )
50into a Serial Line IP
51.Pq Tn SLIP
52link to a remote host.  To do this, the program
53searches the file
54.Pa /etc/sliphome/slip.hosts
55for an entry matching
56.Ar loginname
57(which defaults to the current login name if omitted).
58If a matching entry is found, the line is configured appropriately
59for slip (8-bit transparent i/o) and converted to
60.Tn SLIP
61line discipline using the optional line discipline parameters.
62.Pp
63The optional line discipline parameters consist of one or more of
64the following;
65.Sq normal ,
66.Sq compress ,
67.Sq noicmp ,
68or
69.Sq autocomp
70which correspond respectively to
71.Sq use normal line discipline
72(no header compression),
73.Sq enable VJ header compression ,
74.Sq throw away ICMP packets ,
75and
76.Sq auto enable VJ header compression
77(only if the remote end of the link also supports it).
78.Pp
79Then a shell script is invoked to initialize the slip
80interface with the appropriate local and remote
81.Tn IP
82address,
83netmask, etc.
84.Pp
85The usual initialization script is
86.Pa /etc/sliphome/slip.login
87but, if particular hosts need special initialization, the file
88.Pa /etc/sliphome/slip.login. Ns Ar loginname
89will be executed instead if it exists.
90The script is invoked with the parameters
91.Bl -tag -width slipunit
92.It Em slipunit
93The unit number of the slip interface assigned to this line.  E.g.,
94.Sy 0
95for
96.Sy sl0 .
97.It Em speed
98The speed of the line.
99.It Em args
100The arguments from the
101.Pa /etc/sliphome/slip.hosts
102entry, in order starting with
103.Ar loginname .
104.El
105.Pp
106Only the super-user may attach a network interface.  The interface is
107automatically detached when the other end hangs up or the
108.Nm
109process dies.  If the kernel slip
110module has been configured for it, all routes through that interface will
111also disappear at the same time.  If there is other processing a site
112would like done on hangup, the file
113.Pa /etc/sliphome/slip.logout
114or
115.Pa /etc/sliphome/slip.logout. Ns Ar loginname
116is executed if it exists.  It is given the same arguments as the login script.
117.Ss Format of /etc/sliphome/slip.hosts
118Comments (lines starting with a `#') and blank lines (or started
119with space) are ignored.
120Other lines must start with a
121.Ar loginname
122but the remaining arguments can be whatever is appropriate for the
123.Pa  slip.login
124file that will be executed for that name.
125Arguments are separated by white space and follow normal
126.Xr sh 1
127quoting conventions (however,
128.Ar loginname
129cannot be quoted).
130Usually, lines have the form
131.Bd -literal -offset indent
132loginname local-address remote-address netmask opt-args
133.Ed
134.Pp
135where
136.Em local-address
137and
138.Em remote-address
139are the IP host names or addresses of the local and remote ends of the
140slip line and
141.Em netmask
142is the appropriate IP netmask.  These arguments are passed
143directly to
144.Xr ifconfig 8 .
145.Em Opt-args
146are optional arguments used to configure the line.
147.Sh FreeBSD Additions
148An additional SLIP configuration file (if present) is
149.Pa /etc/sliphome/slip.slparms .
150If particular hosts need different configurations, the file
151.Pa /etc/sliphome/slip.slparms. Ns Ar loginname
152will be parsed instead if it exists.
153.Ss Format of /etc/sliphome/slip.slparms*
154Comments (lines starting with a `#') and blank lines (or started with
155space) are ignored.
156This file contains from one to three numeric parameters separated with spaces,
157in order:
158.Ar keepalive ,
159.Ar outfill
160and
161.Ar slunit .
162.Bl -tag -width keepalive
163.It Ar keepalive
164Set SLIP "keep alive" timeout in seconds.
165If FRAME_END is not received in
166this amount of time,
167.Nm
168closes the line and exits.
169The default value is no timeout (zero).
170.It Ar outfill
171Set SLIP "out fill" timeout in seconds.
172It forces at least one FRAME_END
173to be sent during this time period, which is necessary for the "keep alive"
174timeout on the remote side.
175The default value is no timeout (zero).
176.It Ar slunit
177Set the SLIP unit number directly.
178Use with caution, because no check is made
179for two interfaces with same number.
180By default sliplogin dynamically assigns the unit number.
181.El
182.Pp
183If latter two parameters are omitted, they will not affect the
184corresponding SLIP configuration.
185If any of first two parameters is equal to zero, it will not affect
186the corresponding SLIP configuration.
187.Sh FILES
188.Bl -tag -width indent
189.It Pa /etc/sliphome/slip.hosts
190list of host login names and parameters.
191.It Pa /etc/sliphome/slip.login
192script executed when a connection is made.
193.It Pa /etc/sliphome/slip.login. Ns Ar loginname
194script executed when a connection is made by
195.Ar loginname .
196.It Pa /etc/sliphome/slip.logout
197script executed when a connection is lost.
198.It Pa /etc/sliphome/slip.logout. Ns Ar loginname
199script executed when a connection is lost by
200.Ar loginname .
201.It Pa /etc/sliphome/slip.slparms
202extra parameters file.
203.It Pa /etc/sliphome/slip.slparms. Ns Ar loginname
204extra parameters file for
205.Ar loginname .
206.It Pa /var/run/ Ns Ar ttyXn Ns Pa .if
207contains the name of the network interface used by the sliplogin process on
208.Ar ttyXn .
209.It Pa /var/run/ Ns Ar slX Ns Pa .pid
210contains the PID of the sliplogin process which is using interface
211.Ar slX .
212.El
213.Sh EXAMPLES
214The normal use of
215.Nm
216is to create a
217.Pa /etc/passwd
218entry for each legal, remote slip site with
219.Nm
220as the shell for that entry.  E.g.,
221.Bd -literal
222Sfoo:ikhuy6:2010:1:slip line to foo:/tmp:/usr/sbin/sliplogin
223.Ed
224.Pp
225(Our convention is to name the account used by remote host
226.Ar hostname
227as
228.Em Shostname . )
229Then an entry is added to
230.Pa slip.hosts
231that looks like:
232.Pp
233.Bd -literal -offset indent -compact
234Sfoo	`hostname`	foo	netmask
235.Ed
236.Pp
237where
238.Em `hostname`
239will be evaluated by
240.Xr sh 1
241to the local host name and
242.Em netmask
243is the local host IP netmask.
244.Pp
245Note that
246.Nm
247must be setuid to root and, while not a security hole, moral defectives
248can use it to place terminal lines in an unusable state and/or deny
249access to legitimate users of a remote slip line.  To prevent this,
250.Nm
251is installed as user
252.Em root ,
253group
254.Em network
255and mode 4550 so that only members of group
256.Em network
257may run
258.Nm .
259The system administrator should make sure that all legitimate users
260are a member of the correct group.
261.Sh DIAGNOSTICS
262The
263.Nm
264utility logs various information to the system log daemon,
265.Xr syslogd 8 ,
266with a facility code of
267.Em daemon .
268The messages are listed here, grouped by severity level.
269.Pp
270.Sy Error Severity
271.Bl -tag -width Ds -compact
272.It Sy ioctl (TCGETS): Em reason
273A
274.Dv TCGETS
275.Fn ioctl
276to get the line parameters failed.
277.Pp
278.It Sy ioctl (TCSETS): Em reason
279A
280.Dv TCSETS
281.Fn ioctl
282to set the line parameters failed.
283.Pp
284.It Sy /etc/sliphome/slip.hosts: Em reason
285The
286.Pa /etc/sliphome/slip.hosts
287file could not be opened.
288.Pp
289.It Sy access denied for Em user
290No entry for
291.Em user
292was found in
293.Pa /etc/sliphome/slip.hosts .
294.El
295.Pp
296.Sy Notice Severity
297.Bl -tag -width Ds -compact
298.It Sy "attaching slip unit" Em unit Sy for Ar loginname
299.Tn SLIP
300unit
301.Em unit
302was successfully attached.
303.El
304.Sh SEE ALSO
305.Xr slattach 8 ,
306.Xr syslogd 8
307.Pp
308.Pa /usr/share/examples/sliplogin
309.Sh HISTORY
310The
311.Nm
312utility appeared in
313.Bx 4.3 Reno .
314