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