Load cups into easysw/current.
[thirdparty/cups.git] / doc / help / cupsd-conf-reference.html
1 <HTML>
2 <!-- SECTION: References -->
3 <HEAD>
4         <TITLE>cupsd.conf</TITLE>
5 </HEAD>
6 <BODY>
7
8 <P>The <VAR>/etc/cups/cupsd.conf</VAR> file contains
9 configuration <I>directives</I> that control how the server
10 functions. Each directive is listed on a line by itself followed
11 by its value. Comments are introduced using the number sign ("#")
12 character at the beginning of a line.</P>
13
14 <P>Since the server configuration file consists of plain text,
15 you can use your favorite text editor to make changes to it.
16 After making any changes, restart the <CODE>cupsd(8)</CODE>
17 process using the startup script for your operating system:</P>
18
19 <UL>
20
21         <LI>AIX:
22         <PRE CLASS="command">
23 /etc/init.d/cups restart
24         </PRE></LI>
25
26         <LI>HP-UX:
27         <PRE CLASS="command">
28 /sbin/init.d/cups restart
29         </PRE></LI>
30
31         <LI>IRIX:
32         <PRE CLASS="command">
33 /etc/init.d/cups restart
34         </PRE></LI>
35
36         <LI>Linux:
37         <PRE CLASS="command">
38 /etc/init.d/cups restart
39         </PRE></LI>
40
41         <LI>MacOS X:
42         <PRE CLASS="command">
43 /System/Library/StartupItems/PrintingServices/PrintingServices restart
44         </PRE></LI>
45
46         <LI>Solaris:
47         <PRE CLASS="command">
48 /etc/init.d/cups restart
49         </PRE></LI>
50
51 </UL>
52
53 <P>You can also edit this file from the CUPS web interface, which
54 automatically handles restarting the scheduler.</P>
55
56
57 <H3 CLASS="title"><A NAME="AccessLog">AccessLog</A></H3>
58
59 <H4>Examples</H4>
60
61 <PRE CLASS="command">
62 AccessLog /var/log/cups/access_log
63 AccessLog /var/log/cups/access_log-%s
64 AccessLog syslog
65 </PRE>
66
67 <H4>Description</H4>
68
69 <P>The <CODE>AccessLog</CODE> directive sets the name of the
70 access log file. If the filename is not absolute then it is
71 assumed to be relative to the <A
72 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
73 access log file is stored in "common log format" and can be used
74 by any web access reporting tool to generate a report on CUPS
75 server activity.</P>
76
77 <P>The server name can be included in the filename by using
78 <CODE>%s</CODE> in the name.</P>
79
80 <P>The special name "syslog" can be used to send the access
81 information to the system log instead of a plain file.</P>
82
83 <P>The default access log file is
84 <VAR>/var/log/cups/access_log</VAR>.</P>
85
86
87 <H3 CLASS="title"><A NAME="Allow">Allow</A></H3>
88
89 <H4>Examples</H4>
90
91 <PRE CLASS="command">
92 Allow from All
93 Allow from None
94 Allow from *.domain.com
95 Allow from .domain.com
96 Allow from host.domain.com
97 Allow from nnn.*
98 Allow from nnn.nnn.*
99 Allow from nnn.nnn.nnn.*
100 Allow from nnn.nnn.nnn.nnn
101 Allow from nnn.nnn.nnn.nnn/mm
102 Allow from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
103 Allow from xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
104 Allow from @LOCAL
105 Allow from @IF(name)
106 </PRE>
107
108 <H4>Description</H4>
109
110 <P>The <CODE>Allow</CODE> directive specifies a hostname, IP address,
111 or network that is allowed access to the server.  <CODE>Allow</CODE>
112 directives are cummulative, so multiple <CODE>Allow</CODE> directives
113 can be used to allow access for multiple hosts or networks.  The
114 <CODE>/mm</CODE> notation specifies a CIDR netmask:</P>
115
116 <DIV CLASS="table"><TABLE>
117 <TR>
118         <TH WIDTH="10%">mm</TH>
119         <TH WIDTH="20%">netmask</TH>
120         <TH WIDTH="10%">mm</TH>
121         <TH WIDTH="20%">netmask</TH>
122 </TR>
123 <TR>
124         <TD ALIGN="CENTER">0</TD>
125         <TD ALIGN="CENTER">0.0.0.0</TD>
126         <TD ALIGN="CENTER">8</TD>
127         <TD ALIGN="CENTER">255.0.0.0</TD>
128 </TR>
129 <TR>
130         <TD ALIGN="CENTER">1</TD>
131         <TD ALIGN="CENTER">128.0.0.0</TD>
132         <TD ALIGN="CENTER">16</TD>
133         <TD ALIGN="CENTER">255.255.0.0</TD>
134 </TR>
135 <TR>
136         <TD ALIGN="CENTER">2</TD>
137         <TD ALIGN="CENTER">192.0.0.0</TD>
138         <TD ALIGN="CENTER">24</TD>
139         <TD ALIGN="CENTER">255.255.255.0</TD>
140 </TR>
141 <TR>
142         <TD ALIGN="CENTER">...</TD>
143         <TD ALIGN="CENTER">...</TD>
144         <TD ALIGN="CENTER">32</TD>
145         <TD ALIGN="CENTER">255.255.255.255</TD>
146 </TR>
147 </TABLE></DIV>
148
149 <P>The <CODE>@LOCAL</CODE> name will allow access from all local
150 interfaces. The <CODE>@IF(name)</CODE> name will allow access
151 from the named interface.</P>
152
153 <P>The <CODE>Allow</CODE> directive must appear inside a <A
154 HREF="#Location"><CODE>Location</CODE></A> directive.</P>
155
156
157 <H3 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="AuthClass">AuthClass</A></H3>
158
159 <H4>Examples</H4>
160
161 <PRE CLASS="command">
162 AuthClass Anonymous
163 AuthClass User
164 AuthClass System
165 AuthClass Group
166 </PRE>
167
168 <H4>Description</H4>
169
170 <P>The <CODE>AuthClass</CODE> directive defines what level of
171 authentication is required:</P>
172
173 <UL>
174
175         <LI><CODE>Anonymous</CODE> - No authentication should be
176         performed (default)</LI>
177
178         <LI><CODE>User</CODE> - A valid username and password is
179         required</LI>
180
181         <LI><CODE>System</CODE> - A valid username and password
182         is required, and the username must belong to the "sys"
183         group; this can be changed using the <A
184         HREF="#SystemGroup"><CODE>SystemGroup</CODE></A>
185         directive</LI>
186
187         <LI><CODE>Group</CODE> - A valid username and password is
188         required, and the username must belong to the group named
189         by the <A
190         HREF="#AuthGroupName"><CODE>AuthGroupName</CODE></A>
191         directive</LI>
192
193 </UL>
194
195 <P>The <CODE>AuthClass</CODE> directive must appear inside a <A
196 HREF="#Location"><CODE>Location</CODE></A> directive.</P>
197
198 <P><B>This directive is deprecated and will be removed from a
199 future release of CUPS.</B> Consider using the more flexible <A
200 HREF="#Require"><CODE>Require</CODE></A> directive instead.</P>
201
202
203 <H3 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="AuthGroupName">AuthGroupName</A></H3>
204
205 <H4>Examples</H4>
206
207 <PRE CLASS="command">
208 AuthGroupName mygroup
209 AuthGroupName lp
210 </PRE>
211
212 <H4>Description</H4>
213
214 <P>The <CODE>AuthGroupName</CODE> directive sets the group to use
215 for <CODE>Group</CODE> authentication.</P>
216
217 <P>The <CODE>AuthGroupName</CODE> directive must appear inside a
218 <A HREF="#Location"><CODE>Location</CODE></A> directive.</P>
219
220 <P><B>This directive is deprecated and will be removed from a
221 future release of CUPS.</B> Consider using the more flexible <A
222 HREF="#Require"><CODE>Require</CODE></A> directive instead.</P>
223
224
225 <H3 CLASS="title"><A NAME="AuthType">AuthType</A></H3>
226
227 <H4>Examples</H4>
228
229 <PRE CLASS="command">
230 AuthType None
231 AuthType Basic
232 AuthType Digest
233 AuthType BasicDigest
234 </PRE>
235
236 <H4>Description</H4>
237
238 <P>The <CODE>AuthType</CODE> directive defines the type of
239 authentication to perform:</P>
240
241 <UL>
242
243         <LI><CODE>None</CODE> - No authentication should be
244         performed (default)</LI>
245
246         <LI><CODE>Basic</CODE> - Basic authentication should be
247         performed using the UNIX password and group files</LI>
248
249         <LI><CODE>Digest</CODE> - Digest authentication should be
250         performed using the <VAR>/etc/cups/passwd.md5</VAR>
251         file</LI>
252
253         <LI><CODE>BasicDigest</CODE> - Basic authentication
254         should be performed using the
255         <VAR>/etc/cups/passwd.md5</VAR> file</LI>
256
257 </UL>
258
259 <P>When using <CODE>Basic</CODE>, <CODE>Digest</CODE>, or
260 <CODE>BasicDigest</CODE> authentication, clients connecting
261 through the <CODE>localhost</CODE> interface can also
262 authenticate using certificates.</P>
263
264 <P>The <CODE>AuthType</CODE> directive must appear inside a <A
265 HREF="#Location"><CODE>Location</CODE></A> directive.</P>
266
267
268 <H3 CLASS="title"><A NAME="AutoPurgeJobs">AutoPurgeJobs</A></H3>
269
270 <H4>Examples</H4>
271
272 <PRE CLASS="command">
273 AutoPurgeJobs Yes
274 AutoPurgeJobs No
275 </PRE>
276
277 <H4>Description</H4>
278
279 <P>The <CODE>AutoPurgeJobs</CODE> directive specifies whether or
280 not to purge completed jobs once they are no longer required for
281 quotas. This option has no effect if quotas are not enabled. The
282 default setting is <CODE>No</CODE>.</P>
283
284
285 <H3 CLASS="title"><A NAME="BrowseAddress">BrowseAddress</A></H3>
286
287 <H4>Examples</H4>
288
289 <PRE CLASS="command">
290 BrowseAddress 255.255.255.255:631
291 BrowseAddress 192.0.2.255:631
292 BrowseAddress host.domain.com:631
293 BrowseAddress @LOCAL
294 BrowseAddress @IF(name)
295 </PRE>
296
297 <H4>Description</H4>
298
299 <P>The <CODE>BrowseAddress</CODE> directive specifies an address
300 to send browsing information to. Multiple
301 <CODE>BrowseAddress</CODE> directives can be specified to send
302 browsing information to different networks or systems.</P>
303
304 <P>The <CODE>@LOCAL</CODE> name will broadcast printer
305 information to all local interfaces. The <CODE>@IF(name)</CODE>
306 name will broadcast to the named interface.</P>
307
308 <P>There is no default browse address.</P>
309
310 <BLOCKQUOTE><B>Note:</B>
311
312 <P>If you are using HP-UX 10.20 and a subnet that is not 24,
313 16, or 8 bits, printer browsing (and in fact all broadcast
314 reception) will not work. This problem appears to be fixed in
315 HP-UX 11.0.</P>
316
317 </BLOCKQUOTE>
318
319
320 <H3 CLASS="title"><A NAME="BrowseAllow">BrowseAllow</A></H3>
321
322 <H4>Examples</H4>
323
324 <PRE CLASS="command">
325 BrowseAllow from all
326 BrowseAllow from none
327 BrowseAllow from 192.0.2
328 BrowseAllow from 192.0.2.0/24
329 BrowseAllow from 192.0.2.0/255.255.255.0
330 BrowseAllow from *.domain.com
331 BrowseAllow from @LOCAL
332 BrowseAllow from @IF(name)
333 </PRE>
334
335 <H4>Description</H4>
336
337 <P>The <CODE>BrowseAllow</CODE> directive specifies a system or
338 network to accept browse packets from. The default is to accept
339 browse packets from all hosts.</P>
340
341 <P>Host and domain name matching require that you enable the <A
342 HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
343 directive.</P>
344
345 <P>IP address matching supports exact matches, partial addresses
346 that match networks using netmasks of 255.0.0.0, 255.255.0.0, and
347 255.255.255.0, or network addresses using the specified netmask
348 or bit count.</P>
349
350 <P>The <CODE>@LOCAL</CODE> name will allow browse data from all
351 local interfaces. The <CODE>@IF(name)</CODE> name will allow
352 browse data from the named interface.</P>
353
354
355 <H3 CLASS="title"><A NAME="BrowseDeny">BrowseDeny</A></H3>
356
357 <H4>Examples</H4>
358
359 <PRE CLASS="command">
360 BrowseDeny from all
361 BrowseDeny from none
362 BrowseDeny from 192.0.2
363 BrowseDeny from 192.0.2.0/24
364 BrowseDeny from 192.0.2.0/255.255.255.0
365 BrowseDeny from *.domain.com
366 BrowseDeny from @LOCAL
367 BrowseDeny from @IF(name)
368 </PRE>
369
370 <H4>Description</H4>
371
372 <P>The <CODE>BrowseDeny</CODE> directive specifies a system or
373 network to reject browse packets from. The default is to not deny
374 browse packets from any hosts.</P>
375
376 <P>Host and domain name matching require that you enable the <A
377 HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
378 directive.</P>
379
380 <P>IP address matching supports exact matches, partial addresses
381 that match networks using netmasks of 255.0.0.0, 255.255.0.0, and
382 255.255.255.0, or network addresses using the specified netmask
383 or bit count.</P>
384
385 <P>The <CODE>@LOCAL</CODE> name will block browse data from all
386 local interfaces. The <CODE>@IF(name)</CODE> name will block
387 browse data from the named interface.</P>
388
389
390 <H3 CLASS="title"><A NAME="BrowseOrder">BrowseOrder</A></H3>
391
392 <H4>Examples</H4>
393
394 <PRE CLASS="command">
395 BrowseOrder allow,deny
396 BrowseOrder deny,allow
397 </PRE>
398
399 <H4>Description</H4>
400
401 <P>The <CODE>BrowseOrder</CODE> directive specifies the order of
402 allow/deny processing. The default order is
403 <CODE>deny,allow</CODE>:</P>
404
405 <UL>
406
407         <LI><CODE>allow,deny</CODE> - Deny browse packets by
408         default, then check <CODE>BrowseAllow</CODE> lines
409         followed by <CODE>BrowseDeny</CODE> lines.</LI>
410
411         <LI><CODE>deny,allow</CODE> - Allow browse packets by
412         default, then check <CODE>BrowseDeny</CODE> lines
413         followed by <CODE>BrowseAllow</CODE> lines.</LI>
414
415 </UL>
416
417
418 <H3 CLASS="title"><A NAME="BrowseInterval">BrowseInterval</A></H3>
419
420 <H4>Examples</H4>
421
422 <PRE CLASS="command">
423 BrowseInterval 0
424 BrowseInterval 30
425 </PRE>
426
427 <H4>Description</H4>
428
429 <P>The <CODE>BrowseInterval</CODE> directive specifies the
430 maximum amount of time between browsing updates. Specifying a
431 value of 0 seconds disables outgoing browse updates but allows a
432 server to receive printer information from other hosts.</P>
433
434 <P>The <CODE>BrowseInterval</CODE> value should always be less
435 than the <A HREF="#BrowseTimeout"><CODE>BrowseTimeout</CODE></A>
436 value. Otherwise printers and classes will disappear from client
437 systems between updates.</P>
438
439
440 <H3 CLASS="title"><A NAME="BrowsePoll">BrowsePoll</A></H3>
441
442 <H4>Examples</H4>
443
444 <PRE CLASS="command">
445 BrowsePoll 192.0.2.2:631
446 BrowsePoll host.domain.com:631
447 </PRE>
448
449 <H4>Description</H4>
450
451 <P>The <CODE>BrowsePoll</CODE> directive polls a server for
452 available printers once every <A
453 HREF="#BrowseInterval"><CODE>BrowseInterval</CODE></A> seconds.
454 Multiple <CODE>BrowsePoll</CODE> directives can be specified to
455 poll multiple servers.</P>
456
457 <P>If <CODE>BrowseInterval</CODE> is set to 0 then the server is
458 polled once every 30 seconds.</P>
459
460
461 <H3 CLASS="title"><A NAME="BrowsePort">BrowsePort</A></H3>
462
463 <H4>Examples</H4>
464
465 <PRE CLASS="command">
466 BrowsePort 631
467 BrowsePort 9999
468 </PRE>
469
470 <H4>Description</H4>
471
472 <P>The <CODE>BrowsePort</CODE> directive specifies the UDP port number
473 used for browse packets. The default port number is 631.</P>
474
475 <BLOCKQUOTE><B>Note:</B>
476
477 <P>You must set the <CODE>BrowsePort</CODE> to the same value
478 on all of the systems that you want to see.
479
480 </BLOCKQUOTE>
481
482
483 <H3 CLASS="title"><A NAME="BrowseProtocols">BrowseProtocols</A></H3>
484
485 <H4>Examples</H4>
486
487 <PRE CLASS="command">
488 BrowseProtocols CUPS
489 BrowseProtocols SLP
490 BrowseProtocols CUPS SLP
491 BrowseProtocols all
492 </PRE>
493
494 <H4>Description</H4>
495
496 <P>The <CODE>BrowseProtocols</CODE> directive specifies the
497 protocols to use when collecting and distributing shared printers
498 on the local network. The default protocol is <CODE>CUPS</CODE>,
499 which is a broadcast-based protocol.</P>
500
501 <BLOCKQUOTE><B>Note:</B>
502
503 <P>When using the <CODE>SLP</CODE> protocol, you must have at least
504 one Directory Agent (DA) server on your network. Otherwise the
505 CUPS scheduler (<CODE>cupsd</CODE>) will not respond to client
506 requests for several seconds while polling the network.</P>
507
508 </BLOCKQUOTE>
509
510
511 <H3 CLASS="title"><A NAME="BrowseRelay">BrowseRelay</A></H3>
512
513 <H4>Examples</H4>
514
515 <PRE CLASS="command">
516 BrowseRelay 193.0.2.1 192.0.2.255
517 BrowseRelay 193.0.2.0/255.255.255.0 192.0.2.255
518 BrowseRelay 193.0.2.0/24 192.0.2.255
519 BrowseRelay *.domain.com 192.0.2.255
520 BrowseRelay host.domain.com 192.0.2.255
521 </PRE>
522
523 <H4>Description</H4>
524
525 <P>The <CODE>BrowseRelay</CODE> directive specifies source and
526 destination addresses for relaying browsing information from one
527 host or network to another. Multiple <CODE>BrowseRelay</CODE>
528 directives can be specified as needed.</P>
529
530 <P><CODE>BrowseRelay</CODE> is typically used on systems that
531 bridge multiple subnets using one or more network interfaces. It
532 can also be used to relay printer information from polled servers
533 with the line:</P>
534
535 <PRE CLASS="command">
536 BrowseRelay 127.0.0.1 @LOCAL
537 </PRE>
538
539 <P>This effectively provides access to printers on a WAN for all
540 clients on the LAN(s).</P>
541
542
543 <H3 CLASS="title"><A NAME="BrowseShortNames">BrowseShortNames</A></H3>
544
545 <H4>Examples</H4>
546
547 <PRE CLASS="command">
548 BrowseShortNames Yes
549 BrowseShortNames No
550 </PRE>
551
552 <H4>Description</H4>
553
554 <P>The <CODE>BrowseShortNames</CODE> directive specifies whether
555 or not short names are used for remote printers when possible.
556 Short names are just the remote printer name, without the server
557 ("printer"). If more than one remote printer is detected with the
558 same name, the printers will have long names ("printer@server1",
559 "printer@server2".)</P>
560
561 <P>The default value for this option is <CODE>Yes</CODE>.</P>
562
563
564 <H3 CLASS="title"><A NAME="BrowseTimeout">BrowseTimeout</A></H3>
565
566 <H4>Examples</H4>
567
568 <PRE CLASS="command">
569 BrowseTimeout 300
570 BrowseTimeout 60
571 </PRE>
572
573 <H4>Description</H4>
574
575 <P>The <CODE>BrowseTimeout</CODE> directive sets the timeout for
576 printer or class information that is received in browse packets.
577 Once a printer or class times out it is removed from the list of
578 available destinations.</P>
579
580 <P>The <CODE>BrowseTimeout</CODE> value should always be greater
581 than the <A
582 HREF="#BrowseInterval"><CODE>BrowseInterval</CODE></A> value.
583 Otherwise printers and classes will disappear from client systems
584 between updates.</P>
585
586
587 <H3 CLASS="title"><A NAME="Browsing">Browsing</A></H3>
588
589 <H4>Examples</H4>
590
591 <PRE CLASS="command">
592 Browsing On
593 Browsing Off
594 </PRE>
595
596 <H4>Description</H4>
597
598 <P>The <CODE>Browsing</CODE> directive controls whether or not
599 network printer browsing is enabled. The default setting is
600 <CODE>On</CODE>.</P>
601
602 <P>This directive does not enable sharing of local printers by
603 itself; you must also use the <A
604 HREF="#BrowseAddress"><CODE>BrowseAddress</CODE></A> or <A
605 HREF="#BrowseProtocols"><CODE>BrowseProtocols</CODE></A>
606 directives to advertise local printers to other systems.</P>
607
608 <BLOCKQUOTE><B>Note:</B>
609
610 <P>If you are using HP-UX 10.20 and a subnet that is not 24,
611 16, or 8 bits, printer browsing (and in fact all broadcast
612 reception) will not work. This problem appears to be fixed in
613 HP-UX 11.0.</P>
614
615 </BLOCKQUOTE>
616
617
618 <H3 CLASS="title"><A NAME="Classification">Classification</A></H3>
619
620 <H4>Examples</H4>
621
622 <PRE CLASS="command">
623 Classification
624 Classification classified
625 Classification confidential
626 Classification secret
627 Classification topsecret
628 Classification unclassified
629 </PRE>
630
631 <H4>Description</H4>
632
633 <P>The <CODE>Classification</CODE> directive sets the
634 classification level on the server. When this option is set, at
635 least one of the banner pages is forced to the classification
636 level, and the classification is placed on each page of output.
637 The default is no classification level.</P>
638
639
640 <H3 CLASS="title"><A NAME="ClassifyOverride">ClassifyOverride</A></H3>
641
642 <H4>Examples</H4>
643
644 <PRE CLASS="command">
645 ClassifyOverride Yes
646 ClassifyOverride No
647 </PRE>
648
649 <H4>Description</H4>
650
651 <P>The <CODE>ClassifyOverride</CODE> directive specifies whether
652 users can override the default classification level on the
653 server. When the server classification is set, users can change
654 the classification using the <CODE>job-sheets</CODE> option and
655 can choose to only print one security banner before or after the
656 job. If the <CODE>job-sheets</CODE> option is set to
657 <CODE>none</CODE> then the server default classification is
658 used.</P>
659
660 <P>The default is to not allow classification overrides.</P>
661
662
663 <H3 CLASS="title"><A NAME="ConfigFilePerm">ConfigFilePerm</A></H3>
664
665 <H4>Examples</H4>
666
667 <PRE CLASS="command">
668 ConfigFilePerm 0644
669 ConfigFilePerm 0600
670 </PRE>
671
672 <H4>Description</H4>
673
674 <P>The <CODE>ConfigFilePerm</CODE> directive specifies the
675 permissions to use when writing configuration files. The default
676 is 0600.</P>
677
678
679 <H3 CLASS="title"><A NAME="DataDir">DataDir</A></H3>
680
681 <H4>Examples</H4>
682
683 <PRE CLASS="command">
684 DataDir /usr/share/cups
685 </PRE>
686
687 <H4>Description</H4>
688
689 <P>The <CODE>DataDir</CODE> directive sets the directory to use
690 for data files.</P>
691
692
693 <H3 CLASS="title"><A NAME="DefaultCharset">DefaultCharset</A></H3>
694
695 <H4>Examples</H4>
696
697 <PRE CLASS="command">
698 DefaultCharset utf-8
699 DefaultCharset iso-8859-1
700 DefaultCharset windows-1251
701 </PRE>
702
703 <H4>Description</H4>
704
705 <P>The <CODE>DefaultCharset</CODE> directive sets the default
706 character set to use for client connections. The default
707 character set is <CODE>utf-8</CODE> but is overridden by the
708 character set for the language specified by the client or the
709 <CODE>DefaultLanguage</CODE> directive.</P>
710
711
712 <H3 CLASS="title"><A NAME="DefaultLanguage">DefaultLanguage</A></H3>
713
714 <H4>Examples</H4>
715
716 <PRE CLASS="command">
717 DefaultLanguage de
718 DefaultLanguage en
719 DefaultLanguage es
720 DefaultLanguage fr
721 DefaultLanguage it
722 </PRE>
723
724 <H4>Description</H4>
725
726 <P>The <CODE>DefaultLanguage</CODE> directive specifies the
727 default language to use for client connections. Setting the
728 default language also sets the default character set if a
729 language localization file exists for it. The default language
730 is "en" for English.</P>
731
732
733 <H3 CLASS="title"><A NAME="Deny">Deny</A></H3>
734
735 <H4>Examples</H4>
736
737 <PRE CLASS="command">
738 Deny from All
739 Deny from None
740 Deny from *.domain.com
741 Deny from .domain.com
742 Deny from host.domain.com
743 Deny from nnn.*
744 Deny from nnn.nnn.*
745 Deny from nnn.nnn.nnn.*
746 Deny from nnn.nnn.nnn.nnn
747 Deny from nnn.nnn.nnn.nnn/mm
748 Deny from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
749 Deny from xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
750 Deny from @LOCAL
751 Deny from @IF(name)
752 </PRE>
753
754 <H4>Description</H4>
755
756 <P>The <CODE>Deny</CODE> directive specifies a hostname, IP
757 address, or network that is allowed access to the server.
758 <CODE>Deny</CODE> directives are cummulative, so multiple
759 <CODE>Deny</CODE> directives can be used to allow access for
760 multiple hosts or networks. The <CODE>/mm</CODE> notation
761 specifies a CIDR netmask:</P>
762
763 <DIV CLASS="table"><TABLE>
764 <TR>
765         <TH WIDTH="10%">mm</TH>
766         <TH WIDTH="20%">netmask</TH>
767         <TH WIDTH="10%">mm</TH>
768         <TH WIDTH="20%">netmask</TH>
769 </TR>
770 <TR>
771         <TD ALIGN="CENTER">0</TD>
772         <TD ALIGN="CENTER">0.0.0.0</TD>
773         <TD ALIGN="CENTER">8</TD>
774         <TD ALIGN="CENTER">255.0.0.0</TD>
775 </TR>
776 <TR>
777         <TD ALIGN="CENTER">1</TD>
778         <TD ALIGN="CENTER">128.0.0.0</TD>
779         <TD ALIGN="CENTER">16</TD>
780         <TD ALIGN="CENTER">255.255.0.0</TD>
781 </TR>
782 <TR>
783         <TD ALIGN="CENTER">2</TD>
784         <TD ALIGN="CENTER">192.0.0.0</TD>
785         <TD ALIGN="CENTER">24</TD>
786         <TD ALIGN="CENTER">255.255.255.0</TD>
787 </TR>
788 <TR>
789         <TD ALIGN="CENTER">...</TD>
790         <TD ALIGN="CENTER">...</TD>
791         <TD ALIGN="CENTER">32</TD>
792         <TD ALIGN="CENTER">255.255.255.255</TD>
793 </TR>
794 </TABLE></DIV>
795
796 <P>The <CODE>@LOCAL</CODE> name will deny access from all local
797 interfaces. The <CODE>@IF(name)</CODE> name will deny access from
798 the named interface.</P>
799
800 <P>The <CODE>Deny</CODE> directive must appear inside a <A
801 HREF="#Location"><CODE>Location</CODE></A> directive.</P>
802
803
804 <H3 CLASS="title"><A NAME="DocumentRoot">DocumentRoot</A></H3>
805
806 <H4>Examples</H4>
807
808 <PRE CLASS="command">
809 DocumentRoot /usr/share/doc/cups
810 DocumentRoot /foo/bar/doc/cups
811 </PRE>
812
813 <H4>Description</H4>
814
815 <P>The <CODE>DocumentRoot</CODE> directive specifies the location
816 of web content for the HTTP server in CUPS. If an absolute path
817 is not specified then it is assumed to be relative to the <A
818 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
819 default directory is <VAR>/usr/share/doc/cups</VAR>.</P>
820
821 <P>Documents are first looked up in a sub-directory for the
822 primary language requested by the client (e.g.
823 <VAR>/usr/share/doc/cups/fr/...</VAR>) and then directly under
824 the <CODE>DocumentRoot</CODE> directory (e.g.
825 <VAR>/usr/share/doc/cups/...</VAR>), so it is possible to
826 localize the web content by providing subdirectories for each
827 language needed.</P>
828
829
830 <H3 CLASS="title"><A NAME="Encryption">Encryption</A></H3>
831
832 <H4>Examples</H4>
833
834 <PRE CLASS="command">
835 Encryption Never
836 Encryption IfRequested
837 Encryption Required
838 </PRE>
839
840 <H4>Description</H4>
841
842 <P>The <CODE>Encryption</CODE> directive must appear instead a <A
843 HREF="#Location"><CODE>Location</CODE></A> section and specifies
844 the encryption settings for that location. The default setting is
845 <CODE>IfRequested</CODE> for all locations.</P>
846
847
848 <H3 CLASS="title"><A NAME="ErrorLog">ErrorLog</A></H3>
849
850 <H4>Examples</H4>
851
852 <PRE CLASS="command">
853 ErrorLog /var/log/cups/error_log
854 ErrorLog /var/log/cups/error_log-%s
855 ErrorLog syslog
856 </PRE>
857
858 <H4>Description</H4>
859
860 <P>The <CODE>ErrorLog</CODE> directive sets the name of the error
861 log file. If the filename is not absolute then it is assumed to
862 be relative to the <A
863 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
864 default error log file is <VAR>/var/log/cups/error_log</VAR>.</P>
865
866 <P>The server name can be included in the filename by using
867 <CODE>%s</CODE> in the name.</P>
868
869 <P>The special name "syslog" can be used to send the error
870 information to the system log instead of a plain file.</P>
871
872
873 <H3 CLASS="title"><A NAME="FileDevice">FileDevice</A></H3>
874
875 <H4>Examples</H4>
876
877 <PRE CLASS="command">
878 FileDevice Yes
879 FileDevice No
880 </PRE>
881
882 <H4>Description</H4>
883
884 <P>The <CODE>FileDevice</CODE> directive determines whether the
885 scheduler allows new printers to be added using device URIs of
886 the form <CODE>file:/filename</CODE>. File devices are most often
887 used to test new printer drivers and do not support raw file
888 printing.</P>
889
890 <P>The default setting is <CODE>No</CODE>.</P>
891
892 <BLOCKQUOTE><B>Note:</B>
893
894 <P>File devices are managed by the scheduler. Since the
895 scheduler normally runs as the root user, file devices
896 can be used to overwrite system files and potentially
897 gain unauthorized access to the system. If you must
898 create printers using file devices, we recommend that
899 you set the <CODE>FileDevice</CODE> directive to
900 <CODE>Yes</CODE> for only as long as you need to add the
901 printers to the system, and then reset the directive to
902 <CODE>No</CODE>.</P>
903
904 </BLOCKQUOTE>
905
906
907 <H3 CLASS="title"><A NAME="FilterLimit">FilterLimit</A></H3>
908
909 <H4>Examples</H4>
910
911 <PRE CLASS="command">
912 FilterLimit 0
913 FilterLimit 200
914 FilterLimit 1000
915 </PRE>
916
917 <H4>Description</H4>
918
919 <P>The <CODE>FilterLimit</CODE> directive sets the maximum cost
920 of all running job filters. It can be used to limit the number of
921 filter programs that are run on a server to minimize disk,
922 memory, and CPU resource problems. A limit of 0 disables filter
923 limiting.</P>
924
925 <P>An average print to a non-PostScript printer needs a filter
926 limit of about 200. A PostScript printer needs about half that
927 (100). Setting the limit below these thresholds will effectively
928 limit the scheduler to printing a single job at any time.</P>
929
930 <P>The default limit is 0.</P>
931
932
933 <H3 CLASS="title"><A NAME="FontPath">FontPath</A></H3>
934
935 <H4>Examples</H4>
936
937 <PRE CLASS="command">
938 FontPath /foo/bar/fonts
939 FontPath /usr/share/cups/fonts:/foo/bar/fonts
940 </PRE>
941
942 <H4>Description</H4>
943
944 <P>The <CODE>FontPath</CODE> directive specifies the font path to
945 use when searching for fonts. The default font path is
946 <CODE>/usr/share/cups/fonts</CODE>.</P>
947
948
949 <H3 CLASS="title"><A NAME="Group">Group</A></H3>
950
951 <H4>Examples</H4>
952
953 <PRE CLASS="command">
954 Group nobody
955 </PRE>
956
957 <H4>Description</H4>
958
959 <P>The <CODE>Group</CODE> directive specifies the UNIX group that
960 filter and CGI programs run as. The default group is
961 <CODE>nobody</CODE>.</P>
962
963
964 <H3 CLASS="title"><A NAME="HideImplicitMembers">HideImplicitMembers</A></H3>
965
966 <H4>Examples</H4>
967
968 <PRE CLASS="command">
969 HideImplicitMembers Yes
970 HideImplicitMembers No
971 </PRE>
972
973 <H4>Description</H4>
974
975 <P>The <CODE>HideImplicitMembers</CODE> directive controls
976 whether the individual printers in an implicit class are hidden
977 from the user. The default is <CODE>Yes</CODE>.</P>
978
979 <P><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A>
980 must be enabled for this directive to have any effect.</P>
981
982
983 <H3 CLASS="title"><A NAME="HostNameLookups">HostNameLookups</A></H3>
984
985 <H4>Examples</H4>
986
987 <PRE CLASS="command">
988 HostNameLookups On
989 HostNameLookups Off
990 HostNameLookups Double
991 </PRE>
992
993 <H4>Description</H4>
994
995 <P>The <CODE>HostNameLookups</CODE> directive controls whether or
996 not CUPS looks up the hostname for connecting clients. The
997 <CODE>Double</CODE> setting causes CUPS to verify that the
998 hostname resolved from the address matches one of the addresses
999 returned for that hostname. <CODE>Double</CODE> lookups also
1000 prevent clients with unregistered addresses from connecting to
1001 your server.</P>
1002
1003 <P>The default is <CODE>Off</CODE> to avoid the potential server
1004 performance problems with hostname lookups. Set this option to
1005 <CODE>On</CODE> or <CODE>Double</CODE> only if absolutely
1006 required.</P>
1007
1008
1009 <H3 CLASS="title"><A NAME="ImplicitClasses">ImplicitClasses</A></H3>
1010
1011 <H4>Examples</H4>
1012
1013 <PRE CLASS="command">
1014 ImplicitClasses On
1015 ImplicitClasses Off
1016 </PRE>
1017
1018 <H4>Description</H4>
1019
1020 <P>The <CODE>ImplicitClasses</CODE> directive controls whether
1021 implicit classes are created based upon the available network
1022 printers and classes. The default setting is <CODE>On</CODE> but
1023 is automatically turned <CODE>Off</CODE> if <A
1024 HREF="#Browsing"><CODE>Browsing</CODE></A> is turned
1025 <CODE>Off</CODE>.</P>
1026
1027
1028 <H3 CLASS="title"><A NAME="ImplicitAnyClasses">ImplicitAnyClasses</A></H3>
1029
1030 <H4>Examples</H4>
1031
1032 <PRE CLASS="command">
1033 ImplicitAnyClasses On
1034 ImplicitAnyClasses Off
1035 </PRE>
1036
1037 <H4>Description</H4>
1038
1039 <P>The <CODE>ImplicitAnyClasses</CODE> directive controls
1040 whether implicit classes for local and remote printers are
1041 created with the name <CODE>AnyPrinter</CODE>. The default
1042 setting is <CODE>Off</CODE>.</P>
1043
1044 <P><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A>
1045 must be enabled for this directive to have any effect.</P>
1046
1047
1048 <H3 CLASS="title"><A NAME="Include">Include</A></H3>
1049
1050 <H4>Examples</H4>
1051
1052 <PRE CLASS="command">
1053 Include filename
1054 Include /foo/bar/filename
1055 </PRE>
1056
1057 <H4>Description</H4>
1058
1059 <P>The <CODE>Include</CODE> directive includes the named file in
1060 the <CODE>cupsd.conf</CODE> file. If no leading path is provided,
1061 the file is assumed to be relative to the <A
1062 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory.</P>
1063
1064
1065 <H3 CLASS="title"><A NAME="KeepAlive">KeepAlive</A></H3>
1066
1067 <H4>Examples</H4>
1068
1069 <PRE CLASS="command">
1070 KeepAlive On
1071 KeepAlive Off
1072 </PRE>
1073
1074 <H4>Description</H4>
1075
1076 <P>The <CODE>KeepAlive</CODE> directive controls whether or not
1077 to support persistent HTTP connections. The default is
1078 <CODE>On</CODE>.</P>
1079
1080 <P>HTTP/1.1 clients automatically support persistent connections,
1081 while HTTP/1.0 clients must specifically request them using the
1082 <CODE>Keep-Alive</CODE> attribute in the <CODE>Connection:</CODE>
1083 field of each request.</P>
1084
1085
1086 <H3 CLASS="title"><A NAME="KeepAliveTimeout">KeepAliveTimeout</A></H3>
1087
1088 <H4>Examples</H4>
1089
1090 <PRE CLASS="command">
1091 KeepAliveTimeout 60
1092 KeepAliveTimeout 30
1093 </PRE>
1094
1095 <H4>Description</H4>
1096
1097 <P>The <CODE>KeepAliveTimeout</CODE> directive controls how long
1098 a persistent HTTP connection will remain open after the last
1099 request. The default is 60 seconds.</P>
1100
1101
1102 <H3 CLASS="title"><A NAME="Limit">Limit</A></H3>
1103
1104 <H4>Examples</H4>
1105
1106 <PRE CLASS="command">
1107 &lt;Limit GET POST&gt;
1108 ...
1109 &lt;/Limit&gt;
1110
1111 &lt;Limit ALL&gt;
1112 ...
1113 &lt;/Limit&gt;
1114 </PRE>
1115
1116 <H4>Description</H4>
1117
1118 <P>The <CODE>Limit</CODE> directive groups access control
1119 directives for specific types of HTTP requests and must appear
1120 inside a <A HREF="#Location"><CODE>Location</CODE></A> section.
1121 Access can be limited for individual request types
1122 (<CODE>DELETE</CODE>, <CODE>GET</CODE>, <CODE>HEAD</CODE>,
1123 <CODE>OPTIONS</CODE>, <CODE>POST</CODE>, <CODE>PUT</CODE>, and
1124 <CODE>TRACE</CODE>) or for all request types (<CODE>ALL</CODE>).
1125 The request type names are case-sensitive for compatibility with
1126 Apache.</P>
1127
1128
1129 <H3 CLASS="title"><A NAME="LimitExcept">LimitExcept</A></H3>
1130
1131 <H4>Examples</H4>
1132
1133 <PRE CLASS="command">
1134 &lt;LimitExcept GET POST&gt;
1135 ...
1136 &lt;/LimitExcept&gt;
1137 </PRE>
1138
1139 <H4>Description</H4>
1140
1141 <P>The <CODE>LimitExcept</CODE> directive groups access control
1142 directives for specific types of HTTP requests and must appear
1143 inside a <A HREF="#Location"><CODE>Location</CODE></A> section.
1144 Unlike the <A HREF="#Limit"><CODE>Limit</CODE></A> directive,
1145 <CODE>LimitExcept</CODE> restricts access for all requests
1146 <I>except</I> those listed on the <CODE>LimitExcept</CODE>
1147 line.</P>
1148
1149
1150 <H3 CLASS="title"><A NAME="LimitRequestBody">LimitRequestBody</A></H3>
1151
1152 <H4>Examples</H4>
1153
1154 <PRE CLASS="command">
1155 LimitRequestBody 10485760
1156 LimitRequestBody 10m
1157 LimitRequestBody 0
1158 </PRE>
1159
1160 <H4>Description</H4>
1161
1162 <P>The <CODE>LimitRequestBody</CODE> directive controls the
1163 maximum size of print files, IPP requests, and HTML form data in
1164 HTTP POST requests. The default limit is 0 which disables the
1165 limit check.</P>
1166
1167
1168 <H3 CLASS="title"><A NAME="Listen">Listen</A></H3>
1169
1170 <H4>Examples</H4>
1171
1172 <PRE CLASS="command">
1173 Listen 127.0.0.1:631
1174 Listen 192.0.2.1:631
1175 Listen [::1]:631
1176 Listen *:631
1177 </PRE>
1178
1179 <H4>Description</H4>
1180
1181 <P>The <CODE>Listen</CODE> directive specifies a network address
1182 and port to listen for connections. Multiple <CODE>Listen</CODE>
1183 directives can be provided to listen on multiple addresses.</P>
1184
1185 <P>The <CODE>Listen</CODE> directive is similar to the <A
1186 HREF="#Port"><CODE>Port</CODE></A> directive but allows you to
1187 restrict access to specific interfaces or networks.</P>
1188
1189
1190 <H3 CLASS="title"><A NAME="Location">Location</A></H3>
1191
1192 <H4>Examples</H4>
1193
1194 <PRE CLASS="command">
1195 &lt;Location /&gt;
1196 ...
1197 &lt;/Location&gt;
1198
1199 &lt;Location /admin&gt;
1200 ...
1201 &lt;/Location&gt;
1202
1203 &lt;Location /admin/conf&gt;
1204 ...
1205 &lt;/Location&gt;
1206
1207 &lt;Location /admin/log&gt;
1208 ...
1209 &lt;/Location&gt;
1210
1211 &lt;Location /classes&gt;
1212 ...
1213 &lt;/Location&gt;
1214
1215 &lt;Location /classes/name&gt;
1216 ...
1217 &lt;/Location&gt;
1218
1219 &lt;Location /jobs&gt;
1220 ...
1221 &lt;/Location&gt;
1222
1223 &lt;Location /printers&gt;
1224 ...
1225 &lt;/Location&gt;
1226
1227 &lt;Location /printers/name&gt;
1228 ...
1229 &lt;/Location&gt;
1230
1231 </PRE>
1232
1233 <H4>Description</H4>
1234
1235 <P>The <CODE>Location</CODE> directive specifies access control
1236 and authentication options for the specified HTTP resource or
1237 path.  The  <A HREF="#Allow"><CODE>Allow</CODE></A>,  <A
1238 HREF="#AuthType"><CODE>AuthType</CODE></A>,  <A
1239 HREF="#Deny"><CODE>Deny</CODE></A>,  <A
1240 HREF="#Encryption"><CODE>Encryption</CODE></A>,  <A
1241 HREF="#Limit"><CODE>Limit</CODE></A>,  <A
1242 HREF="#LimitExcept"><CODE>LimitExcept</CODE></A>,  <A
1243 HREF="#Order"><CODE>Order</CODE></A>,  <A
1244 HREF="#Require"><CODE>Require</CODE></A>, and <A
1245 HREF="#Satisfy"><CODE>Satisfy</CODE></A> directives may all
1246 appear inside a location.</P>
1247
1248 <P>Note that more specific resources override the less specific
1249 ones. So the directives inside the <CODE>/printers/name</CODE>
1250 location will override ones from <CODE>/printers</CODE>.
1251 Directives inside <CODE>/printers</CODE> will override ones from
1252 <CODE>/</CODE>. None of the directives are inherited.</P>
1253
1254 <DIV CLASS="table"><TABLE>
1255 <CAPTION>Common Locations on the Server</CAPTION>
1256 <TR><TH>Location</TH><TH>Description</TH></TR>
1257 <TR><TD><CODE>/</CODE></TD><TD>The path for all get operations (get-printers, get-jobs, etc.)</TD></TR>
1258 <TR><TD><CODE>/admin</CODE></TD><TD>The path for all administration operations (add-printer, delete-printer, start-printer, etc.)</TD></TR>
1259 <TR><TD><CODE>/admin/conf</CODE></TD><TD>The path for access to the CUPS configuration files (cupsd.conf, client.conf, etc.)</TD></TR>
1260 <TR><TD><CODE>/admin/log</CODE></TD><TD>The path for access to the CUPS log files (access_log, error_log, page_log)</TD></TR>
1261 <TR><TD><CODE>/classes</CODE></TD><TD>The path for all classes</TD></TR>
1262 <TR><TD><CODE>/classes/name</CODE></TD><TD>The resource for class <CODE>name</CODE></TD></TR>
1263 <TR><TD><CODE>/jobs</CODE></TD><TD>The path for all jobs (hold-job, release-job, etc.)</TD></TR>
1264 <TR><TD><CODE>/jobs/id</CODE></TD><TD>The resource for job <CODE>id</CODE></TD></TR>
1265 <TR><TD><CODE>/printers</CODE></TD><TD>The path for all printers</TD></TR>
1266 <TR><TD><CODE>/printers/name</CODE></TD><TD>The path for printer <CODE>name</CODE></TD></TR>
1267 <TR><TD><CODE>/printers/name.ppd</CODE></TD><TD>The PPD file path for printer <CODE>name</CODE></TD></TR>
1268 </TABLE></DIV>
1269
1270
1271 <H3 CLASS="title"><A NAME="LogFilePerm">LogFilePerm</A></H3>
1272
1273 <H4>Examples</H4>
1274
1275 <PRE CLASS="command">
1276 LogFilePerm 0644
1277 LogFilePerm 0600
1278 </PRE>
1279
1280 <H4>Description</H4>
1281
1282 <P>The <CODE>LogFilePerm</CODE> directive specifies the
1283 permissions to use when writing configuration files. The default
1284 is 0644.</P>
1285
1286
1287 <H3 CLASS="title"><A NAME="LogLevel">LogLevel</A></H3>
1288
1289 <H4>Examples</H4>
1290
1291 <PRE CLASS="command">
1292 LogLevel none
1293 LogLevel emerg
1294 LogLevel alert
1295 LogLevel crit
1296 LogLevel error
1297 LogLevel warn
1298 LogLevel notice
1299 LogLevel info
1300 LogLevel debug
1301 LogLevel debug2
1302 </PRE>
1303
1304 <H4>Description</H4>
1305
1306 <P>The <CODE>LogLevel</CODE> directive specifies the level of
1307 logging for the <A HREF="#ErrorLog"><CODE>ErrorLog</CODE></A>
1308 file. The following values are recognized (each level logs
1309 everything under the preceding levels):</P>
1310
1311 <UL>
1312
1313         <LI><CODE>none</CODE> - Log nothing</LI>
1314
1315         <LI><CODE>emerg</CODE> - Log emergency conditions that
1316         prevent the server from running</LI>
1317
1318         <LI><CODE>alert</CODE> - Log alerts that must be handled
1319         immediately</LI>
1320
1321         <LI><CODE>crit</CODE> - Log critical errors that don't
1322         prevent the server from running</LI>
1323
1324         <LI><CODE>error</CODE> - Log general errors</LI>
1325
1326         <LI><CODE>warn</CODE> - Log errors and warnings</LI>
1327
1328         <LI><CODE>notice</CODE> - Log temporary error conditions</LI>
1329
1330         <LI><CODE>info</CODE> - Log all requests and state
1331         changes (default)</LI>
1332
1333         <LI><CODE>debug</CODE> - Log basic debugging
1334         information</LI>
1335
1336         <LI><CODE>debug2</CODE> - Log all debugging
1337         information</LI>
1338
1339 </UL>
1340
1341
1342 <H3 CLASS="title"><A NAME="MaxClients">MaxClients</A></H3>
1343
1344 <H4>Examples</H4>
1345
1346 <PRE CLASS="command">
1347 MaxClients 100
1348 MaxClients 1024
1349 </PRE>
1350
1351 <H4>Description</H4>
1352
1353 <P>The <CODE>MaxClients</CODE> directive controls the maximum
1354 number of simultaneous clients that will be allowed by the
1355 server. The default is 100 clients.</P>
1356
1357 <BLOCKQUOTE><B>Note:</B>
1358
1359 <P>Since each print job requires a file descriptor for the status
1360 pipe, the scheduler internally limits the <CODE>MaxClients</CODE>
1361 value to 1/3 of the available file descriptors to avoid possible
1362 problems when printing large numbers of jobs.</P>
1363
1364 </BLOCKQUOTE>
1365
1366
1367 <H3 CLASS="title"><A NAME="MaxClientsPerHost">MaxClientsPerHost</A></H3>
1368
1369 <H4>Examples</H4>
1370
1371 <PRE CLASS="command">
1372 MaxClientsPerHost 10
1373 </PRE>
1374
1375 <H4>Description</H4>
1376
1377 <P>The <CODE>MaxClientsPerHost</CODE> directive controls the
1378 maximum number of simultaneous clients that will be allowed from
1379 a single host by the server. The default is the
1380 <CODE>MaxClients</CODE> value.</P>
1381
1382 <P>This directive provides a small measure of protection against
1383 Denial of Service attacks from a single host.</P>
1384
1385
1386 <H3 CLASS="title"><A NAME="MaxCopies">MaxCopies</A></H3>
1387
1388 <H4>Examples</H4>
1389
1390 <PRE CLASS="command">
1391 MaxCopies 100
1392 MaxCopies 65535
1393 </PRE>
1394
1395 <H4>Description</H4>
1396
1397 <P>The <CODE>MaxCopies</CODE> directive controls the maximum
1398 number of copies that a user can print of a job. The default is
1399 100 copies.</P>
1400
1401 <BLOCKQUOTE><B>Note:</B>
1402
1403 <P>Most HP PCL laser printers internally limit the number of
1404 copies to 100.</P>
1405
1406 </BLOCKQUOTE>
1407
1408
1409
1410 <H3 CLASS="title"><A NAME="MaxJobs">MaxJobs</A></H3>
1411
1412 <H4>Examples</H4>
1413
1414 <PRE CLASS="command">
1415 MaxJobs 100
1416 MaxJobs 9999
1417 MaxJobs 0
1418 </PRE>
1419
1420 <H4>Description</H4>
1421
1422 <P>The <CODE>MaxJobs</CODE> directive controls the maximum number
1423 of jobs that are kept in memory. Once the number of jobs reaches
1424 the limit, the oldest completed job is automatically purged from
1425 the system to make room for the new one. If all of the known jobs
1426 are still pending or active then the new job will be
1427 rejected.</P>
1428
1429 <P>Setting the maximum size to 0 disables this functionality. The
1430 default setting is 0.</P>
1431
1432
1433 <H3 CLASS="title"><A NAME="MaxJobsPerPrinter">MaxJobsPerPrinter</A></H3>
1434
1435 <H4>Examples</H4>
1436
1437 <PRE CLASS="command">
1438 MaxJobsPerPrinter 100
1439 MaxJobsPerPrinter 9999
1440 MaxJobsPerPrinter 0
1441 </PRE>
1442
1443 <H4>Description</H4>
1444
1445 <P>The <CODE>MaxJobsPerPrinter</CODE> directive controls the
1446 maximum number of active jobs that are allowed for each printer
1447 or class. Once a printer or class reaches the limit, new jobs
1448 will be rejected until one of the active jobs is completed,
1449 stopped, aborted, or canceled.</P>
1450
1451 <P>Setting the maximum to 0 disables this functionality. The
1452 default setting is 0.</P>
1453
1454
1455 <H3 CLASS="title"><A NAME="MaxJobsPerUser">MaxJobsPerUser</A></H3>
1456
1457 <H4>Examples</H4>
1458
1459 <PRE CLASS="command">
1460 MaxJobsPerUser 100
1461 MaxJobsPerUser 9999
1462 MaxJobsPerUser 0
1463 </PRE>
1464
1465 <H4>Description</H4>
1466
1467 <P>The <CODE>MaxJobsPerUser</CODE> directive controls the maximum
1468 number of active jobs that are allowed for each user. Once a user
1469 reaches the limit, new jobs will be rejected until one of the
1470 active jobs is completed, stopped, aborted, or canceled.</P>
1471
1472 <P>Setting the maximum to 0 disables this functionality. The
1473 default setting is 0.</P>
1474
1475
1476 <H3 CLASS="title"><A NAME="MaxLogSize">MaxLogSize</A></H3>
1477
1478 <H4>Examples</H4>
1479
1480 <PRE CLASS="command">
1481 MaxLogSize 1048576
1482 MaxLogSize 1m
1483 MaxLogSize 0
1484 </PRE>
1485
1486 <H4>Description</H4>
1487
1488 <P>The <CODE>MaxLogSize</CODE> directive controls the maximum
1489 size of each log file. Once a log file reaches or exceeds the
1490 maximum size it is closed and renamed to <VAR>filename.O</VAR>.
1491 This allows you to rotate the logs automatically. The default
1492 size is 1048576 bytes (1MB).</P>
1493
1494 <P>Setting the maximum size to 0 disables log rotation.</P>
1495
1496
1497 <H3 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="MaxRequestSize">MaxRequestSize</A></H3>
1498
1499 <H4>Examples</H4>
1500
1501 <PRE CLASS="command">
1502 MaxRequestSize 10485760
1503 MaxRequestSize 10m
1504 MaxRequestSize 0
1505 </PRE>
1506
1507 <H4>Description</H4>
1508
1509 <P>The <CODE>MaxRequestSize</CODE> directive controls the maximum
1510 size of print files, IPP requests, and HTML form data in HTTP
1511 POST requests. The default limit is 0 which disables the limit
1512 check.</P>
1513
1514 <P><B>This directive is deprecated and will be replaced in a
1515 future CUPS release.</B> Use the <A
1516 HREF="#LimitRequestBody"><CODE>LimitRequestBody</CODE></A>
1517 directive instead.</P>
1518
1519
1520 <H3 CLASS="title"><A NAME="Order">Order</A></H3>
1521
1522 <H4>Examples</H4>
1523
1524 <PRE CLASS="command">
1525 Order Allow,Deny
1526 Order Deny,Allow
1527 </PRE>
1528
1529 <H4>Description</H4>
1530
1531 <P>The <CODE>Order</CODE> directive defines the default access
1532 control. The following values are supported:</P>
1533
1534 <UL>
1535
1536         <LI><CODE>allow,deny</CODE> - Deny requests by default,
1537         then check the <A HREF="#Allow"><CODE>Allow</CODE></A>
1538         lines followed by the <A
1539         HREF="#Deny"><CODE>Deny</CODE></A> lines</LI>
1540
1541         <LI><CODE>deny,allow</CODE> - Allow requests by default,
1542         then check the <A HREF="#Deny"><CODE>Deny</CODE></A>
1543         lines followed by the <A
1544         HREF="#Allow"><CODE>Allow</CODE></A> lines</LI>
1545
1546 </UL>
1547
1548 <P>The <CODE>Order</CODE> directive must appear inside a <A
1549 HREF="#Location"><CODE>Location</CODE></A> directive.</P>
1550
1551
1552 <H3 CLASS="title"><A NAME="PageLog">PageLog</A></H3>
1553
1554 <H4>Examples</H4>
1555
1556 <PRE CLASS="command">
1557 PageLog /var/log/cups/page_log
1558 PageLog /var/log/cups/page_log-%s
1559 PageLog syslog
1560 </PRE>
1561
1562 <H4>Description</H4>
1563
1564 <P>The <CODE>PageLog</CODE> directive sets the name of the page
1565 log file. If the filename is not absolute then it is assumed to
1566 be relative to the <A
1567 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
1568 default page log file is <VAR>/var/log/cups/page_log</VAR>.</P>
1569
1570 <P>The server name can be included in the filename by using
1571 <CODE>%s</CODE> in the name.</P>
1572
1573 <P>The special name "syslog" can be used to send the page
1574 information to the system log instead of a plain file.</P>
1575
1576
1577 <H3 CLASS="title"><A NAME="Port">Port</A></H3>
1578
1579 <H4>Examples</H4>
1580
1581 <PRE CLASS="command">
1582 Port 631
1583 Port 80
1584 </PRE>
1585
1586 <H4>Description</H4>
1587
1588 <P>The <CODE>Port</CODE> directive specifies a port to listen on.
1589 Multiple <CODE>Port</CODE> lines can be specified to listen on
1590 multiple ports. The <CODE>Port</CODE> directive is equivalent to
1591 "<CODE>Listen *:nnn</CODE>". The default port is 631.</P>
1592
1593 <BLOCKQUOTE><B>Note:</B>
1594
1595 <P>On systems that support IPv6, this directive will bind to both
1596 the IPv4 and IPv6 wildcard address.</P>
1597
1598 </BLOCKQUOTE>
1599
1600
1601 <H3 CLASS="title"><A NAME="PreserveJobHistory">PreserveJobHistory</A></H3>
1602
1603 <H4>Examples</H4>
1604
1605 <PRE CLASS="command">
1606 PreserveJobHistory On
1607 PreserveJobHistory Off
1608 </PRE>
1609
1610 <H4>Description</H4>
1611
1612 <P>The <CODE>PreserveJobHistory</CODE> directive controls whether
1613 the history of completed, canceled, or aborted print jobs is
1614 stored on disk.</P>
1615
1616 <P>A value of <CODE>On</CODE> (the default) preserves job
1617 information until the administrator purges it with the
1618 <CODE>cancel</CODE> command.</P>
1619
1620 <P>A value of <CODE>Off</CODE> removes the job information as
1621 soon as each job is completed, canceled, or aborted.</P>
1622
1623
1624 <H3 CLASS="title"><A NAME="PreserveJobFiles">PreserveJobFiles</A></H3>
1625
1626 <H4>Examples</H4>
1627
1628 <PRE CLASS="command">
1629 PreserveJobFiles On
1630 PreserveJobFiles Off
1631 </PRE>
1632
1633 <H4>Description</H4>
1634
1635 <P>The <CODE>PreserveJobFiles</CODE> directive controls whether
1636 the document files of completed, canceled, or aborted print jobs
1637 are stored on disk.</P>
1638
1639 <P>A value of <CODE>On</CODE> preserves job files until the
1640 administrator purges them with the <CODE>cancel</CODE> command.
1641 Jobs can be restarted (and reprinted) as desired until they are
1642 purged.</P>
1643
1644 <P>A value of <CODE>Off</CODE> (the default) removes the job
1645 files as soon as each job is completed, canceled, or aborted.</P>
1646
1647
1648 <H3 CLASS="title"><A NAME="Printcap">Printcap</A></H3>
1649
1650 <H4>Examples</H4>
1651
1652 <PRE CLASS="command">
1653 Printcap
1654 Printcap /etc/printcap
1655 Printcap /etc/printers.conf
1656 </PRE>
1657
1658 <H4>Description</H4>
1659
1660 <P>The <CODE>Printcap</CODE> directive controls whether or not a
1661 printcap file is automatically generated and updated with a list
1662 of available printers. If specified with no value, then no
1663 printcap file will be generated. The default is to generate a
1664 file named <VAR>/etc/printcap</VAR>.</P>
1665
1666 <P>When a filename is specified (e.g. <VAR>/etc/printcap</VAR>),
1667 the printcap file is written whenever a printer is added or
1668 removed. The printcap file can then be used by applications that
1669 are hardcoded to look at the printcap file for the available
1670 printers.</P>
1671
1672
1673 <H3 CLASS="title"><A NAME="PrintcapFormat">PrintcapFormat</A></H3>
1674
1675 <H4>Examples</H4>
1676
1677 <PRE CLASS="command">
1678 PrintcapFormat BSD
1679 PrintcapFormat Solaris
1680 </PRE>
1681
1682 <H4>Description</H4>
1683
1684 <P>The <CODE>PrintcapFormat</CODE> directive controls the output
1685 format of the printcap file. The default is to generate a BSD
1686 printcap file.</P>
1687
1688
1689 <H3 CLASS="title"><A NAME="RemoteRoot">RemoteRoot</A></H3>
1690
1691 <H4>Examples</H4>
1692
1693 <PRE CLASS="command">
1694 RemoteRoot remroot
1695 RemoteRoot root
1696 </PRE>
1697
1698 <H4>Description</H4>
1699
1700 <P>The <CODE>RemoteRoot</CODE> directive sets the username for
1701 unauthenticated root requests from remote hosts. The default
1702 username is <VAR>remroot</VAR>. Setting <CODE>RemoteRoot</CODE>
1703 to <VAR>root</VAR> effectively disables this security
1704 mechanism.</P>
1705
1706
1707 <H3 CLASS="title"><A NAME="RequestRoot">RequestRoot</A></H3>
1708
1709 <H4>Examples</H4>
1710
1711 <PRE CLASS="command">
1712 RequestRoot /var/spool/cups
1713 RequestRoot /foo/bar/spool/cups
1714 </PRE>
1715
1716 <H4>Description</H4>
1717
1718 <P>The <CODE>RequestRoot</CODE> directive sets the directory for
1719 incoming IPP requests and HTML forms. If an absolute path is not
1720 provided then it is assumed to be relative to the <A
1721 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
1722 default request directory is <VAR>/var/spool/cups</VAR>.</P>
1723
1724
1725 <H3 CLASS="title"><A NAME="Require">Require</A></H3>
1726
1727 <H4>Examples</H4>
1728
1729 <PRE CLASS="command">
1730 Require group foo bar
1731 Require user john mary
1732 Require valid-user
1733 Require user @groupname
1734 Require user @SYSTEM
1735 Require user @OWNER
1736 </PRE>
1737
1738 <H4>Description</H4>
1739
1740 <P>The <CODE>Require</CODE> directive specifies that
1741 authentication is required for the resource. The
1742 <CODE>group</CODE> keyword specifies that the authenticated user
1743 must be a member of one or more of the named groups that
1744 follow.</P>
1745
1746 <P>The <CODE>user</CODE> keyboard specifies that the
1747 authenticated user must be one of the named users or groups that
1748 follow. Group names are specified using the "@" prefix.</P>
1749
1750 <P>The <CODE>valid-user</CODE> keyword specifies that any
1751 authenticated user may access the resource.</P>
1752
1753 <P>The default is to do no authentication. This directive must
1754 appear inside a <A HREF="#Location"><CODE>Location</CODE></A>
1755 directive.</P>
1756
1757
1758 <H3 CLASS="title"><A NAME="RIPCache">RIPCache</A></H3>
1759
1760 <H4>Examples</H4>
1761
1762 <PRE CLASS="command">
1763 RIPCache 8m
1764 RIPCache 1g
1765 RIPCache 2048k
1766 </PRE>
1767
1768 <H4>Description</H4>
1769
1770 <P>The <CODE>RIPCache</CODE> directive sets the size of the
1771 memory cache used by Raster Image Processor ("RIP") filters such
1772 as <CODE>imagetoraster</CODE> and <CODE>pstoraster</CODE>. The
1773 size can be suffixed with a "k" for kilobytes, "m" for megabytes,
1774 or "g" for gigabytes. The default cache size is "8m", or 8
1775 megabytes.</P>
1776
1777
1778 <H3 CLASS="title"><A NAME="Satisfy">Satisfy</A></H3>
1779
1780 <H4>Examples</H4>
1781
1782 <PRE CLASS="command">
1783 Satisfy all
1784 Satisfy any
1785 </PRE>
1786
1787 <H4>Description</H4>
1788
1789 <P>The <CODE>Satisfy</CODE> directive specifies whether all
1790 conditions must be satisfied to allow access to the resource. If
1791 set to <CODE>all</CODE>, then all authentication and access
1792 control conditions must be satified to allow access.</P>
1793
1794 <P>Setting <CODE>Satisfy</CODE> to <CODE>any</CODE> allows a user
1795 to gain access if the authentication or access control
1796 requirements are satisfied. For example, you might require
1797 authentication for remote access, but allow local access without
1798 authentication.</P>
1799
1800 <P>The default is <CODE>all</CODE>. This directive must appear
1801 inside a <A HREF="#Location"><CODE>Location</CODE></A>
1802 directive.</P>
1803
1804
1805 <H3 CLASS="title"><A NAME="ServerAdmin">ServerAdmin</A></H3>
1806
1807 <H4>Examples</H4>
1808
1809 <PRE CLASS="command">
1810 ServerAdmin user@host
1811 ServerAdmin root@foo.bar.com
1812 </PRE>
1813
1814 <H4>Description</H4>
1815
1816 <P>The <CODE>ServerAdmin</CODE> directive identifies the email
1817 address for the administrator on the system. By default the
1818 administrator email address is <CODE>root@server</CODE>, where
1819 <CODE>server</CODE> is the server name.</P>
1820
1821
1822 <H3 CLASS="title"><A NAME="ServerBin">ServerBin</A></H3>
1823
1824 <H4>Examples</H4>
1825
1826 <PRE CLASS="command">
1827 ServerBin /usr/lib/cups
1828 ServerBin /foo/bar/lib/cups
1829 </PRE>
1830
1831 <H4>Description</H4>
1832
1833 <P>The <CODE>ServerBin</CODE> directive sets the directory for
1834 server-run executables. If an absolute path is not provided then
1835 it is assumed to be relative to the <A
1836 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
1837 default executable directory is <VAR>/usr/lib/cups</VAR> or
1838 <VAR>/usr/lib32/cups</VAR> (IRIX 6.5).</P>
1839
1840
1841 <H3 CLASS="title"><A NAME="ServerCertificate">ServerCertificate</A></H3>
1842
1843 <H4>Examples</H4>
1844
1845 <PRE CLASS="command">
1846 ServerCertificate /etc/cups/ssl/server.crt
1847 </PRE>
1848
1849 <H4>Description</H4>
1850
1851 <P>The <CODE>ServerCertificate</CODE> directive specifies the
1852 location of the SSL certificate file used by the server when
1853 negotiating encrypted connections. The certificate must not be
1854 encrypted (password protected) since the scheduler normally runs
1855 in the background and will be unable to ask for a password.</P>
1856
1857 <P>The default certificate file is
1858 <VAR>/etc/cups/ssl/server.crt</VAR>.</P>
1859
1860
1861 <H3 CLASS="title"><A NAME="ServerKey">ServerKey</A></H3>
1862
1863 <H4>Examples</H4>
1864
1865 <PRE CLASS="command">
1866 ServerKey /etc/cups/ssl/server.key
1867 </PRE>
1868
1869 <H4>Description</H4>
1870
1871 <P>The <CODE>ServerKey</CODE> directive specifies the location of
1872 the SSL private key file used by the server when negotiating
1873 encrypted connections.</P>
1874
1875 <P>The default key file is
1876 <VAR>/etc/cups/ssl/server.crt</VAR>.</P>
1877
1878
1879 <H3 CLASS="title"><A NAME="ServerName"></A>ServerName</H3>
1880
1881 <H4>Examples</H4>
1882
1883 <PRE CLASS="command">
1884 ServerName foo.domain.com
1885 ServerName myserver.domain.com
1886 </PRE>
1887
1888 <H4>Description</H4>
1889
1890 <P>The <CODE>ServerName</CODE> directive specifies the hostname
1891 that is reported to clients. By default the server name is the
1892 hostname.</P>
1893
1894
1895 <H3 CLASS="title"><A NAME="ServerRoot">ServerRoot</A></H3>
1896
1897 <H4>Examples</H4>
1898
1899 <PRE CLASS="command">
1900 ServerRoot /etc/cups
1901 ServerRoot /foo/bar/cups
1902 </PRE>
1903
1904 <H4>Description</H4>
1905
1906 <P>The <CODE>ServerRoot</CODE> directive specifies the absolute
1907 path to the server configuration and state files. It is also used
1908 to resolve relative paths in the <VAR>cupsd.conf</VAR> file. The
1909 default server directory is <VAR>/etc/cups</VAR>.</P>
1910
1911
1912 <H3 CLASS="title"><A NAME="SSLListen">SSLListen</A></H3>
1913
1914 <H4>Examples</H4>
1915
1916 <PRE CLASS="command">
1917 SSLListen 127.0.0.1:443
1918 SSLListen 192.0.2.1:443
1919 </PRE>
1920
1921 <H4>Description</H4>
1922
1923 <P>The <CODE>SSLListen</CODE> directive specifies a network
1924 address and port to listen for secure connections. Multiple
1925 <CODE>SSLListen</CODE> directives can be provided to listen on
1926 multiple addresses.</P>
1927
1928 <P>The <CODE>SSLListen</CODE> directive is similar to the <A
1929 HREF="#SSLPort"><CODE>SSLPort</CODE></A> directive but allows you
1930 to restrict access to specific interfaces or networks.</P>
1931
1932
1933 <H3 CLASS="title"><A NAME="SSLPort">SSLPort</A></H3>
1934
1935 <H4>Examples</H4>
1936
1937 <PRE CLASS="command">
1938 SSLPort 443
1939 </PRE>
1940
1941 <H4>Description</H4>
1942
1943 <P>The <CODE>SSLPort</CODE> directive specifies a port to listen
1944 on for secure connections. Multiple <CODE>SSLPort</CODE> lines
1945 can be specified to listen on multiple ports.</P>
1946
1947
1948 <H3 CLASS="title"><A NAME="SystemGroup">SystemGroup</A></H3>
1949
1950 <H4>Examples</H4>
1951
1952 <PRE CLASS="command">
1953 SystemGroup lpadmin
1954 SystemGroup sys
1955 SystemGroup system
1956 SystemGroup root
1957 </PRE>
1958
1959 <H4>Description</H4>
1960
1961 <P>The <CODE>SystemGroup</CODE> directive specifies the system
1962 administration group for <CODE>System</CODE> authentication.</P>
1963
1964
1965 <H3 CLASS="title"><A NAME="TempDir">TempDir</A></H3>
1966
1967 <H4>Examples</H4>
1968
1969 <PRE CLASS="command">
1970 TempDir /var/tmp
1971 TempDir /foo/bar/tmp
1972 </PRE>
1973
1974 <H4>Description</H4>
1975
1976 <P>The <CODE>TempDir</CODE> directive specifies an absolute path
1977 for the directory to use for temporary files. The default
1978 directory is <VAR>/var/spool/cups/tmp</VAR>.</P>
1979
1980 <P>Temporary directories must be world-writable and should have
1981 the "sticky" permission bit enabled so that other users cannot
1982 delete filter temporary files. The following commands will create
1983 an appropriate temporary directory called
1984 <VAR>/foo/bar/tmp</VAR>:</P>
1985
1986 <PRE CLASS="command">
1987 <KBD>mkdir /foo/bar/tmp</KBD>
1988 <KBD>chmod a+rwxt /foo/bar/tmp</KBD>
1989 </PRE>
1990
1991
1992 <H3 CLASS="title"><A NAME="Timeout">Timeout</A></H3>
1993
1994 <H4>Examples</H4>
1995
1996 <PRE CLASS="command">
1997 Timeout 300
1998 Timeout 90
1999 </PRE>
2000
2001 <H4>Description</H4>
2002
2003 <P>The <CODE>Timeout</CODE> directive controls the amount of time
2004 to wait before an active HTTP or IPP request times out. The
2005 default timeout is 300 seconds.</P>
2006
2007
2008 <H3 CLASS="title"><A NAME="User">User</A></H3>
2009
2010 <H4>Examples</H4>
2011
2012 <PRE CLASS="command">
2013 User lp
2014 User guest
2015 </PRE>
2016
2017 <H4>Description</H4>
2018
2019 <P>The <CODE>User</CODE> directive specifies the UNIX user that
2020 filter and CGI programs run as. The default user is
2021 <CODE>lp</CODE>.</P>
2022
2023 <BLOCKQUOTE><B>Note:</B>
2024
2025 <P>You may not use user <CODE>root</CODE>, as that would expose
2026 the system to unacceptable security risks. The scheduler will
2027 automatically choose user <CODE>nobody</CODE> if you specify a
2028 user whose ID is 0.</P>
2029
2030 </BLOCKQUOTE>
2031
2032
2033 </BODY>
2034 </HTML>