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