Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / usr.sbin / lpr / lpd / lpd.8
blob65cf4e4ccbab9629026e780622b6d90b05988da2
1 .\"     $NetBSD: lpd.8,v 1.32 2006/01/20 08:51:40 garbled Exp $
2 .\"
3 .\" Copyright (c) 1983, 1991, 1993
4 .\"     The Regents of the University of California.  All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the University nor the names of its contributors
15 .\"    may be used to endorse or promote products derived from this software
16 .\"    without specific prior written permission.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .\" SUCH DAMAGE.
29 .\"
30 .\"     @(#)lpd.8       8.3 (Berkeley) 4/19/94
31 .\"
32 .Dd January 20, 2006
33 .Dt LPD 8
34 .Os
35 .Sh NAME
36 .Nm lpd
37 .Nd line printer spooler daemon
38 .Sh SYNOPSIS
39 .Nm
40 .Op Fl dlsrW
41 .Op Fl b Ar bind-address
42 .Op Fl n Ar maxchild
43 .Op Fl w Ar maxwait
44 .Op port
45 .Sh DESCRIPTION
46 .Nm
47 is the line printer daemon (spool area handler) and is normally invoked
48 at boot time from the
49 .Xr rc 8
50 file.
51 It makes a single pass through the
52 .Xr printcap 5
53 file to find out about the existing printers and prints any files
54 left after a crash.
55 It then uses the system calls
56 .Xr listen 2
57 and
58 .Xr accept 2
59 to receive requests to print files in the queue, transfer files to
60 the spooling area, display the queue, or remove jobs from the queue.
61 In each case, it forks a child to handle the request so the parent
62 can continue to listen for more requests.
63 .Pp
64 Available options:
65 .Bl -tag -width Ds
66 .It Fl b
67 Normally, if the
68 .Fl s
69 option is not specified,
70 .Nm
71 will listen on all network interfaces for incoming TCP connections.
72 The
73 .Fl b
74 option, followed by a
75 .Ar bind-address
76 specifies that
77 .Nm
78 should listen on that address instead of INADDR_ANY.
79 Multiple
80 .Fl b
81 options are permitted, allowing a list of addresses to be specified.
82 Use of this option silently overrides the
83 .Fl s
84 option if it is also present on the command line.
85 .Ar bind-address
86 can be a numeric host name in IPv4 or IPv6 notation, or a symbolic host
87 name which will be looked up in the normal way.
88 .It Fl d
89 The
90 .Fl d
91 option turns on the
92 .Dv SO_DEBUG
93 .Xr socket 2
94 option.
95 See
96 .Xr setsockopt 2
97 for more details.
98 .It Fl l
99 The
100 .Fl l
101 flag causes
103 to log valid requests received from the network.
104 This can be useful for debugging purposes.
105 .It Fl n
107 .Fl n
108 flag sets
109 .Ar maxchild
110 as the maximum number of child processes that
112 will spawn.
113 The default is 32.
114 .It Fl r
116 .Fl r
117 flag allows the
118 .Dq of
120 .Dq if
121 filters to be used if specified for a remote
122 printer.
123 Traditionally,
125 would not use filters for remote printers.
126 .It Fl s
128 .Fl s
129 flag selects
130 .Dq secure
131 mode, in which
133 does not listen on a TCP socket but only takes commands from a
135 domain socket.
136 This is valuable when the machine on which
138 runs is subject to attack over the network and it is desired that the
139 machine be protected from attempts to remotely fill spools and similar
140 attacks.
141 .It Fl w
143 .Fl w
144 flag sets
145 .Ar maxwait
146 as the wait time (in seconds) for dead remote server detection.
147 If no response is returned from a connected server within this period,
148 the connection is closed and a message logged.
149 The default is 120 seconds.
150 .It Fl W
152 .Fl W
153 option will instruct lpd not to verify a remote tcp connection
154 comes from a reserved port (\*[Lt]1024).
157 If the
158 .Op port
159 parameter is passed,
161 listens on this port instead of the usual
162 .Dq printer/tcp
163 port from
164 .Pa /etc/services .
166 Access control is provided by three means.
167 First,
168 .Pa /etc/hosts.allow
170 .Pa /etc/hosts.deny
171 are consulted as described in
172 .Xr hosts_access 5
173 with daemon name
174 .Nm .
175 Second, all requests must come from one of the machines listed in
176 the file
177 .Pa /etc/hosts.equiv
179 .Pa /etc/hosts.lpd .
180 Lastly, if the
181 .Li rs
182 capability is specified in the
183 .Xr printcap 5
184 entry for the printer being accessed,
185 .Em lpr
186 requests will only be honored for those users with accounts on the
187 machine with the printer.
188 Requests must pass all three tests.
190 The file
191 .Em minfree
192 in each spool directory contains the number of disk blocks to leave free
193 so that the line printer queue won't completely fill the disk.
195 .Em minfree
196 file can be edited with your favorite text editor.
198 The daemon begins processing files
199 after it has successfully set the lock for exclusive
200 access (described a bit later),
201 and scans the spool directory
202 for files beginning with
203 .Em cf .
204 Lines in each
205 .Em cf
206 file specify files to be printed or non-printing actions to be performed.
207 Each such line begins with a key character to specify what to do
208 with the remainder of the line.
209 .Bl -tag -width Ds
210 .It J
211 Job Name.
212 String to be used for the job name on the burst page.
213 .It C
214 Classification.
215 String to be used for the classification line
216 on the burst page.
217 .It L
218 Literal.
219 The line contains identification info from the password file and
220 causes the banner page to be printed.
221 .It T
222 Title.
223 String to be used as the title for
224 .Xr pr 1 .
225 .It H
226 Host Name.
227 Name of the machine where
228 .Xr lpr 1
229 was invoked.
230 .It P
231 Person.
232 Login name of the person who invoked
233 .Xr lpr 1 .
234 This is used to verify ownership by
235 .Xr lprm 1 .
236 .It M
237 Send mail to the specified user when the current print job completes.
238 .It f
239 Formatted File.
240 Name of a file to print which is already formatted.
241 .It l
242 Like
243 .Dq f
244 but passes control characters and does not make page breaks.
245 .It p
246 Name of a file to print using
247 .Xr pr 1
248 as a filter.
249 .It t
250 Troff File.
251 The file contains
252 .Xr troff 1
253 output (cat phototypesetter commands).
254 .It n
255 Ditroff File.
256 The file contains device independent troff
257 output.
258 .It d
259 DVI File.
260 The file contains
261 .Tn Tex l
262 output
263 DVI format from Stanford.
264 .It g
265 Graph File.
266 The file contains data produced by
267 .Ic plot .
268 .It c
269 Cifplot File.
270 The file contains data produced by
271 .Ic cifplot .
272 .It v
273 The file contains a raster image.
274 .It o
275 The file contains PostScript data.
276 .It r
277 The file contains text data with
278 FORTRAN carriage control characters.
279 .It \&1
280 Troff Font R.
281 Name of the font file to use instead of the default.
282 .It \&2
283 Troff Font I.
284 Name of the font file to use instead of the default.
285 .It \&3
286 Troff Font B.
287 Name of the font file to use instead of the default.
288 .It \&4
289 Troff Font S.
290 Name of the font file to use instead of the default.
291 .It W
292 Width.
293 Changes the page width (in characters) used by
294 .Xr pr 1
295 and the text filters.
296 .It I
297 Indent.
298 The number of characters to indent the output by (in ascii).
299 .It U
300 Unlink.
301 Name of file to remove upon completion of printing.
302 .It N
303 File name.
304 The name of the file which is being printed, or a blank for the
305 standard input (when
306 .Xr lpr 1
307 is invoked in a pipeline).
310 If a file cannot be opened, a message will be logged via
311 .Xr syslog 3
312 using the
313 .Em LOG_LPR
314 facility.
316 will try up to 20 times to reopen a file it expects to be there,
317 after which it will skip the file to be printed.
320 uses
321 .Xr flock 2
322 to provide exclusive access to the lock file and to prevent multiple
323 daemons from becoming active simultaneously.
324 If the daemon should be killed or die unexpectedly, the lock file
325 need not be removed.
326 The lock file is kept in a readable
327 .Tn ASCII
328 form and contains two lines.
329 The first is the process id of the daemon and the second is the control
330 file name of the current job being printed.
331 The second line is updated to reflect the current status of
333 for the programs
334 .Xr lpq 1
336 .Xr lprm 1 .
337 .Sh FILES
338 .Bl -tag -width "/var/spool/output/*/minfree" -compact
339 .It Pa /etc/printcap
340 printer description file
341 .It Pa /var/spool/output/*
342 spool directories
343 .It Pa /var/spool/output/*/minfree
344 minimum free space to leave
345 .It Pa /dev/lp*
346 line printer devices
347 .It Pa /var/run/printer
348 socket for local requests
349 .It Pa /etc/hosts.allow
350 explicit remote host access list.
351 .It Pa /etc/hosts.deny
352 explicit remote host denial of service list.
353 .It Pa /etc/hosts.equiv
354 lists machine names allowed printer access
355 .It Pa /etc/hosts.lpd
356 lists machine names allowed printer access,
357 but not under same administrative control.
359 .Sh SEE ALSO
360 .Xr lpq 1 ,
361 .Xr lpr 1 ,
362 .Xr lprm 1 ,
363 .Xr setsockopt 2 ,
364 .Xr syslog 3 ,
365 .Xr hosts.equiv 5 ,
366 .Xr hosts_access 5 ,
367 .Xr hosts_options 5 ,
368 .Xr printcap 5 ,
369 .Xr lpc 8 ,
370 .Xr pac 8
372 .%T "4.3 BSD Line Printer Spooler Manual"
374 .Sh HISTORY
377 daemon appeared in Version 6 AT\*[Am]T UNIX.