]> git.ipfire.org Git - thirdparty/cups.git/blob - doc/help/ref-cupsd-conf.html.in
Merge changes from CUPS 1.5svn-r9400
[thirdparty/cups.git] / doc / help / ref-cupsd-conf.html.in
1 <HTML>
2 <!-- SECTION: References -->
3 <HEAD>
4 <TITLE>cupsd.conf</TITLE>
5 <LINK REL="STYLESHEET" TYPE="text/css" HREF="../cups-printable.css">
6 </HEAD>
7 <BODY>
8
9 <H1 CLASS="title">cupsd.conf</H1>
10
11 <P>The <VAR>/etc/cups/cupsd.conf</VAR> file contains
12 configuration <I>directives</I> that control how the server
13 functions. Each directive is listed on a line by itself followed
14 by its value. Comments are introduced using the number sign ("#")
15 character at the beginning of a line.</P>
16
17 <P>Since the server configuration file consists of plain text,
18 you can use your favorite text editor to make changes to it.
19 After making any changes, restart the <CODE>cupsd(8)</CODE>
20 process using the startup script for your operating system:</P>
21
22 <UL>
23
24 <LI>AIX, IRIX, Linux, Solaris:
25 <PRE CLASS="command">
26 /etc/init.d/cups restart
27 </PRE></LI>
28
29 <LI>HP-UX:
30 <PRE CLASS="command">
31 /sbin/init.d/cups restart
32 </PRE></LI>
33
34 <LI>MacOS X:
35 <PRE CLASS="command">
36 sudo launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist
37 sudo launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist
38 </PRE></LI>
39
40 </UL>
41
42 <P>You can also edit this file from the CUPS web interface, which
43 automatically handles restarting the scheduler.</P>
44
45
46 <H2 CLASS="title"><A NAME="AccessLog">AccessLog</A></H2>
47
48 <H3>Examples</H3>
49
50 <PRE CLASS="command">
51 AccessLog /var/log/cups/access_log
52 AccessLog /var/log/cups/access_log-%s
53 AccessLog syslog
54 </PRE>
55
56 <H3>Description</H3>
57
58 <P>The <CODE>AccessLog</CODE> directive sets the name of the
59 access log file. If the filename is not absolute then it is
60 assumed to be relative to the <A
61 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
62 access log file is stored in "common log format" and can be used
63 by any web access reporting tool to generate a report on CUPS
64 server activity.</P>
65
66 <P>The server name can be included in the filename by using
67 <CODE>%s</CODE> in the name.</P>
68
69 <P>The special name "syslog" can be used to send the access
70 information to the system log instead of a plain file.</P>
71
72 <P>The default access log file is
73 <VAR>@CUPS_LOGDIR@/access_log</VAR>.</P>
74
75
76 <H2 CLASS="title"><A NAME="AccessLogLevel">AccessLogLevel</A></H2>
77
78 <H3>Examples</H3>
79
80 <PRE CLASS="command">
81 AccessLogLevel config
82 AccessLogLevel actions
83 AccessLogLevel all
84 </PRE>
85
86 <H3>Description</H3>
87
88 <P>The <CODE>AccessLogLevel</CODE> directive controls which requests are logged
89 to the access log file. The following levels are defined:</P>
90
91 <UL>
92
93 <LI><CODE>config</CODE>; Log when printers and classes are added,
94 deleted, or modified and when configuration files are accessed or
95 updated.</LI>
96
97 <LI><CODE>actions</CODE>; Log when print jobs are submitted,
98 held, released, modified, or canceled, and any of the conditions
99 for <CODE>config</CODE>.</LI>
100
101 <LI><CODE>all</CODE>; Log all requests.</LI>
102
103 </UL>
104
105 <P>The default access log level is <CODE>@CUPS_ACCESS_LOG_LEVEL@</CODE>.</P>
106
107
108 <H2 CLASS="title"><A NAME="Allow">Allow</A></H2>
109
110 <H3>Examples</H3>
111
112 <PRE CLASS="command">
113 &lt;Location /path&gt;
114 ...
115 Allow from All
116 Allow from None
117 Allow from *.domain.com
118 Allow from .domain.com
119 Allow from host.domain.com
120 Allow from nnn.*
121 Allow from nnn.nnn.*
122 Allow from nnn.nnn.nnn.*
123 Allow from nnn.nnn.nnn.nnn
124 Allow from nnn.nnn.nnn.nnn/mm
125 Allow from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
126 Allow from [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]
127 Allow from [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]/mmm
128 Allow from @LOCAL
129 Allow from @IF(name)
130 &lt;/Location&gt;
131 </PRE>
132
133 <H3>Description</H3>
134
135 <P>The <CODE>Allow</CODE> directive specifies a hostname, IP
136 address, or network that is allowed access to the server.
137 <CODE>Allow</CODE> directives are cummulative, so multiple
138 <CODE>Allow</CODE> directives can be used to allow access for
139 multiple hosts or networks.</P>
140
141 <P>Host and domain name matching require that you enable the <A
142 HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
143 directive.</P>
144
145 <P>The <CODE>/mm</CODE> notation specifies a CIDR netmask, as shown in
146 <A HREF="#TABLE1">Table 1</A>.</P>
147
148 <DIV CLASS="table"><TABLE SUMMARY="CIDR Netmasks">
149 <CAPTION>Table 1: <A NAME="TABLE1">CIDR Netmasks</A></CAPTION>
150 <TR>
151 <TH WIDTH="10%">mm</TH>
152 <TH WIDTH="20%">netmask</TH>
153 <TH WIDTH="10%">mm</TH>
154 <TH WIDTH="20%">netmask</TH>
155 </TR>
156 <TR>
157 <TD ALIGN="CENTER">0</TD>
158 <TD ALIGN="CENTER">0.0.0.0</TD>
159 <TD ALIGN="CENTER">8</TD>
160 <TD ALIGN="CENTER">255.0.0.0</TD>
161 </TR>
162 <TR>
163 <TD ALIGN="CENTER">1</TD>
164 <TD ALIGN="CENTER">128.0.0.0</TD>
165 <TD ALIGN="CENTER">16</TD>
166 <TD ALIGN="CENTER">255.255.0.0</TD>
167 </TR>
168 <TR>
169 <TD ALIGN="CENTER">2</TD>
170 <TD ALIGN="CENTER">192.0.0.0</TD>
171 <TD ALIGN="CENTER">24</TD>
172 <TD ALIGN="CENTER">255.255.255.0</TD>
173 </TR>
174 <TR>
175 <TD ALIGN="CENTER">...</TD>
176 <TD ALIGN="CENTER">...</TD>
177 <TD ALIGN="CENTER">32</TD>
178 <TD ALIGN="CENTER">255.255.255.255</TD>
179 </TR>
180 </TABLE></DIV>
181
182 <P>The <CODE>@LOCAL</CODE> name will allow access from all local
183 interfaces. The <CODE>@IF(name)</CODE> name will allow access
184 from the named interface. In both cases, CUPS only allows access
185 from the network that the interface(s) are configured for -
186 requests arriving on the interface from a foreign network will
187 <em>not</em> be accepted.</P>
188
189 <P>The <CODE>Allow</CODE> directive must appear inside a <A
190 HREF="#Location"><CODE>Location</CODE></A> or <A
191 HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
192
193
194 <H2 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="AuthClass">AuthClass</A></H2>
195
196 <H3>Examples</H3>
197
198 <PRE CLASS="command">
199 &lt;Location /path&gt;
200 ...
201 AuthClass Anonymous
202 AuthClass User
203 AuthClass System
204 AuthClass Group
205 &lt;/Location&gt;
206 </PRE>
207
208 <H3>Description</H3>
209
210 <P>The <CODE>AuthClass</CODE> directive defines what level of
211 authentication is required:</P>
212
213 <UL>
214
215 <LI><CODE>Anonymous</CODE> - No authentication should be
216 performed (default)</LI>
217
218 <LI><CODE>User</CODE> - A valid username and password is
219 required</LI>
220
221 <LI><CODE>System</CODE> - A valid username and password
222 is required, and the username must belong to the "sys"
223 group; this can be changed using the <A
224 HREF="#SystemGroup"><CODE>SystemGroup</CODE></A>
225 directive</LI>
226
227 <LI><CODE>Group</CODE> - A valid username and password is
228 required, and the username must belong to the group named
229 by the <A
230 HREF="#AuthGroupName"><CODE>AuthGroupName</CODE></A>
231 directive</LI>
232
233 </UL>
234
235 <P>The <CODE>AuthClass</CODE> directive must appear inside a <A
236 HREF="#Location"><CODE>Location</CODE></A> or <A
237 HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
238
239 <P><B>This directive is deprecated and will be removed from a
240 future release of CUPS.</B> Consider using the more flexible <A
241 HREF="#Require"><CODE>Require</CODE></A> directive instead.</P>
242
243
244 <H2 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="AuthGroupName">AuthGroupName</A></H2>
245
246 <H3>Examples</H3>
247
248 <PRE CLASS="command">
249 &lt;Location /path&gt;
250 ...
251 AuthGroupName mygroup
252 AuthGroupName lp
253 &lt;/Location&gt;
254 </PRE>
255
256 <H3>Description</H3>
257
258 <P>The <CODE>AuthGroupName</CODE> directive sets the group to use
259 for <CODE>Group</CODE> authentication.</P>
260
261 <P>The <CODE>AuthGroupName</CODE> directive must appear inside a
262 <A HREF="#Location"><CODE>Location</CODE></A> or <A
263 HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
264
265 <P><B>This directive is deprecated and will be removed from a
266 future release of CUPS.</B> Consider using the more flexible <A
267 HREF="#Require"><CODE>Require</CODE></A> directive instead.</P>
268
269
270 <H2 CLASS="title"><A NAME="AuthType">AuthType</A></H2>
271
272 <H3>Examples</H3>
273
274 <PRE CLASS="command">
275 &lt;Location /path&gt;
276 ...
277 AuthType None
278 AuthType Basic
279 AuthType Digest
280 AuthType BasicDigest
281 AuthType Negotiate
282 &lt;/Location&gt;
283 </PRE>
284
285 <H3>Description</H3>
286
287 <P>The <CODE>AuthType</CODE> directive defines the type of
288 authentication to perform:</P>
289
290 <UL>
291
292 <LI><CODE>None</CODE> - No authentication should be
293 performed (default)</LI>
294
295 <LI><CODE>Basic</CODE> - Basic authentication should be
296 performed using the UNIX password and group files</LI>
297
298 <LI><CODE>Digest</CODE> - Digest authentication should be
299 performed using the <VAR>/etc/cups/passwd.md5</VAR>
300 file</LI>
301
302 <LI><CODE>BasicDigest</CODE> - Basic authentication
303 should be performed using the
304 <VAR>/etc/cups/passwd.md5</VAR> file</LI>
305
306 <LI><CODE>Negotiate</CODE> - Kerberos authentication
307 should be performed</LI>
308
309 </UL>
310
311 <P>When using <CODE>Basic</CODE>, <CODE>Digest</CODE>,
312 <CODE>BasicDigest</CODE>, or <CODE>Negotiate</CODE> authentication,
313 clients connecting through the <CODE>localhost</CODE> interface can
314 also authenticate using certificates.</P>
315
316 <P>The <CODE>AuthType</CODE> directive must appear inside a <A
317 HREF="#Location"><CODE>Location</CODE></A> or <A
318 HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
319
320
321 <H2 CLASS="title"><A NAME="AutoPurgeJobs">AutoPurgeJobs</A></H2>
322
323 <H3>Examples</H3>
324
325 <PRE CLASS="command">
326 AutoPurgeJobs Yes
327 AutoPurgeJobs No
328 </PRE>
329
330 <H3>Description</H3>
331
332 <P>The <CODE>AutoPurgeJobs</CODE> directive specifies whether or
333 not to purge completed jobs once they are no longer required for
334 quotas. This option has no effect if quotas are not enabled. The
335 default setting is <CODE>No</CODE>.</P>
336
337
338 <H2 CLASS="title"><A NAME="BrowseAddress">BrowseAddress</A></H2>
339
340 <H3>Examples</H3>
341
342 <PRE CLASS="command">
343 BrowseAddress 255.255.255.255:631
344 BrowseAddress 192.0.2.255:631
345 BrowseAddress host.domain.com:631
346 BrowseAddress @LOCAL
347 BrowseAddress @IF(name)
348 </PRE>
349
350 <H3>Description</H3>
351
352 <P>The <CODE>BrowseAddress</CODE> directive specifies an address
353 to send browsing information to. Multiple
354 <CODE>BrowseAddress</CODE> directives can be specified to send
355 browsing information to different networks or systems.</P>
356
357 <P>The <CODE>@LOCAL</CODE> name will broadcast printer
358 information to all local interfaces. The <CODE>@IF(name)</CODE>
359 name will broadcast to the named interface.</P>
360
361 <P>There is no default browse address.</P>
362
363 <BLOCKQUOTE><B>Note:</B>
364
365 <P>If you are using HP-UX 10.20 and a subnet that is not 24,
366 16, or 8 bits, printer browsing (and in fact all broadcast
367 reception) will not work. This problem appears to be fixed in
368 HP-UX 11.0.</P>
369
370 </BLOCKQUOTE>
371
372
373 <H2 CLASS="title"><A NAME="BrowseAllow">BrowseAllow</A></H2>
374
375 <H3>Examples</H3>
376
377 <PRE CLASS="command">
378 BrowseAllow from all
379 BrowseAllow from none
380 BrowseAllow from 192.0.2
381 BrowseAllow from 192.0.2.0/24
382 BrowseAllow from 192.0.2.0/255.255.255.0
383 BrowseAllow from *.domain.com
384 BrowseAllow from @LOCAL
385 BrowseAllow from @IF(name)
386 </PRE>
387
388 <H3>Description</H3>
389
390 <P>The <CODE>BrowseAllow</CODE> directive specifies a system or
391 network to accept browse packets from. The default is to accept
392 browse packets from all hosts.</P>
393
394 <P>Host and domain name matching require that you enable the <A
395 HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
396 directive.</P>
397
398 <P>IP address matching supports exact matches, partial addresses that match
399 networks using netmasks of 255.0.0.0, 255.255.0.0, and 255.255.255.0, or network
400 addresses using the specified netmask or bit count. The <CODE>/mm</CODE>
401 notation specifies a CIDR netmask, a shown in <A HREF="TABLE1">Table 1</A>.</P>
402
403 <P>The <CODE>@LOCAL</CODE> name will allow browse data from all
404 local interfaces. The <CODE>@IF(name)</CODE> name will allow
405 browse data from the named interface. In both cases, CUPS only
406 allows data from the network that the interface(s) are configured
407 for - data arriving on the interface from a foreign network will
408 <em>not</em> be allowed.</P>
409
410
411 <H2 CLASS="title"><A NAME="BrowseDeny">BrowseDeny</A></H2>
412
413 <H3>Examples</H3>
414
415 <PRE CLASS="command">
416 BrowseDeny from all
417 BrowseDeny from none
418 BrowseDeny from 192.0.2
419 BrowseDeny from 192.0.2.0/24
420 BrowseDeny from 192.0.2.0/255.255.255.0
421 BrowseDeny from *.domain.com
422 BrowseDeny from @LOCAL
423 BrowseDeny from @IF(name)
424 </PRE>
425
426 <H3>Description</H3>
427
428 <P>The <CODE>BrowseDeny</CODE> directive specifies a system or
429 network to reject browse packets from. The default is to not deny
430 browse packets from any hosts.</P>
431
432 <P>Host and domain name matching require that you enable the <A
433 HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
434 directive.</P>
435
436 <P>IP address matching supports exact matches, partial addresses that match
437 networks using netmasks of 255.0.0.0, 255.255.0.0, and 255.255.255.0, or network
438 addresses using the specified netmask or bit count. The <CODE>/mm</CODE>
439 notation specifies a CIDR netmask, a shown in <A HREF="TABLE1">Table 1</A>.</P>
440
441 <P>The <CODE>@LOCAL</CODE> name will block browse data from all
442 local interfaces. The <CODE>@IF(name)</CODE> name will block
443 browse data from the named interface. In both cases, CUPS only
444 blocks data from the network that the interface(s) are configured
445 for - data arriving on the interface from a foreign network will
446 <em>not</em> be blocked.</P>
447
448
449 <H2 CLASS="title"><A NAME="BrowseInterval">BrowseInterval</A></H2>
450
451 <H3>Examples</H3>
452
453 <PRE CLASS="command">
454 BrowseInterval 0
455 BrowseInterval 30
456 </PRE>
457
458 <H3>Description</H3>
459
460 <P>The <CODE>BrowseInterval</CODE> directive specifies the
461 maximum amount of time between browsing updates. Specifying a
462 value of 0 seconds disables outgoing browse updates but allows a
463 server to receive printer information from other hosts.</P>
464
465 <P>The <CODE>BrowseInterval</CODE> value should always be less
466 than the <A HREF="#BrowseTimeout"><CODE>BrowseTimeout</CODE></A>
467 value. Otherwise printers and classes will disappear from client
468 systems between updates.</P>
469
470
471 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="BrowseLDAPBindDN">BrowseLDAPBindDN</A></H2>
472
473 <H3>Examples</H3>
474
475 <PRE CLASS="command">
476 BrowseLDAPBindDN foo
477 </PRE>
478
479 <H3>Description</H3>
480
481 <P>The <CODE>BrowseLDAPBindDN</CODE> directive specifies the LDAP
482 domain name to use when listening for printer registrations. The
483 default is undefined.</P>
484
485
486 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="BrowseLDAPCACertFile">BrowseLDAPCACertFile</A></H2>
487
488 <H3>Examples</H3>
489
490 <PRE CLASS="command">
491 BrowseLDAPCACertFile /etc/cups/ssl/certs
492 </PRE>
493
494 <H3>Description</H3>
495
496 <P>The <CODE>BrowseLDAPCACertFile</CODE> directive specifies the SSL certificate
497 authority file to use for LDAP + SSL. The default is undefined.</P>
498
499
500 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="BrowseLDAPDN">BrowseLDAPDN</A></H2>
501
502 <H3>Examples</H3>
503
504 <PRE CLASS="command">
505 BrowseLDAPDN bar
506 </PRE>
507
508 <H3>Description</H3>
509
510 <P>The <CODE>BrowseLDAPDN</CODE> directive specifies the LDAP
511 domain name to use when registering local shared printers. The
512 default is undefined.</P>
513
514
515 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="BrowseLDAPPassword">BrowseLDAPPassword</A></H2>
516
517 <H3>Examples</H3>
518
519 <PRE CLASS="command">
520 BrowseLDAPPassword foo123
521 </PRE>
522
523 <H3>Description</H3>
524
525 <P>The <CODE>BrowseLDAPPassword</CODE> directive specifies the
526 access password to use when connecting to the LDAP server. The
527 default is undefined.</P>
528
529
530 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="BrowseLDAPServer">BrowseLDAPServer</A></H2>
531
532 <H3>Examples</H3>
533
534 <PRE CLASS="command">
535 BrowseLDAPServer localhost
536 </PRE>
537
538 <H3>Description</H3>
539
540 <P>The <CODE>BrowseLDAPServer</CODE> directive specifies the name
541 of the LDAP server to connect to. The default is undefined.</P>
542
543
544 <H2 CLASS="title"><A NAME="BrowseLocalOptions">BrowseLocalOptions</A></H2>
545
546 <H3>Examples</H3>
547
548 <PRE CLASS="command">
549 BrowseLocalOptions compression=yes
550 BrowseLocalOptions encryption=required
551 BrowseLocalOptions compression=yes&amp;encryption=required
552 </PRE>
553
554 <H3>Description</H3>
555
556 <P>The <CODE>BrowseLocalOptions</CODE> directive specifies
557 additional IPP backend options to advertise with local shared
558 printers. The default is to not include any options.</P>
559
560
561 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="BrowseLocalProtocols">BrowseLocalProtocols</A></H2>
562
563 <H3>Examples</H3>
564
565 <PRE CLASS="command">
566 BrowseLocalProtocols all
567 BrowseLocalProtocols none
568 BrowseLocalProtocols cups
569 BrowseLocalProtocols dnssd
570 BrowseLocalProtocols ldap
571 BrowseLocalProtocols lpd
572 BrowseLocalProtocols slp
573 BrowseLocalProtocols smb
574 BrowseLocalProtocols cups dnssd
575 </PRE>
576
577 <H3>Description</H3>
578
579 <P>The <CODE>BrowseLocalProtocols</CODE> directive specifies the
580 protocols to use when advertising local shared printers on the
581 network. Multiple protocols can be specified by separating them
582 with spaces. The default is "<CODE>@CUPS_BROWSE_LOCAL_PROTOCOLS@</CODE>".</P>
583
584
585 <H2 CLASS="title"><A NAME="BrowseOrder">BrowseOrder</A></H2>
586
587 <H3>Examples</H3>
588
589 <PRE CLASS="command">
590 BrowseOrder allow,deny
591 BrowseOrder deny,allow
592 </PRE>
593
594 <H3>Description</H3>
595
596 <P>The <CODE>BrowseOrder</CODE> directive specifies the order of
597 allow/deny processing. The default order is
598 <CODE>deny,allow</CODE>:</P>
599
600 <UL>
601
602 <LI><CODE>allow,deny</CODE> - Deny browse packets by
603 default, then check <CODE>BrowseAllow</CODE> lines
604 followed by <CODE>BrowseDeny</CODE> lines.</LI>
605
606 <LI><CODE>deny,allow</CODE> - Allow browse packets by
607 default, then check <CODE>BrowseDeny</CODE> lines
608 followed by <CODE>BrowseAllow</CODE> lines.</LI>
609
610 </UL>
611
612
613 <H2 CLASS="title"><A NAME="BrowsePoll">BrowsePoll</A></H2>
614
615 <H3>Examples</H3>
616
617 <PRE CLASS="command">
618 BrowsePoll 192.0.2.2:631
619 BrowsePoll host.domain.com:631
620 </PRE>
621
622 <H3>Description</H3>
623
624 <P>The <CODE>BrowsePoll</CODE> directive polls a server for
625 available printers once every <A
626 HREF="#BrowseInterval"><CODE>BrowseInterval</CODE></A> seconds.
627 Multiple <CODE>BrowsePoll</CODE> directives can be specified to
628 poll multiple servers.</P>
629
630 <P>If <CODE>BrowseInterval</CODE> is set to 0 then the server is
631 polled once every 30 seconds.</P>
632
633
634 <H2 CLASS="title"><A NAME="BrowsePort">BrowsePort</A></H2>
635
636 <H3>Examples</H3>
637
638 <PRE CLASS="command">
639 BrowsePort 631
640 BrowsePort 9999
641 </PRE>
642
643 <H3>Description</H3>
644
645 <P>The <CODE>BrowsePort</CODE> directive specifies the UDP port number
646 used for browse packets. The default port number is 631.</P>
647
648 <BLOCKQUOTE><B>Note:</B>
649
650 <P>You must set the <CODE>BrowsePort</CODE> to the same value
651 on all of the systems that you want to see.
652
653 </BLOCKQUOTE>
654
655
656 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.10</SPAN><A NAME="BrowseProtocols">BrowseProtocols</A></H2>
657
658 <H3>Examples</H3>
659
660 <PRE CLASS="command">
661 BrowseProtocols all
662 BrowseProtocols none
663 BrowseProtocols cups
664 BrowseProtocols dnssd
665 BrowseProtocols ldap
666 BrowseProtocols lpd
667 BrowseProtocols slp
668 BrowseProtocols smb
669 BrowseProtocols cups dnssd
670 </PRE>
671
672 <H3>Description</H3>
673
674 <P>The <CODE>BrowseProtocols</CODE> directive specifies the
675 protocols to use when showing and advertising shared printers on
676 the local network. Multiple protocols can be specified by
677 separating them with spaces. The default protocol is
678 "<CODE>@CUPS_BROWSE_LOCAL_PROTOCOLS@</CODE>" for
679 <A HREF="#BrowseLocalProtocols"><CODE>BrowseLocalProtocols</CODE></A> and
680 "<CODE>@CUPS_BROWSE_REMOTE_PROTOCOLS@</CODE>" for
681 <A HREF="#BrowseRemoteProtocols"><CODE>BrowseRemoteProtocols</CODE></A>.</P>
682
683 <BLOCKQUOTE><B>Note:</B>
684
685 <P>When using the <CODE>SLP</CODE> protocol, you must have at least
686 one Directory Agent (DA) server on your network. Otherwise the
687 CUPS scheduler (<CODE>cupsd</CODE>) will not respond to client
688 requests for several seconds while polling the network.</P>
689
690 </BLOCKQUOTE>
691
692
693 <H2 CLASS="title"><A NAME="BrowseRelay">BrowseRelay</A></H2>
694
695 <H3>Examples</H3>
696
697 <PRE CLASS="command">
698 BrowseRelay 193.0.2.1 192.0.2.255
699 BrowseRelay 193.0.2.0/255.255.255.0 192.0.2.255
700 BrowseRelay 193.0.2.0/24 192.0.2.255
701 BrowseRelay *.domain.com 192.0.2.255
702 BrowseRelay host.domain.com 192.0.2.255
703 </PRE>
704
705 <H3>Description</H3>
706
707 <P>The <CODE>BrowseRelay</CODE> directive specifies source and
708 destination addresses for relaying browsing information from one
709 host or network to another. Multiple <CODE>BrowseRelay</CODE>
710 directives can be specified as needed.</P>
711
712 <P><CODE>BrowseRelay</CODE> is typically used on systems that
713 bridge multiple subnets using one or more network interfaces. It
714 can also be used to relay printer information from polled servers
715 with the line:</P>
716
717 <PRE CLASS="command">
718 BrowseRelay 127.0.0.1 @LOCAL
719 </PRE>
720
721 <P>This effectively provides access to printers on a WAN for all
722 clients on the LAN(s).</P>
723
724
725 <H2 CLASS="title"><A NAME="BrowseRemoteOptions">BrowseRemoteOptions</A></H2>
726
727 <H3>Examples</H3>
728
729 <PRE CLASS="command">
730 BrowseRemoteOptions compression=yes
731 BrowseRemoteOptions encryption=required
732 BrowseRemoteOptions ?compression=yes&amp;encryption=required
733 </PRE>
734
735 <H3>Description</H3>
736
737 <P>The <CODE>BrowseRemoteOptions</CODE> directive specifies
738 additional IPP backend options to include with remote shared
739 printers. If the options string begins with a question mark (?),
740 the options replace any options specified by the remote server.
741 The default is to not include any options.</P>
742
743
744 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="BrowseRemoteProtocols">BrowseRemoteProtocols</A></H2>
745
746 <H3>Examples</H3>
747
748 <PRE CLASS="command">
749 BrowseRemoteProtocols all
750 BrowseRemoteProtocols none
751 BrowseRemoteProtocols cups
752 BrowseRemoteProtocols ldap
753 BrowseRemoteProtocols slp
754 </PRE>
755
756 <H3>Description</H3>
757
758 <P>The <CODE>BrowseRemoteProtocols</CODE> directive specifies the
759 protocols to use when finding remote shared printers on the
760 network. Multiple protocols can be specified by separating them
761 with spaces. The default is "<CODE>@CUPS_BROWSE_REMOTE_PROTOCOLS@</CODE>".</P>
762
763
764 <H2 CLASS="title"><A NAME="BrowseShortNames">BrowseShortNames</A></H2>
765
766 <H3>Examples</H3>
767
768 <PRE CLASS="command">
769 BrowseShortNames Yes
770 BrowseShortNames No
771 </PRE>
772
773 <H3>Description</H3>
774
775 <P>The <CODE>BrowseShortNames</CODE> directive specifies whether
776 or not short names are used for remote printers when possible.
777 Short names are just the remote printer name, without the server
778 ("printer"). If more than one remote printer is detected with the
779 same name, the printers will have long names ("printer@server1",
780 "printer@server2".)</P>
781
782 <P>The default value for this option is <CODE>@CUPS_BROWSE_SHORT_NAMES@</CODE>.</P>
783
784
785 <H2 CLASS="title"><A NAME="BrowseTimeout">BrowseTimeout</A></H2>
786
787 <H3>Examples</H3>
788
789 <PRE CLASS="command">
790 BrowseTimeout 300
791 BrowseTimeout 60
792 </PRE>
793
794 <H3>Description</H3>
795
796 <P>The <CODE>BrowseTimeout</CODE> directive sets the timeout for
797 printer or class information that is received in browse packets.
798 Once a printer or class times out it is removed from the list of
799 available destinations.</P>
800
801 <P>The <CODE>BrowseTimeout</CODE> value should always be greater
802 than the <A
803 HREF="#BrowseInterval"><CODE>BrowseInterval</CODE></A> value.
804 Otherwise printers and classes will disappear from client systems
805 between updates.</P>
806
807
808 <H2 CLASS="title"><A NAME="BrowseWebIF">BrowseWebIF</A></H2>
809
810 <H3>Examples</H3>
811
812 <PRE CLASS="command">
813 BrowseWebIF On
814 BrowseWebIF Off
815 </PRE>
816
817 <H3>Description</H3>
818
819 <P>The <CODE>BrowseWebIF</CODE> directive controls whether the CUPS web
820 interface is advertised via DNS-SD. The default setting is
821 <CODE>Off</CODE>.</P>
822
823
824 <H2 CLASS="title"><A NAME="Browsing">Browsing</A></H2>
825
826 <H3>Examples</H3>
827
828 <PRE CLASS="command">
829 Browsing On
830 Browsing Off
831 </PRE>
832
833 <H3>Description</H3>
834
835 <P>The <CODE>Browsing</CODE> directive controls whether or not
836 network printer browsing is enabled. The default setting is
837 <CODE>@CUPS_BROWSING@</CODE>.</P>
838
839 <P>This directive does not enable sharing of local printers by
840 itself; you must also use the <A
841 HREF="#BrowseAddress"><CODE>BrowseAddress</CODE></A> or <A
842 HREF="#BrowseProtocols"><CODE>BrowseProtocols</CODE></A>
843 directives to advertise local printers to other systems.</P>
844
845 <BLOCKQUOTE><B>Note:</B>
846
847 <P>If you are using HP-UX 10.20 and a subnet that is not 24,
848 16, or 8 bits, printer browsing (and in fact all broadcast
849 reception) will not work. This problem appears to be fixed in
850 HP-UX 11.0.</P>
851
852 </BLOCKQUOTE>
853
854
855 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="Classification">Classification</A></H2>
856
857 <H3>Examples</H3>
858
859 <PRE CLASS="command">
860 Classification
861 Classification classified
862 Classification confidential
863 Classification secret
864 Classification topsecret
865 Classification unclassified
866 </PRE>
867
868 <H3>Description</H3>
869
870 <P>The <CODE>Classification</CODE> directive sets the
871 classification level on the server. When this option is set, at
872 least one of the banner pages is forced to the classification
873 level, and the classification is placed on each page of output.
874 The default is no classification level.</P>
875
876
877 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.10</SPAN><A NAME="ClassifyOverride">ClassifyOverride</A></H2>
878
879 <H3>Examples</H3>
880
881 <PRE CLASS="command">
882 ClassifyOverride Yes
883 ClassifyOverride No
884 </PRE>
885
886 <H3>Description</H3>
887
888 <P>The <CODE>ClassifyOverride</CODE> directive specifies whether
889 users can override the default classification level on the
890 server. When the server classification is set, users can change
891 the classification using the <CODE>job-sheets</CODE> option and
892 can choose to only print one security banner before or after the
893 job. If the <CODE>job-sheets</CODE> option is set to
894 <CODE>none</CODE> then the server default classification is
895 used.</P>
896
897 <P>The default is to not allow classification overrides.</P>
898
899
900 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.15</SPAN><A NAME="ConfigFilePerm">ConfigFilePerm</A></H2>
901
902 <H3>Examples</H3>
903
904 <PRE CLASS="command">
905 ConfigFilePerm 0644
906 ConfigFilePerm 0640
907 </PRE>
908
909 <H3>Description</H3>
910
911 <P>The <CODE>ConfigFilePerm</CODE> directive specifies the
912 permissions to use when writing configuration files. The default
913 is @CUPS_CONFIG_FILE_PERM@.</P>
914
915
916 <H2 CLASS="title"><A NAME="DataDir">DataDir</A></H2>
917
918 <H3>Examples</H3>
919
920 <PRE CLASS="command">
921 DataDir /usr/share/cups
922 </PRE>
923
924 <H3>Description</H3>
925
926 <P>The <CODE>DataDir</CODE> directive sets the directory to use
927 for data files.</P>
928
929
930 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="DefaultAuthType">DefaultAuthType</A></H2>
931
932 <H3>Examples</H3>
933
934 <PRE CLASS="command">
935 DefaultAuthType Basic
936 DefaultAuthType BasicDigest
937 DefaultAuthType Digest
938 DefaultAuthType Negotiate
939 </PRE>
940
941 <H3>Description</H3>
942
943 <P>The <CODE>DefaultAuthType</CODE> directive specifies the type
944 of authentication to use for IPP operations that require a
945 username. The default is <CODE>Basic</CODE>.</P>
946
947
948 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="DefaultEncryption">DefaultEncryption</A></H2>
949
950 <H3>Examples</H3>
951
952 <PRE CLASS="command">
953 DefaultEncryption Never
954 DefaultEncryption IfRequested
955 DefaultEncryption Required
956 </PRE>
957
958 <H3>Description</H3>
959
960 <P>The <CODE>DefaultEncryption</CODE> directive specifies the
961 type of encryption to use when performing authentication. The
962 default is <CODE>Required</CODE>.</P>
963
964
965 <H2 CLASS="title"><A NAME="DefaultLanguage">DefaultLanguage</A></H2>
966
967 <H3>Examples</H3>
968
969 <PRE CLASS="command">
970 DefaultLanguage de
971 DefaultLanguage en
972 DefaultLanguage es
973 DefaultLanguage fr
974 DefaultLanguage it
975 </PRE>
976
977 <H3>Description</H3>
978
979 <P>The <CODE>DefaultLanguage</CODE> directive specifies the
980 default language to use for client connections. Setting the
981 default language also sets the default character set if a
982 language localization file exists for it. The default language
983 is "en" for English.</P>
984
985
986 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="DefaultPaperSize">DefaultPaperSize</A></H2>
987
988 <H3>Examples</H3>
989
990 <PRE CLASS="command">
991 DefaultPaperSize Letter
992 DefaultPaperSize A4
993 DefaultPaperSize Auto
994 DefaultPaperSize None
995 </PRE>
996
997 <H3>Description</H3>
998
999 <P>The <CODE>DefaultPaperSize</CODE> directive specifies the default paper
1000 size to use when creating new printers. The default is <CODE>Auto</CODE>
1001 which uses a paper size appropriate for the system default locale. A value
1002 of <CODE>None</CODE> tells the scheduler to not set the default paper
1003 size.</P>
1004
1005
1006 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="DefaultPolicy">DefaultPolicy</A></H2>
1007
1008 <H3>Examples</H3>
1009
1010 <PRE CLASS="command">
1011 DefaultPolicy default
1012 DefaultPolicy foo
1013 </PRE>
1014
1015 <H3>Description</H3>
1016
1017 <P>The <CODE>DefaultPolicy</CODE> directive specifies the default
1018 policy to use for IPP operation. The default is
1019 <CODE>default</CODE>.</P>
1020
1021
1022 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="DefaultShared">DefaultShared</A></H2>
1023
1024 <H3>Examples</H3>
1025
1026 <PRE CLASS="command">
1027 DefaultShared yes
1028 DefaultShared no
1029 </PRE>
1030
1031 <H3>Description</H3>
1032
1033 <P>The <CODE>DefaultShared</CODE> directive specifies whether
1034 printers are shared (published) by default. The default is
1035 <CODE>@CUPS_DEFAULT_SHARED@</CODE>.</P>
1036
1037
1038 <H2 CLASS="title"><A NAME="Deny">Deny</A></H2>
1039
1040 <H3>Examples</H3>
1041
1042 <PRE CLASS="command">
1043 &lt;Location /path&gt;
1044 ..
1045 Deny from All
1046 Deny from None
1047 Deny from *.domain.com
1048 Deny from .domain.com
1049 Deny from host.domain.com
1050 Deny from nnn.*
1051 Deny from nnn.nnn.*
1052 Deny from nnn.nnn.nnn.*
1053 Deny from nnn.nnn.nnn.nnn
1054 Deny from nnn.nnn.nnn.nnn/mm
1055 Deny from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
1056 Deny from [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]
1057 Deny from [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]/mmm
1058 Deny from @LOCAL
1059 Deny from @IF(name)
1060 &lt;/Location&gt;
1061 </PRE>
1062
1063 <H3>Description</H3>
1064
1065 <P>The <CODE>Deny</CODE> directive specifies a hostname, IP
1066 address, or network that is denied access to the server.
1067 <CODE>Deny</CODE> directives are cummulative, so multiple
1068 <CODE>Deny</CODE> directives can be used to allow access for
1069 multiple hosts or networks.</P>
1070
1071 <P>Host and domain name matching require that you enable the <A
1072 HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
1073 directive.</P>
1074
1075 <P>The <CODE>/mm</CODE> notation specifies a CIDR netmask, a shown in
1076 <A HREF="TABLE1">Table 1</A>.</P>
1077
1078 <P>The <CODE>@LOCAL</CODE> name will deny access from all local
1079 interfaces. The <CODE>@IF(name)</CODE> name will deny access from
1080 the named interface. In both cases, CUPS only denies access from
1081 the network that the interface(s) are configured for - requests
1082 arriving on the interface from a foreign network will
1083 <em>not</em> be denied.</P>
1084
1085 <P>The <CODE>Deny</CODE> directive must appear inside a <A
1086 HREF="#Location"><CODE>Location</CODE></A> or <A
1087 HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
1088
1089
1090 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="DirtyCleanInterval">DirtyCleanInterval</A></H2>
1091
1092 <H3>Examples</H3>
1093
1094 <PRE CLASS="command">
1095 DirtyCleanInterval 30
1096 DirtyCleanInterval 0
1097 </PRE>
1098
1099 <H3>Description</H3>
1100
1101 <P>The <CODE>DirtyCleanInterval</CODE> directive specifies the number of
1102 seconds to wait before updating configuration and state files for printers,
1103 classes, subscriptions, and jobs. The default is 30 seconds. A value of 0
1104 causes the update to occur as soon as possible, typically within a few
1105 milliseconds.</P>
1106
1107
1108 <H2 CLASS="title"><A NAME="DocumentRoot">DocumentRoot</A></H2>
1109
1110 <H3>Examples</H3>
1111
1112 <PRE CLASS="command">
1113 DocumentRoot /usr/share/doc/cups
1114 DocumentRoot /foo/bar/doc/cups
1115 </PRE>
1116
1117 <H3>Description</H3>
1118
1119 <P>The <CODE>DocumentRoot</CODE> directive specifies the location
1120 of web content for the HTTP server in CUPS. If an absolute path
1121 is not specified then it is assumed to be relative to the <A
1122 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
1123 default directory is <VAR>@CUPS_DOCROOT@</VAR>.</P>
1124
1125 <P>Documents are first looked up in a sub-directory for the
1126 primary language requested by the client (e.g.
1127 <VAR>@CUPS_DOCROOT@/fr/...</VAR>) and then directly under
1128 the <CODE>DocumentRoot</CODE> directory (e.g.
1129 <VAR>@CUPS_DOCROOT@/...</VAR>), so it is possible to
1130 localize the web content by providing subdirectories for each
1131 language needed.</P>
1132
1133
1134 <H2 CLASS="title"><A NAME="Encryption">Encryption</A></H2>
1135
1136 <H3>Examples</H3>
1137
1138 <PRE CLASS="command">
1139 &lt;Location /path&gt;
1140 ...
1141 Encryption Never
1142 Encryption IfRequested
1143 Encryption Required
1144 &lt;/Location&gt;
1145 </PRE>
1146
1147 <H3>Description</H3>
1148
1149 <P>The <CODE>Encryption</CODE> directive must appear instead a <A
1150 HREF="#Location"><CODE>Location</CODE></A> or <A
1151 HREF="#Limit"><CODE>Limit</CODE></A> section and specifies the
1152 encryption settings for that location. The default setting is
1153 <CODE>IfRequested</CODE> for all locations.</P>
1154
1155
1156 <H2 CLASS="title"><A NAME="ErrorLog">ErrorLog</A></H2>
1157
1158 <H3>Examples</H3>
1159
1160 <PRE CLASS="command">
1161 ErrorLog /var/log/cups/error_log
1162 ErrorLog /var/log/cups/error_log-%s
1163 ErrorLog syslog
1164 </PRE>
1165
1166 <H3>Description</H3>
1167
1168 <P>The <CODE>ErrorLog</CODE> directive sets the name of the error
1169 log file. If the filename is not absolute then it is assumed to
1170 be relative to the <A
1171 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
1172 default error log file is <VAR>@CUPS_LOGDIR@/error_log</VAR>.</P>
1173
1174 <P>The server name can be included in the filename by using
1175 <CODE>%s</CODE> in the name.</P>
1176
1177 <P>The special name "syslog" can be used to send the error
1178 information to the system log instead of a plain file.</P>
1179
1180
1181 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.3/Mac OS X 10.5</SPAN><A NAME="ErrorPolicy">ErrorPolicy</A></H2>
1182
1183 <H3>Examples</H3>
1184
1185 <PRE CLASS="command">
1186 ErrorPolicy abort-job
1187 ErrorPolicy retry-job
1188 ErrorPolicy stop-printer
1189 </PRE>
1190
1191 <H3>Description</H3>
1192
1193 <P>The <CODE>ErrorPolicy</CODE> directive defines the default policy that
1194 is used when a backend is unable to send a print job to the
1195 printer.</P>
1196
1197 <P>The following values are supported:</P>
1198
1199 <UL>
1200
1201 <LI><CODE>abort-job</CODE> - Abort the job and proceed
1202 with the next job in the queue</LI>
1203
1204 <LI><CODE>retry-job</CODE> - Retry the job after waiting
1205 for N seconds; the <VAR>cupsd.conf</VAR> <A
1206 HREF="#JobRetryInterval"><CODE>JobRetryInterval</CODE></A>
1207 directive controls the value of N</LI>
1208
1209 <LI><CODE>retry-this-job</CODE> - Retry the current job immediately
1210 and indefinitely.</LI>
1211
1212 <LI><CODE>stop-printer</CODE> - Stop the printer and keep
1213 the job for future printing; this is the default
1214 value</LI>
1215
1216 </UL>
1217
1218
1219
1220 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="FatalErrors">FatalErrors</A></H2>
1221
1222 <H3>Examples</H3>
1223
1224 <PRE CLASS="command">
1225 FatalErrors none
1226 FatalErrors all
1227 FatalErrors browse
1228 FatalErrors config
1229 FatalErrors listen
1230 FatalErrors log
1231 FatalErrors permissions
1232 FatalErrors all -permissions
1233 FatalErrors config permissions log
1234 </PRE>
1235
1236 <H3>Description</H3>
1237
1238 <P>The <CODE>FatalErrors</CODE> directive determines whether certain kinds of
1239 errors are fatal. The following kinds of errors are currently recognized:</P>
1240
1241 <UL>
1242
1243 <LI><CODE>none</CODE> - No errors are fatal</LI>
1244
1245 <LI><CODE>all</CODE> - All of the errors below are fatal</LI>
1246
1247 <LI><CODE>browse</CODE> - Browsing initialization errors are fatal,
1248 for example failed binding to the CUPS browse port or failed connections
1249 to LDAP servers</LI>
1250
1251 <LI><CODE>config</CODE> - Configuration file syntax errors are
1252 fatal</LI>
1253
1254 <LI><CODE>listen</CODE> - Listen or Port errors are fatal, except for
1255 IPv6 failures on the loopback or "any" addresses</LI>
1256
1257 <LI><CODE>log</CODE> - Log file creation or write errors are fatal</LI>
1258
1259 <LI><CODE>permissions</CODE> - Bad startup file permissions are
1260 fatal, for example shared SSL certificate and key files with world-
1261 read permissions</LI>
1262
1263 </UL>
1264
1265 <P>Multiple errors can be listed, and the form "-kind" can be used with
1266 <CODE>all</CODE> to remove specific kinds of errors. The default setting is
1267 <CODE>@CUPS_FATAL_ERRORS@</CODE>.</P>
1268
1269
1270 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.18</SPAN><A NAME="FileDevice">FileDevice</A></H2>
1271
1272 <H3>Examples</H3>
1273
1274 <PRE CLASS="command">
1275 FileDevice Yes
1276 FileDevice No
1277 </PRE>
1278
1279 <H3>Description</H3>
1280
1281 <P>The <CODE>FileDevice</CODE> directive determines whether the
1282 scheduler allows new printers to be added using device URIs of
1283 the form <CODE>file:/filename</CODE>. File devices are most often
1284 used to test new printer drivers and do not support raw file
1285 printing.</P>
1286
1287 <P>The default setting is <CODE>No</CODE>.</P>
1288
1289 <BLOCKQUOTE><B>Note:</B>
1290
1291 <P>File devices are managed by the scheduler. Since the
1292 scheduler normally runs as the root user, file devices
1293 can be used to overwrite system files and potentially
1294 gain unauthorized access to the system. If you must
1295 create printers using file devices, we recommend that
1296 you set the <CODE>FileDevice</CODE> directive to
1297 <CODE>Yes</CODE> for only as long as you need to add the
1298 printers to the system, and then reset the directive to
1299 <CODE>No</CODE>.</P>
1300
1301 </BLOCKQUOTE>
1302
1303
1304 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.3</SPAN><A NAME="FilterLimit">FilterLimit</A></H2>
1305
1306 <H3>Examples</H3>
1307
1308 <PRE CLASS="command">
1309 FilterLimit 0
1310 FilterLimit 200
1311 FilterLimit 1000
1312 </PRE>
1313
1314 <H3>Description</H3>
1315
1316 <P>The <CODE>FilterLimit</CODE> directive sets the maximum cost
1317 of all running job filters. It can be used to limit the number of
1318 filter programs that are run on a server to minimize disk,
1319 memory, and CPU resource problems. A limit of 0 disables filter
1320 limiting.</P>
1321
1322 <P>An average print to a non-PostScript printer needs a filter
1323 limit of about 200. A PostScript printer needs about half that
1324 (100). Setting the limit below these thresholds will effectively
1325 limit the scheduler to printing a single job at any time.</P>
1326
1327 <P>The default limit is 0.</P>
1328
1329
1330 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.16</SPAN><A NAME="FilterNice">FilterNice</A></H2>
1331
1332 <H3>Examples</H3>
1333
1334 <PRE CLASS="command">
1335 FilterNice 0
1336 FilterNice 10
1337 FilterNice 19
1338 </PRE>
1339
1340 <H3>Description</H3>
1341
1342 <P>The <CODE>FilterNice</CODE> directive sets the <B>nice(1)</B>
1343 value to assign to filter processes. The nice value ranges from
1344 0, the highest priority, to 19, the lowest priority. The default
1345 is 0.</P>
1346
1347
1348 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.3</SPAN><A NAME="FontPath">FontPath</A></H2>
1349
1350 <H3>Examples</H3>
1351
1352 <PRE CLASS="command">
1353 FontPath /foo/bar/fonts
1354 FontPath /usr/share/cups/fonts:/foo/bar/fonts
1355 </PRE>
1356
1357 <H3>Description</H3>
1358
1359 <P>The <CODE>FontPath</CODE> directive specifies the font path to
1360 use when searching for fonts. The default font path is
1361 <CODE>/usr/share/cups/fonts</CODE>.</P>
1362
1363
1364 <H2 CLASS="title"><A NAME="Group">Group</A></H2>
1365
1366 <H3>Examples</H3>
1367
1368 <PRE CLASS="command">
1369 Group lp
1370 Group nobody
1371 </PRE>
1372
1373 <H3>Description</H3>
1374
1375 <P>The <CODE>Group</CODE> directive specifies the UNIX group that
1376 filter and CGI programs run as. The default group is
1377 system-specific but is usually <CODE>lp</CODE> or
1378 <CODE>nobody</CODE>.</P>
1379
1380
1381 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.10</SPAN><A NAME="HideImplicitMembers">HideImplicitMembers</A></H2>
1382
1383 <H3>Examples</H3>
1384
1385 <PRE CLASS="command">
1386 HideImplicitMembers Yes
1387 HideImplicitMembers No
1388 </PRE>
1389
1390 <H3>Description</H3>
1391
1392 <P>The <CODE>HideImplicitMembers</CODE> directive controls
1393 whether the individual printers in an implicit class are hidden
1394 from the user. The default is <CODE>Yes</CODE>.</P>
1395
1396 <P><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A>
1397 must be enabled for this directive to have any effect.</P>
1398
1399
1400 <H2 CLASS="title"><A NAME="HostNameLookups">HostNameLookups</A></H2>
1401
1402 <H3>Examples</H3>
1403
1404 <PRE CLASS="command">
1405 HostNameLookups On
1406 HostNameLookups Off
1407 HostNameLookups Double
1408 </PRE>
1409
1410 <H3>Description</H3>
1411
1412 <P>The <CODE>HostNameLookups</CODE> directive controls whether or
1413 not CUPS looks up the hostname for connecting clients. The
1414 <CODE>Double</CODE> setting causes CUPS to verify that the
1415 hostname resolved from the address matches one of the addresses
1416 returned for that hostname. <CODE>Double</CODE> lookups also
1417 prevent clients with unregistered addresses from connecting to
1418 your server.</P>
1419
1420 <P>The default is <CODE>Off</CODE> to avoid the potential server
1421 performance problems with hostname lookups. Set this option to
1422 <CODE>On</CODE> or <CODE>Double</CODE> only if absolutely
1423 required.</P>
1424
1425
1426 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.10</SPAN><A NAME="ImplicitAnyClasses">ImplicitAnyClasses</A></H2>
1427
1428 <H3>Examples</H3>
1429
1430 <PRE CLASS="command">
1431 ImplicitAnyClasses On
1432 ImplicitAnyClasses Off
1433 </PRE>
1434
1435 <H3>Description</H3>
1436
1437 <P>The <CODE>ImplicitAnyClasses</CODE> directive controls
1438 whether implicit classes for local and remote printers are
1439 created with the name <CODE>AnyPrinter</CODE>. The default
1440 setting is <CODE>Off</CODE>.</P>
1441
1442 <P><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A>
1443 must be enabled for this directive to have any effect.</P>
1444
1445
1446 <H2 CLASS="title"><A NAME="ImplicitClasses">ImplicitClasses</A></H2>
1447
1448 <H3>Examples</H3>
1449
1450 <PRE CLASS="command">
1451 ImplicitClasses On
1452 ImplicitClasses Off
1453 </PRE>
1454
1455 <H3>Description</H3>
1456
1457 <P>The <CODE>ImplicitClasses</CODE> directive controls whether
1458 implicit classes are created based upon the available network
1459 printers and classes. The default setting is
1460 <CODE>@CUPS_IMPLICIT_CLASSES@</CODE> but is automatically turned
1461 <CODE>Off</CODE> if <A HREF="#Browsing"><CODE>Browsing</CODE></A> is turned
1462 <CODE>Off</CODE>.</P>
1463
1464
1465 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.9</SPAN><A NAME="Include">Include</A></H2>
1466
1467 <H3>Examples</H3>
1468
1469 <PRE CLASS="command">
1470 Include filename
1471 Include /foo/bar/filename
1472 </PRE>
1473
1474 <H3>Description</H3>
1475
1476 <P>The <CODE>Include</CODE> directive includes the named file in
1477 the <CODE>cupsd.conf</CODE> file. If no leading path is provided,
1478 the file is assumed to be relative to the <A
1479 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory.</P>
1480
1481
1482 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.5</SPAN><A NAME="JobPrivateAccess">JobPrivateAccess</A></H2>
1483
1484 <H3>Examples</H3>
1485
1486 <PRE CLASS="command">
1487 JobPrivateAccess all
1488 JobPrivateAccess default
1489 JobPrivateAccess {user|@group|@ACL|@OWNER|@SYSTEM}+
1490 </PRE>
1491
1492 <H3>Description</H3>
1493
1494 <P>The <CODE>JobPrivateAccess</CODE> directive specifies the access list for a
1495 job's private values. The "default" access list is "@OWNER @SYSTEM". "@ACL" maps
1496 to the printer's requesting-user-name-allowed or requesting-user-name-denied
1497 values.</P>
1498
1499 <P>The <CODE>JobPrivateAccess</CODE> directive must appear inside a <A
1500 HREF="#Policy"><CODE>Policy</CODE></A> section.</P>
1501
1502
1503 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.5</SPAN><A NAME="JobPrivateValues">JobPrivateValues</A></H2>
1504
1505 <H3>Examples</H3>
1506
1507 <PRE CLASS="command">
1508 JobPrivateValues all
1509 JobPrivateValues default
1510 JobPrivateValues none
1511 JobPrivateValues attribute-name-1 [ ... attribute-name-N ]
1512 </PRE>
1513
1514 <H3>Description</H3>
1515
1516 <P>The <CODE>JobPrivateValues</CODE> directive specifies the list of job values
1517 to make private. The "default" values are "job-name",
1518 "job-originating-host-name", and "job-originating-user-name".</P>
1519
1520 <P>The <CODE>JobPrivateValues</CODE> directive must appear inside a <A
1521 HREF="#Policy"><CODE>Policy</CODE></A> section.</P>
1522
1523
1524 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="JobRetryInterval">JobRetryInterval</A></H2>
1525
1526 <H3>Examples</H3>
1527
1528 <PRE CLASS="command">
1529 JobRetryInterval 30
1530 JobRetryInterval 120
1531 </PRE>
1532
1533 <H3>Description</H3>
1534
1535 <P>The <CODE>JobRetryInterval</CODE> directive specifies the
1536 number of seconds to wait before retrying a job. This is
1537 typically used for fax queues but can also be used with normal
1538 print queues whose error policy is <CODE>retry-job</CODE>. The
1539 default is 30 seconds.</P>
1540
1541
1542 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="JobKillDelay">JobKillDelay</A></H2>
1543
1544 <H3>Examples</H3>
1545
1546 <PRE CLASS="command">
1547 JobKillDelay 30
1548 JobKillDelay 120
1549 </PRE>
1550
1551 <H3>Description</H3>
1552
1553 <P>The <CODE>JobKillDelay</CODE> directive specifies the number of seconds to
1554 wait before killing the filters and backend associated with a canceled or held
1555 job. The default is 30 seconds.</P>
1556
1557
1558 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="JobRetryLimit">JobRetryLimit</A></H2>
1559
1560 <H3>Examples</H3>
1561
1562 <PRE CLASS="command">
1563 JobRetryLimit 5
1564 JobRetryLimit 50
1565 </PRE>
1566
1567 <H3>Description</H3>
1568
1569 <P>The <CODE>JobRetryLimit</CODE> directive specifies the maximum
1570 number of times the scheduler will try to print a job. This is
1571 typically used for fax queues but can also be used with normal
1572 print queues whose error policy is <CODE>retry-job</CODE>. The
1573 default is 5 times.</P>
1574
1575
1576 <H2 CLASS="title"><A NAME="KeepAlive">KeepAlive</A></H2>
1577
1578 <H3>Examples</H3>
1579
1580 <PRE CLASS="command">
1581 KeepAlive On
1582 KeepAlive Off
1583 </PRE>
1584
1585 <H3>Description</H3>
1586
1587 <P>The <CODE>KeepAlive</CODE> directive controls whether or not
1588 to support persistent HTTP connections. The default is
1589 <CODE>On</CODE>.</P>
1590
1591 <P>HTTP/1.1 clients automatically support persistent connections,
1592 while HTTP/1.0 clients must specifically request them using the
1593 <CODE>Keep-Alive</CODE> attribute in the <CODE>Connection:</CODE>
1594 field of each request.</P>
1595
1596
1597 <H2 CLASS="title"><A NAME="KeepAliveTimeout">KeepAliveTimeout</A></H2>
1598
1599 <H3>Examples</H3>
1600
1601 <PRE CLASS="command">
1602 KeepAliveTimeout 60
1603 KeepAliveTimeout 30
1604 </PRE>
1605
1606 <H3>Description</H3>
1607
1608 <P>The <CODE>KeepAliveTimeout</CODE> directive controls how long
1609 a persistent HTTP connection will remain open after the last
1610 request. The default is 30 seconds.</P>
1611
1612
1613 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="Limit">Limit (Location)</A></H2>
1614
1615 <H3>Examples</H3>
1616
1617 <PRE CLASS="command">
1618 &lt;Location /path&gt;
1619 &lt;Limit GET POST&gt;
1620 ...
1621 &lt;/Limit&gt;
1622
1623 &lt;Limit ALL&gt;
1624 ...
1625 &lt;/Limit&gt;
1626 &lt;/Location&gt;
1627 </PRE>
1628
1629 <H3>Description</H3>
1630
1631 <P>The <CODE>Limit</CODE> directive groups access control
1632 directives for specific types of HTTP requests and must appear
1633 inside a <A HREF="#Location"><CODE>Location</CODE></A> section.
1634 Access can be limited for individual request types
1635 (<CODE>DELETE</CODE>, <CODE>GET</CODE>, <CODE>HEAD</CODE>,
1636 <CODE>OPTIONS</CODE>, <CODE>POST</CODE>, <CODE>PUT</CODE>, and
1637 <CODE>TRACE</CODE>) or for all request types (<CODE>ALL</CODE>).
1638 The request type names are case-sensitive for compatibility with
1639 Apache.</P>
1640
1641
1642 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="LimitIPP">Limit (Policy)</A></H2>
1643
1644 <H3>Examples</H3>
1645
1646 <PRE CLASS="command">
1647 &lt;Policy name&gt;
1648 &lt;Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer&gt;
1649 ...
1650 &lt;/Limit&gt;
1651
1652 &lt;Limit All&gt;
1653 ...
1654 &lt;/Limit&gt;
1655 &lt;/Policy&gt;
1656 </PRE>
1657
1658 <H3>Description</H3>
1659
1660 <P>When included in <A HREF="#Policy"><CODE>Policy</CODE></A>
1661 sections, the <CODE>Limit</CODE> directive groups access control
1662 directives for specific IPP operations. Multiple operations can
1663 be listed, separated by spaces. Table 2 lists the supported
1664 operations.</P>
1665
1666 <DIV CLASS="table"><TABLE SUMMARY="Supported IPP Operations">
1667 <CAPTION>Table 2: <A NAME="TABLE2">Supported IPP Operations</A></CAPTION>
1668 <THEAD>
1669 <TR>
1670 <TH>Operation Name</TH>
1671 <TH>Description</TH>
1672 </TR>
1673 </THEAD>
1674 <TBODY>
1675 <TR>
1676 <TD>All</TD>
1677 <TD>All operations - used as the default limit for
1678 operations that are not listed</TD>
1679 </TR>
1680 <TR>
1681 <TD>Cancel-Job</TD>
1682 <TD>Cancel a job</TD>
1683 </TR>
1684 <TR>
1685 <TD>Cancel-Subscription</TD>
1686 <TD>Cancel a subscription</TD>
1687 </TR>
1688 <TR>
1689 <TD>Create-Job</TD>
1690 <TD>Create a new, empty job</TD>
1691 </TR>
1692 <TR>
1693 <TD>Create-Job-Subscription</TD>
1694 <TD>Creates a notification subscription on a job</TD>
1695 </TR>
1696 <TR>
1697 <TD>Create-Printer-Subscription</TD>
1698 <TD>Creates a notification subscription on a printer</TD>
1699 </TR>
1700 <TR>
1701 <TD>CUPS-Accept-Jobs</TD>
1702 <TD>Sets the printer-is-accepting-jobs value for a printer to true</TD>
1703 </TR>
1704 <TR>
1705 <TD>CUPS-Add-Modify-Class</TD>
1706 <TD>Adds or modifies a class</TD>
1707 </TR>
1708 <TR>
1709 <TD>CUPS-Add-Modify-Printer</TD>
1710 <TD>Adds or modifies a printer</TD>
1711 </TR>
1712 <TR>
1713 <TD>CUPS-Authenticate-Job</TD>
1714 <TD>Authenticates a job for printing</TD>
1715 </TR>
1716 <TR>
1717 <TD>CUPS-Delete-Class</TD>
1718 <TD>Deletes a class</TD>
1719 </TR>
1720 <TR>
1721 <TD>CUPS-Delete-Printer</TD>
1722 <TD>Deletes a printer</TD>
1723 </TR>
1724 <TR>
1725 <TD>CUPS-Get-Classes</TD>
1726 <TD>Gets a list of classes</TD>
1727 </TR>
1728 <TR>
1729 <TD>CUPS-Get-Default</TD>
1730 <TD>Gets the (network/server) default printer or class</TD>
1731 </TR>
1732 <TR>
1733 <TD>CUPS-Get-Devices</TD>
1734 <TD>Gets a list of available devices</TD>
1735 </TR>
1736 <TR>
1737 <TD>CUPS-Get-PPDs</TD>
1738 <TD>Gets a list of available manufacturers or drivers</TD>
1739 </TR>
1740 <TR>
1741 <TD>CUPS-Get-Printers</TD>
1742 <TD>Gets a list of printers and/or classes</TD>
1743 </TR>
1744 <TR>
1745 <TD>CUPS-Move-Job</TD>
1746 <TD>Moves a job to a new destination</TD>
1747 </TR>
1748 <TR>
1749 <TD>CUPS-Reject-Jobs</TD>
1750 <TD>Sets the printer-is-accepting-jobs value for a printer to false</TD>
1751 </TR>
1752 <TR>
1753 <TD>CUPS-Set-Default</TD>
1754 <TD>Sets the network/server default printer or class</TD>
1755 </TR>
1756 <TR>
1757 <TD>Disable-Printer</TD>
1758 <TD>Sets the printer-state value for a printer to stopped</TD>
1759 </TR>
1760 <TR>
1761 <TD>Enable-Printer</TD>
1762 <TD>Sets the printer-state value for a printer to idle/processing</TD>
1763 </TR>
1764 <TR>
1765 <TD>Get-Job-Attributes</TD>
1766 <TD>Gets information about a job</TD>
1767 </TR>
1768 <TR>
1769 <TD>Get-Jobs</TD>
1770 <TD>Gets a list of jobs</TD>
1771 </TR>
1772 <TR>
1773 <TD>Get-Notifications</TD>
1774 <TD>Gets a list of events</TD>
1775 </TR>
1776 <TR>
1777 <TD>Get-Printer-Attributes</TD>
1778 <TD>Gets informaion about a printer or class</TD>
1779 </TR>
1780 <TR>
1781 <TD>Get-Subscription-Attributes</TD>
1782 <TD>Gets informaion about a notification subscription</TD>
1783 </TR>
1784 <TR>
1785 <TD>Get-Subscriptions</TD>
1786 <TD>Gets a list of notification subscriptions</TD>
1787 </TR>
1788 <TR>
1789 <TD>Hold-Job</TD>
1790 <TD>Holds a job for printing</TD>
1791 </TR>
1792 <TR>
1793 <TD>Pause-Printer</TD>
1794 <TD>Sets the printer-state value for a printer to stopped</TD>
1795 </TR>
1796 <TR>
1797 <TD>Print-Job</TD>
1798 <TD>Creates a job with a single file for printing</TD>
1799 </TR>
1800 <TR>
1801 <TD>Purge-Jobs</TD>
1802 <TD>Removes all jobs from a printer</TD>
1803 </TR>
1804 <TR>
1805 <TD>Release-Job</TD>
1806 <TD>Releases a previously held job for printing</TD>
1807 </TR>
1808 <TR>
1809 <TD>Renew-Subscription</TD>
1810 <TD>Renews a notification subscription</TD>
1811 </TR>
1812 <TR>
1813 <TD>Restart-Job</TD>
1814 <TD>Reprints a job</TD>
1815 </TR>
1816 <TR>
1817 <TD>Resume-Printer</TD>
1818 <TD>Sets the printer-stae value for a printer to idle/processing</TD>
1819 </TR>
1820 <TR>
1821 <TD>Send-Document</TD>
1822 <TD>Adds a file to an job created with Create-Job</TD>
1823 </TR>
1824 <TR>
1825 <TD>Set-Job-Attributes</TD>
1826 <TD>Changes job options</TD>
1827 </TR>
1828 <TR>
1829 <TD>Validate-Job</TD>
1830 <TD>Validates job options prior to printing</TD>
1831 </TR>
1832 </TBODY>
1833 </TABLE></DIV>
1834
1835
1836 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="LimitExcept">LimitExcept</A></H2>
1837
1838 <H3>Examples</H3>
1839
1840 <PRE CLASS="command">
1841 &lt;Location /path&gt;
1842 &lt;LimitExcept GET POST&gt;
1843 ...
1844 &lt;/LimitExcept&gt;
1845 &lt;/Location&gt;
1846 </PRE>
1847
1848 <H3>Description</H3>
1849
1850 <P>The <CODE>LimitExcept</CODE> directive groups access control
1851 directives for specific types of HTTP requests and must appear
1852 inside a <A HREF="#Location"><CODE>Location</CODE></A> section.
1853 Unlike the <A HREF="#Limit"><CODE>Limit</CODE></A> directive,
1854 <CODE>LimitExcept</CODE> restricts access for all requests
1855 <I>except</I> those listed on the <CODE>LimitExcept</CODE>
1856 line.</P>
1857
1858
1859 <H2 CLASS="title"><A NAME="LimitRequestBody">LimitRequestBody</A></H2>
1860
1861 <H3>Examples</H3>
1862
1863 <PRE CLASS="command">
1864 LimitRequestBody 10485760
1865 LimitRequestBody 10m
1866 LimitRequestBody 0
1867 </PRE>
1868
1869 <H3>Description</H3>
1870
1871 <P>The <CODE>LimitRequestBody</CODE> directive controls the
1872 maximum size of print files, IPP requests, and HTML form data in
1873 HTTP POST requests. The default limit is 0 which disables the
1874 limit check.</P>
1875
1876
1877 <H2 CLASS="title"><A NAME="Listen">Listen</A></H2>
1878
1879 <H3>Examples</H3>
1880
1881 <PRE CLASS="command">
1882 Listen 127.0.0.1:631
1883 Listen 192.0.2.1:631
1884 Listen [::1]:631
1885 Listen *:631
1886 </PRE>
1887
1888 <H3>Description</H3>
1889
1890 <P>The <CODE>Listen</CODE> directive specifies a network address
1891 and port to listen for connections. Multiple <CODE>Listen</CODE>
1892 directives can be provided to listen on multiple addresses.</P>
1893
1894 <P>The <CODE>Listen</CODE> directive is similar to the <A
1895 HREF="#Port"><CODE>Port</CODE></A> directive but allows you to
1896 restrict access to specific interfaces or networks.</P>
1897
1898
1899 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="ListenBackLog">ListenBackLog</A></H2>
1900
1901 <H3>Examples</H3>
1902
1903 <PRE CLASS="command">
1904 ListenBackLog 5
1905 ListenBackLog 10
1906 </PRE>
1907
1908 <H3>Description</H3>
1909
1910 <P>The <CODE>ListenBackLog</CODE> directive sets the maximum
1911 number of pending connections the scheduler will allow. This
1912 normally only affects very busy servers that have reached the <A
1913 HREF="#MaxClients"><CODE>MaxClients</CODE></A> limit, but can
1914 also be triggered by large numbers of simultaneous connections.
1915 When the limit is reached, the operating system will refuse
1916 additional connections until the scheduler can accept the pending
1917 ones. The default is the OS-defined default limit, typically
1918 either 5 for older operating systems or 128 for newer operating
1919 systems.</P>
1920
1921
1922 <H2 CLASS="title"><A NAME="Location">Location</A></H2>
1923
1924 <H3>Examples</H3>
1925
1926 <PRE CLASS="command">
1927 &lt;Location /&gt;
1928 ...
1929 &lt;/Location&gt;
1930
1931 &lt;Location /admin&gt;
1932 ...
1933 &lt;/Location&gt;
1934
1935 &lt;Location /admin/conf&gt;
1936 ...
1937 &lt;/Location&gt;
1938
1939 &lt;Location /admin/log&gt;
1940 ...
1941 &lt;/Location&gt;
1942
1943 &lt;Location /classes&gt;
1944 ...
1945 &lt;/Location&gt;
1946
1947 &lt;Location /classes/name&gt;
1948 ...
1949 &lt;/Location&gt;
1950
1951 &lt;Location /jobs&gt;
1952 ...
1953 &lt;/Location&gt;
1954
1955 &lt;Location /printers&gt;
1956 ...
1957 &lt;/Location&gt;
1958
1959 &lt;Location /printers/name&gt;
1960 ...
1961 &lt;/Location&gt;
1962
1963 </PRE>
1964
1965 <H3>Description</H3>
1966
1967 <P>The <CODE>Location</CODE> directive specifies access control
1968 and authentication options for the specified HTTP resource or
1969 path. The <A HREF="#Allow"><CODE>Allow</CODE></A>, <A
1970 HREF="#AuthType"><CODE>AuthType</CODE></A>, <A
1971 HREF="#Deny"><CODE>Deny</CODE></A>, <A
1972 HREF="#Encryption"><CODE>Encryption</CODE></A>, <A
1973 HREF="#Limit"><CODE>Limit</CODE></A>, <A
1974 HREF="#LimitExcept"><CODE>LimitExcept</CODE></A>, <A
1975 HREF="#Order"><CODE>Order</CODE></A>, <A
1976 HREF="#Require"><CODE>Require</CODE></A>, and <A
1977 HREF="#Satisfy"><CODE>Satisfy</CODE></A> directives may all
1978 appear inside a location.</P>
1979
1980 <P>Note that more specific resources override the less specific
1981 ones. So the directives inside the <CODE>/printers/name</CODE>
1982 location will override ones from <CODE>/printers</CODE>.
1983 Directives inside <CODE>/printers</CODE> will override ones from
1984 <CODE>/</CODE>. None of the directives are inherited.</P>
1985
1986 <DIV CLASS="table"><TABLE SUMMARY="Common Locations on the Server">
1987 <CAPTION>Table 3: <A NAME="TABLE3">Common Locations on the Server</A></CAPTION>
1988 <THEAD>
1989 <TR><TH>Location</TH><TH>Description</TH></TR>
1990 </THEAD>
1991 <TBODY>
1992 <TR><TD><CODE>/</CODE></TD><TD>The path for all get operations (get-printers, get-jobs, etc.)</TD></TR>
1993 <TR><TD><CODE>/admin</CODE></TD><TD>The path for all administration operations (add-printer, delete-printer, start-printer, etc.)</TD></TR>
1994 <TR><TD><CODE>/admin/conf</CODE></TD><TD>The path for access to the CUPS configuration files (cupsd.conf, client.conf, etc.)</TD></TR>
1995 <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>
1996 <TR><TD><CODE>/classes</CODE></TD><TD>The path for all classes</TD></TR>
1997 <TR><TD><CODE>/classes/name</CODE></TD><TD>The resource for class <CODE>name</CODE></TD></TR>
1998 <TR><TD><CODE>/jobs</CODE></TD><TD>The path for all jobs (hold-job, release-job, etc.)</TD></TR>
1999 <TR><TD><CODE>/jobs/id</CODE></TD><TD>The resource for job <CODE>id</CODE></TD></TR>
2000 <TR><TD><CODE>/printers</CODE></TD><TD>The path for all printers</TD></TR>
2001 <TR><TD><CODE>/printers/name</CODE></TD><TD>The path for printer <CODE>name</CODE></TD></TR>
2002 <TR><TD><CODE>/printers/name.ppd</CODE></TD><TD>The PPD file path for printer <CODE>name</CODE></TD></TR>
2003 </TBODY>
2004 </TABLE></DIV>
2005
2006
2007 <H2 CLASS="title"><A NAME="LogDebugHistory">LogDebugHistory</A></H2>
2008
2009 <H3>Examples</H3>
2010
2011 <PRE CLASS="command">
2012 LogDebugHistory 0
2013 LogDebugHistory 200
2014 </PRE>
2015
2016 <H3>Description</H3>
2017
2018 <P>When <A HREF="#LogLevel"><CODE>LogLevel</CODE></A> is not set to
2019 <CODE>debug</CODE> or <CODE>debug2</CODE>, the <CODE>LogDebugHistory</CODE>
2020 directive specifies the number of debugging messages that are logged when an
2021 error occurs during printing. The default is 200 messages. A value of 0
2022 disables debugging history entirely and is not recommended.</P>
2023
2024
2025 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.15</SPAN><A NAME="LogFilePerm">LogFilePerm</A></H2>
2026
2027 <H3>Examples</H3>
2028
2029 <PRE CLASS="command">
2030 LogFilePerm 0644
2031 LogFilePerm 0600
2032 </PRE>
2033
2034 <H3>Description</H3>
2035
2036 <P>The <CODE>LogFilePerm</CODE> directive specifies the
2037 permissions to use when writing configuration files. The default
2038 is @CUPS_LOG_FILE_PERM@.</P>
2039
2040
2041 <H2 CLASS="title"><A NAME="LogLevel">LogLevel</A></H2>
2042
2043 <H3>Examples</H3>
2044
2045 <PRE CLASS="command">
2046 LogLevel none
2047 LogLevel emerg
2048 LogLevel alert
2049 LogLevel crit
2050 LogLevel error
2051 LogLevel warn
2052 LogLevel notice
2053 LogLevel info
2054 LogLevel debug
2055 LogLevel debug2
2056 </PRE>
2057
2058 <H3>Description</H3>
2059
2060 <P>The <CODE>LogLevel</CODE> directive specifies the level of
2061 logging for the <A HREF="#ErrorLog"><CODE>ErrorLog</CODE></A>
2062 file. The following values are recognized (each level logs
2063 everything under the preceding levels):</P>
2064
2065 <UL>
2066
2067 <LI><CODE>none</CODE> - Log nothing</LI>
2068
2069 <LI><CODE>emerg</CODE> - Log emergency conditions that
2070 prevent the server from running</LI>
2071
2072 <LI><CODE>alert</CODE> - Log alerts that must be handled
2073 immediately</LI>
2074
2075 <LI><CODE>crit</CODE> - Log critical errors that don't
2076 prevent the server from running</LI>
2077
2078 <LI><CODE>error</CODE> - Log general errors</LI>
2079
2080 <LI><CODE>warn</CODE> - Log errors and warnings</LI>
2081
2082 <LI><CODE>notice</CODE> - Log temporary error conditions</LI>
2083
2084 <LI><CODE>info</CODE> - Log all requests and state
2085 changes</LI>
2086
2087 <LI><CODE>debug</CODE> - Log basic debugging
2088 information</LI>
2089
2090 <LI><CODE>debug2</CODE> - Log all debugging
2091 information</LI>
2092
2093 </UL>
2094
2095 <p>The default <code>LogLevel</code> is <code>@CUPS_LOG_LEVEL@</code>.</p>
2096
2097
2098 <H2 CLASS="title"><A NAME="LogTimeFormat">LogTimeFormat</A></H2>
2099
2100 <H3>Examples</H3>
2101
2102 <PRE CLASS="command">
2103 LogTimeFormat standard
2104 LogTimeFormat usecs
2105 </PRE>
2106
2107 <H3>Description</H3>
2108
2109 <P>The <CODE>LogTimeFormat</CODE> directive specifies the format used for the
2110 date and time in the log files. <CODE>Standard</CODE> uses the standard Apache
2111 Common Log Format date and time while <CODE>usecs</CODE> adds microseconds.
2112 The default is <CODE>standard</CODE>.</P>
2113
2114
2115 <H2 CLASS="title"><A NAME="MaxClients">MaxClients</A></H2>
2116
2117 <H3>Examples</H3>
2118
2119 <PRE CLASS="command">
2120 MaxClients 100
2121 MaxClients 1024
2122 </PRE>
2123
2124 <H3>Description</H3>
2125
2126 <P>The <CODE>MaxClients</CODE> directive controls the maximum
2127 number of simultaneous clients that will be allowed by the
2128 server. The default is 100 clients.</P>
2129
2130 <BLOCKQUOTE><B>Note:</B>
2131
2132 <P>Since each print job requires a file descriptor for the status
2133 pipe, the scheduler internally limits the <CODE>MaxClients</CODE>
2134 value to 1/3 of the available file descriptors to avoid possible
2135 problems when printing large numbers of jobs.</P>
2136
2137 </BLOCKQUOTE>
2138
2139
2140 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.18</SPAN><A NAME="MaxClientsPerHost">MaxClientsPerHost</A></H2>
2141
2142 <H3>Examples</H3>
2143
2144 <PRE CLASS="command">
2145 MaxClientsPerHost 10
2146 </PRE>
2147
2148 <H3>Description</H3>
2149
2150 <P>The <CODE>MaxClientsPerHost</CODE> directive controls the
2151 maximum number of simultaneous clients that will be allowed from
2152 a single host by the server. The default is the
2153 <CODE>MaxClients</CODE> value.</P>
2154
2155 <P>This directive provides a small measure of protection against
2156 Denial of Service attacks from a single host.</P>
2157
2158
2159 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.16</SPAN><A NAME="MaxCopies">MaxCopies</A></H2>
2160
2161 <H3>Examples</H3>
2162
2163 <PRE CLASS="command">
2164 MaxCopies 100
2165 MaxCopies 65535
2166 </PRE>
2167
2168 <H3>Description</H3>
2169
2170 <P>The <CODE>MaxCopies</CODE> directive controls the maximum
2171 number of copies that a user can print of a job. The default is
2172 @CUPS_MAX_COPIES@ copies.</P>
2173
2174 <BLOCKQUOTE><B>Note:</B>
2175
2176 <P>Most HP PCL laser printers internally limit the number of
2177 copies to 100.</P>
2178
2179 </BLOCKQUOTE>
2180
2181
2182
2183 <H2 CLASS="title"><A NAME="MaxJobs">MaxJobs</A></H2>
2184
2185 <H3>Examples</H3>
2186
2187 <PRE CLASS="command">
2188 MaxJobs 100
2189 MaxJobs 9999
2190 MaxJobs 0
2191 </PRE>
2192
2193 <H3>Description</H3>
2194
2195 <P>The <CODE>MaxJobs</CODE> directive controls the maximum number
2196 of jobs that are kept in memory. Once the number of jobs reaches
2197 the limit, the oldest completed job is automatically purged from
2198 the system to make room for the new one. If all of the known jobs
2199 are still pending or active then the new job will be
2200 rejected.</P>
2201
2202 <P>Setting the maximum size to 0 disables this functionality. The
2203 default setting is 500.</P>
2204
2205
2206 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="MaxJobsPerPrinter">MaxJobsPerPrinter</A></H2>
2207
2208 <H3>Examples</H3>
2209
2210 <PRE CLASS="command">
2211 MaxJobsPerPrinter 100
2212 MaxJobsPerPrinter 9999
2213 MaxJobsPerPrinter 0
2214 </PRE>
2215
2216 <H3>Description</H3>
2217
2218 <P>The <CODE>MaxJobsPerPrinter</CODE> directive controls the
2219 maximum number of active jobs that are allowed for each printer
2220 or class. Once a printer or class reaches the limit, new jobs
2221 will be rejected until one of the active jobs is completed,
2222 stopped, aborted, or canceled.</P>
2223
2224 <P>Setting the maximum to 0 disables this functionality. The
2225 default setting is 0.</P>
2226
2227
2228 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="MaxJobsPerUser">MaxJobsPerUser</A></H2>
2229
2230 <H3>Examples</H3>
2231
2232 <PRE CLASS="command">
2233 MaxJobsPerUser 100
2234 MaxJobsPerUser 9999
2235 MaxJobsPerUser 0
2236 </PRE>
2237
2238 <H3>Description</H3>
2239
2240 <P>The <CODE>MaxJobsPerUser</CODE> directive controls the maximum
2241 number of active jobs that are allowed for each user. Once a user
2242 reaches the limit, new jobs will be rejected until one of the
2243 active jobs is completed, stopped, aborted, or canceled.</P>
2244
2245 <P>Setting the maximum to 0 disables this functionality. The
2246 default setting is 0.</P>
2247
2248
2249 <H2 CLASS="title"><A NAME="MaxLogSize">MaxLogSize</A></H2>
2250
2251 <H3>Examples</H3>
2252
2253 <PRE CLASS="command">
2254 MaxLogSize 1048576
2255 MaxLogSize 1m
2256 MaxLogSize 0
2257 </PRE>
2258
2259 <H3>Description</H3>
2260
2261 <P>The <CODE>MaxLogSize</CODE> directive controls the maximum
2262 size of each log file. Once a log file reaches or exceeds the
2263 maximum size it is closed and renamed to <VAR>filename.O</VAR>.
2264 This allows you to rotate the logs automatically. The default
2265 size is 1048576 bytes (1MB).</P>
2266
2267 <P>Setting the maximum size to 0 disables log rotation.</P>
2268
2269
2270 <H2 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="MaxRequestSize">MaxRequestSize</A></H2>
2271
2272 <H3>Examples</H3>
2273
2274 <PRE CLASS="command">
2275 MaxRequestSize 10485760
2276 MaxRequestSize 10m
2277 MaxRequestSize 0
2278 </PRE>
2279
2280 <H3>Description</H3>
2281
2282 <P>The <CODE>MaxRequestSize</CODE> directive controls the maximum
2283 size of print files, IPP requests, and HTML form data in HTTP
2284 POST requests. The default limit is 0 which disables the limit
2285 check.</P>
2286
2287 <P><B>This directive is deprecated and will be removed in a
2288 future CUPS release.</B> Use the <A
2289 HREF="#LimitRequestBody"><CODE>LimitRequestBody</CODE></A>
2290 directive instead.</P>
2291
2292
2293 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="MultipleOperationTimeout">MultipleOperationTimeout</A></H2>
2294
2295 <H3>Examples</H3>
2296
2297 <PRE CLASS="command">
2298 MultipleOperationTimeout 60
2299 MultipleOperationTimeout 300
2300 MultipleOperationTimeout 86400
2301 </PRE>
2302
2303 <H3>Description</H3>
2304
2305 <P>The <CODE>MultipleOperationTimeout</CODE> directive sets the maximum amount
2306 of time between files in a multi-file print job. The default is 300 seconds.</P>
2307
2308
2309 <H2 CLASS="title"><A NAME="Order">Order</A></H2>
2310
2311 <H3>Examples</H3>
2312
2313 <PRE CLASS="command">
2314 &lt;Location /path&gt;
2315 ...
2316 Order Allow,Deny
2317 Order Deny,Allow
2318 &lt;/Location&gt;
2319 </PRE>
2320
2321 <H3>Description</H3>
2322
2323 <P>The <CODE>Order</CODE> directive defines the default access
2324 control. The following values are supported:</P>
2325
2326 <UL>
2327
2328 <LI><CODE>allow,deny</CODE> - Deny requests by default,
2329 then check the <A HREF="#Allow"><CODE>Allow</CODE></A>
2330 lines followed by the <A
2331 HREF="#Deny"><CODE>Deny</CODE></A> lines</LI>
2332
2333 <LI><CODE>deny,allow</CODE> - Allow requests by default,
2334 then check the <A HREF="#Deny"><CODE>Deny</CODE></A>
2335 lines followed by the <A
2336 HREF="#Allow"><CODE>Allow</CODE></A> lines</LI>
2337
2338 </UL>
2339
2340 <P>The <CODE>Order</CODE> directive must appear inside a <A
2341 HREF="#Location"><CODE>Location</CODE></A> or <A
2342 HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
2343
2344
2345 <H2 CLASS="title"><A NAME="PageLog">PageLog</A></H2>
2346
2347 <H3>Examples</H3>
2348
2349 <PRE CLASS="command">
2350 PageLog /var/log/cups/page_log
2351 PageLog /var/log/cups/page_log-%s
2352 PageLog syslog
2353 </PRE>
2354
2355 <H3>Description</H3>
2356
2357 <P>The <CODE>PageLog</CODE> directive sets the name of the page
2358 log file. If the filename is not absolute then it is assumed to
2359 be relative to the <A
2360 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
2361 default page log file is <VAR>@CUPS_LOGDIR@/page_log</VAR>.</P>
2362
2363 <P>The server name can be included in the filename by using
2364 <CODE>%s</CODE> in the name.</P>
2365
2366 <P>The special name "syslog" can be used to send the page
2367 information to the system log instead of a plain file.</P>
2368
2369
2370 <H2 CLASS="title"><A NAME="PageLogFormat">PageLogFormat</A></H2>
2371
2372 <H3>Examples</H3>
2373
2374 <PRE CLASS="command">
2375 PageLogFormat %p %j %u %T %P %C %{job-billing} %{job-originating-host-name} %{job-name} %{media} %{sides}
2376 PageLogFormat PAGE %p %j %u %P %C %{job-billing} %{job-originating-host-name}
2377 </PRE>
2378
2379 <H3>Description</H3>
2380
2381 <P>The <CODE>PageLogFormat</CODE> directive sets the format of lines
2382 that are logged to the page log file. Sequences beginning with percent (%)
2383 characters are replaced with the corresponding information, while all other
2384 characters are copied literally. The following percent sequences are
2385 recognized:</P>
2386
2387 <UL>
2388
2389 <LI><CODE>%%</CODE>: Inserts a single percent character.</LI>
2390
2391 <LI><CODE>%{name}</CODE>: Inserts the value of the specified IPP
2392 attribute.</LI>
2393
2394 <LI><CODE>%C</CODE>: Inserts the number of copies for the current page.</LI>
2395
2396 <LI><CODE>%P</CODE>: Inserts the current page number.</LI>
2397
2398 <LI><CODE>%T</CODE>: Inserts the current date and time in common log
2399 format.</LI>
2400
2401 <LI><CODE>%j</CODE>: Inserts the job ID.</LI>
2402
2403 <LI><CODE>%p</CODE>: Inserts the printer name.</LI>
2404
2405 <LI><CODE>%u</CODE>: Inserts the username.</LI>
2406
2407 </UL>
2408
2409 <P>The default is "%p %j %u %T %P %C %{job-billing} %{job-originating-host-name} %{job-name} %{media} %{sides}".</P>
2410
2411
2412 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="PassEnv">PassEnv</A></H2>
2413
2414 <H3>Examples</H3>
2415
2416 <PRE CLASS="command">
2417 PassEnv MY_ENV_VARIABLE
2418 </PRE>
2419
2420 <H3>Description</H3>
2421
2422 <P>The <CODE>PassEnv</CODE> directive specifies an environment
2423 variable that should be passed to child processes. Normally, the
2424 scheduler only passes the <CODE>DYLD_LIBRARY_PATH</CODE>,
2425 <CODE>LD_ASSUME_KERNEL</CODE>, <CODE>LD_LIBRARY_PATH</CODE>,
2426 <CODE>LD_PRELOAD</CODE>, <CODE>NLSPATH</CODE>,
2427 <CODE>SHLIB_PATH</CODE>, <CODE>TZ</CODE>, and <CODE>VGARGS</CODE>
2428 environment variables to child processes.</P>
2429
2430
2431 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="Policy">Policy</A></H2>
2432
2433 <H3>Examples</H3>
2434
2435 <PRE CLASS="command">
2436 &lt;Policy name&gt;
2437 &lt;Limit operation ... operation&gt;
2438 ...
2439 &lt;/Limit&gt;
2440 &lt;Limit operation ... operation&gt;
2441 ...
2442 &lt;/Limit&gt;
2443 &lt;Limit All&gt;
2444 ...
2445 &lt;/Limit&gt;
2446 &lt;/Policy&gt;
2447 </PRE>
2448
2449 <H3>Description</H3>
2450
2451 <P>The <CODE>Policy</CODE> directive specifies IPP operation
2452 access control limits. Each policy contains 1 or more <A
2453 HREF="#LimitIPP"><CODE>Limit</CODE></A> sections to set the
2454 access control limits for specific operations - user limits,
2455 authentication, encryption, and allowed/denied addresses,
2456 domains, or hosts. The <CODE>&lt;Limit All&gt;</CODE> section
2457 specifies the default access control limits for operations that
2458 are not listed.</P>
2459
2460 <P>Policies are named and associated with printers via the
2461 printer's operation policy setting
2462 (<CODE>printer-op-policy</CODE>). The default policy for the
2463 scheduler is specified using the <A
2464 HREF="#DefaultPolicy"><CODE>DefaultPolicy</CODE></A>
2465 directive.</P>
2466
2467
2468 <H2 CLASS="title"><A NAME="Port">Port</A></H2>
2469
2470 <H3>Examples</H3>
2471
2472 <PRE CLASS="command">
2473 Port 631
2474 Port 80
2475 </PRE>
2476
2477 <H3>Description</H3>
2478
2479 <P>The <CODE>Port</CODE> directive specifies a port to listen on.
2480 Multiple <CODE>Port</CODE> lines can be specified to listen on
2481 multiple ports. The <CODE>Port</CODE> directive is equivalent to
2482 "<CODE>Listen *:nnn</CODE>". The default port is 631.</P>
2483
2484 <BLOCKQUOTE><B>Note:</B>
2485
2486 <P>On systems that support IPv6, this directive will bind to both
2487 the IPv4 and IPv6 wildcard address.</P>
2488
2489 </BLOCKQUOTE>
2490
2491
2492 <H2 CLASS="title"><A NAME="PreserveJobHistory">PreserveJobHistory</A></H2>
2493
2494 <H3>Examples</H3>
2495
2496 <PRE CLASS="command">
2497 PreserveJobHistory On
2498 PreserveJobHistory Off
2499 </PRE>
2500
2501 <H3>Description</H3>
2502
2503 <P>The <CODE>PreserveJobHistory</CODE> directive controls whether
2504 the history of completed, canceled, or aborted print jobs is
2505 stored on disk.</P>
2506
2507 <P>A value of <CODE>On</CODE> (the default) preserves job
2508 information until the administrator purges it with the
2509 <CODE>cancel</CODE> command.</P>
2510
2511 <P>A value of <CODE>Off</CODE> removes the job information as
2512 soon as each job is completed, canceled, or aborted.</P>
2513
2514
2515 <H2 CLASS="title"><A NAME="PreserveJobFiles">PreserveJobFiles</A></H2>
2516
2517 <H3>Examples</H3>
2518
2519 <PRE CLASS="command">
2520 PreserveJobFiles On
2521 PreserveJobFiles Off
2522 </PRE>
2523
2524 <H3>Description</H3>
2525
2526 <P>The <CODE>PreserveJobFiles</CODE> directive controls whether
2527 the document files of completed, canceled, or aborted print jobs
2528 are stored on disk.</P>
2529
2530 <P>A value of <CODE>On</CODE> preserves job files until the
2531 administrator purges them with the <CODE>cancel</CODE> command.
2532 Jobs can be restarted (and reprinted) as desired until they are
2533 purged.</P>
2534
2535 <P>A value of <CODE>Off</CODE> (the default) removes the job
2536 files as soon as each job is completed, canceled, or aborted.</P>
2537
2538
2539 <H2 CLASS="title"><A NAME="Printcap">Printcap</A></H2>
2540
2541 <H3>Examples</H3>
2542
2543 <PRE CLASS="command">
2544 Printcap
2545 Printcap /etc/printcap
2546 Printcap /etc/printers.conf
2547 Printcap /Library/Preferences/org.cups.printers.plist
2548 </PRE>
2549
2550 <H3>Description</H3>
2551
2552 <P>The <CODE>Printcap</CODE> directive controls whether or not a
2553 printcap file is automatically generated and updated with a list
2554 of available printers. If specified with no value, then no
2555 printcap file will be generated. The default is to generate a
2556 file named <VAR>@CUPS_DEFAUL_PRINTCAP@</VAR>.</P>
2557
2558 <P>When a filename is specified (e.g. <VAR>@CUPS_DEFAULT_PRINTCAP@</VAR>),
2559 the printcap file is written whenever a printer is added or
2560 removed. The printcap file can then be used by applications that
2561 are hardcoded to look at the printcap file for the available
2562 printers.</P>
2563
2564
2565 <H2 CLASS="title"><A NAME="PrintcapFormat">PrintcapFormat</A></H2>
2566
2567 <H3>Examples</H3>
2568
2569 <PRE CLASS="command">
2570 PrintcapFormat BSD
2571 PrintcapFormat Solaris
2572 PrintcapFormat plist
2573 </PRE>
2574
2575 <H3>Description</H3>
2576
2577 <P>The <CODE>PrintcapFormat</CODE> directive controls the output format of the
2578 printcap file. The default is to generate the plist format on Mac OS X, the
2579 Solaris format on Solaris, and the BSD format on other operating systems.</P>
2580
2581
2582 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.13</SPAN><A NAME="PrintcapGUI">PrintcapGUI</A></H2>
2583
2584 <H3>Examples</H3>
2585
2586 <PRE CLASS="command">
2587 PrintGUI /usr/bin/glpoptions
2588 </PRE>
2589
2590 <H3>Description</H3>
2591
2592 <P>The <CODE>PrintcapGUI</CODE> directive sets the program to
2593 associate with the IRIX printer GUI interface script which is
2594 used by IRIX applications to display printer-specific options.
2595 There is no default program.</P>
2596
2597
2598 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.21</SPAN><A NAME="ReloadTimeout">ReloadTimeout</A></H2>
2599
2600 <H3>Examples</H3>
2601
2602 <PRE CLASS="command">
2603 ReloadTimeout 0
2604 ReloadTimeout 30
2605 </PRE>
2606
2607 <H3>Description</H3>
2608
2609 <P>The <CODE>ReloadTimeout</CODE> directive specifies the number
2610 of seconds the scheduler will wait for active jobs to complete
2611 before doing a restart. The default is 30 seconds.</P>
2612
2613
2614 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.3</SPAN><A NAME="RemoteRoot">RemoteRoot</A></H2>
2615
2616 <H3>Examples</H3>
2617
2618 <PRE CLASS="command">
2619 RemoteRoot remroot
2620 RemoteRoot root
2621 </PRE>
2622
2623 <H3>Description</H3>
2624
2625 <P>The <CODE>RemoteRoot</CODE> directive sets the username for
2626 unauthenticated root requests from remote hosts. The default
2627 username is <VAR>remroot</VAR>. Setting <CODE>RemoteRoot</CODE>
2628 to <VAR>root</VAR> effectively disables this security
2629 mechanism.</P>
2630
2631
2632 <H2 CLASS="title"><A NAME="RequestRoot">RequestRoot</A></H2>
2633
2634 <H3>Examples</H3>
2635
2636 <PRE CLASS="command">
2637 RequestRoot /var/spool/cups
2638 RequestRoot /foo/bar/spool/cups
2639 </PRE>
2640
2641 <H3>Description</H3>
2642
2643 <P>The <CODE>RequestRoot</CODE> directive sets the directory for
2644 incoming IPP requests and HTML forms. If an absolute path is not
2645 provided then it is assumed to be relative to the <A
2646 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
2647 default request directory is <VAR>@CUPS_REQUESTS@</VAR>.</P>
2648
2649
2650 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="Require">Require</A></H2>
2651
2652 <H3>Examples</H3>
2653
2654 <PRE CLASS="command">
2655 &lt;Location /path&gt;
2656 ...
2657 Require group foo bar
2658 Require user john mary
2659 Require valid-user
2660 Require user @groupname
2661 Require user @SYSTEM
2662 Require user @OWNER
2663 &lt;/Location&gt;
2664 </PRE>
2665
2666 <H3>Description</H3>
2667
2668 <P>The <CODE>Require</CODE> directive specifies that
2669 authentication is required for the resource. The
2670 <CODE>group</CODE> keyword specifies that the authenticated user
2671 must be a member of one or more of the named groups that
2672 follow.</P>
2673
2674 <P>The <CODE>user</CODE> keyword specifies that the
2675 authenticated user must be one of the named users or groups that
2676 follow. Group names are specified using the "@" prefix.</P>
2677
2678 <P>The <CODE>valid-user</CODE> keyword specifies that any
2679 authenticated user may access the resource.</P>
2680
2681 <P>The default is to do no authentication. This directive must
2682 appear inside a <A HREF="#Location"><CODE>Location</CODE></A> or
2683 <A HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
2684
2685
2686 <H2 CLASS="title"><A NAME="RIPCache">RIPCache</A></H2>
2687
2688 <H3>Examples</H3>
2689
2690 <PRE CLASS="command">
2691 RIPCache 8m
2692 RIPCache 1g
2693 RIPCache 2048k
2694 </PRE>
2695
2696 <H3>Description</H3>
2697
2698 <P>The <CODE>RIPCache</CODE> directive sets the size of the
2699 memory cache used by Raster Image Processor ("RIP") filters such
2700 as <CODE>imagetoraster</CODE> and <CODE>pstoraster</CODE>. The
2701 size can be suffixed with a "k" for kilobytes, "m" for megabytes,
2702 or "g" for gigabytes. The default cache size is "8m", or 8
2703 megabytes.</P>
2704
2705
2706 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.16</SPAN><A NAME="RootCertDuration">RootCertDuration</A></H2>
2707
2708 <H3>Examples</H3>
2709
2710 <PRE CLASS="command">
2711 RootCertDuration 0
2712 RootCertDuration 300
2713 </PRE>
2714
2715 <H3>Description</H3>
2716
2717 <P>The <CODE>RootCertDuration</CODE> directive specifies the
2718 number of seconds the <EM>root certificate</EM> remains valid.
2719 The scheduler will generate a new certificate as needed when the
2720 number of seconds has expired. If set to 0, the root certificate
2721 is generated only once on startup or on a restart. The default is
2722 300 seconds.</P>
2723
2724
2725 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="Satisfy">Satisfy</A></H2>
2726
2727 <H3>Examples</H3>
2728
2729 <PRE CLASS="command">
2730 &lt;Location /path&gt;
2731 ...
2732 Satisfy all
2733 Satisfy any
2734 &lt;/Location&gt;
2735 </PRE>
2736
2737 <H3>Description</H3>
2738
2739 <P>The <CODE>Satisfy</CODE> directive specifies whether all
2740 conditions must be satisfied to allow access to the resource. If
2741 set to <CODE>all</CODE>, then all authentication and access
2742 control conditions must be satified to allow access.</P>
2743
2744 <P>Setting <CODE>Satisfy</CODE> to <CODE>any</CODE> allows a user
2745 to gain access if the authentication or access control
2746 requirements are satisfied. For example, you might require
2747 authentication for remote access, but allow local access without
2748 authentication.</P>
2749
2750 <P>The default is <CODE>all</CODE>. This directive must appear
2751 inside a <A HREF="#Location"><CODE>Location</CODE></A> or <A
2752 HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
2753
2754
2755 <H2 CLASS="title"><A NAME="ServerAdmin">ServerAdmin</A></H2>
2756
2757 <H3>Examples</H3>
2758
2759 <PRE CLASS="command">
2760 ServerAdmin user@host
2761 ServerAdmin root@foo.bar.com
2762 </PRE>
2763
2764 <H3>Description</H3>
2765
2766 <P>The <CODE>ServerAdmin</CODE> directive identifies the email
2767 address for the administrator on the system. By default the
2768 administrator email address is <CODE>root@server</CODE>, where
2769 <CODE>server</CODE> is the <A
2770 HREF="#ServerName"><CODE>ServerName</CODE></A>.</P>
2771
2772
2773 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.3.10</SPAN><A NAME="ServerAlias">ServerAlias</A></H2>
2774
2775 <H3>Examples</H3>
2776
2777 <PRE CLASS="command">
2778 ServerAlias althost
2779 ServerAlias althost.foo.com
2780 ServerAlias althost.bar.com
2781 ServerAlias *
2782 </PRE>
2783
2784 <H3>Description</H3>
2785
2786 <P>The <CODE>ServerAlias</CODE> directive specifies alternate names that the
2787 server is known by. By default it contains a list of all aliases associated
2788 with the <A HREF="#ServerName"><CODE>ServerName</CODE></A>. The special name
2789 "*" can be used to allow any hostname when accessing CUPS via an external
2790 network interfaces.</P>
2791
2792 <BLOCKQUOTE><B>Note</B>
2793
2794 <P>The <CODE>ServerAlias</CODE> directive is used for HTTP Host header
2795 validation when clients connect to the scheduler from external interfaces.
2796 Using the special name "*" can expose your system to known browser-based
2797 DNS rebinding attacks, even when accessing sites through a firewall. If the
2798 auto-discovery of alternate names does not work, we recommend listing each
2799 alternate name with a ServerAlias directive instead of using "*".</P>
2800
2801 </BLOCKQUOTE>
2802
2803
2804 <H2 CLASS="title"><A NAME="ServerBin">ServerBin</A></H2>
2805
2806 <H3>Examples</H3>
2807
2808 <PRE CLASS="command">
2809 ServerBin /usr/lib/cups
2810 ServerBin /foo/bar/lib/cups
2811 </PRE>
2812
2813 <H3>Description</H3>
2814
2815 <P>The <CODE>ServerBin</CODE> directive sets the directory for
2816 server-run executables. If an absolute path is not provided then
2817 it is assumed to be relative to the <A
2818 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
2819 default executable directory is <VAR>/usr/lib/cups</VAR>,
2820 <VAR>/usr/lib32/cups</VAR>, or <VAR>/usr/libexec/cups</VAR>
2821 depending on the operating system.</P>
2822
2823
2824 <H2 CLASS="title"><A NAME="ServerCertificate">ServerCertificate</A></H2>
2825
2826 <H3>Examples</H3>
2827
2828 <PRE CLASS="command">
2829 ServerCertificate /etc/cups/ssl/server.crt
2830 </PRE>
2831
2832 <H3>Description</H3>
2833
2834 <P>The <CODE>ServerCertificate</CODE> directive specifies the
2835 location of the SSL certificate file used by the server when
2836 negotiating encrypted connections. The certificate must not be
2837 encrypted (password protected) since the scheduler normally runs
2838 in the background and will be unable to ask for a password.</P>
2839
2840 <P>The default certificate file is
2841 <VAR>/etc/cups/ssl/server.crt</VAR>.</P>
2842
2843
2844 <H2 CLASS="title"><A NAME="ServerKey">ServerKey</A></H2>
2845
2846 <H3>Examples</H3>
2847
2848 <PRE CLASS="command">
2849 ServerKey /etc/cups/ssl/server.key
2850 </PRE>
2851
2852 <H3>Description</H3>
2853
2854 <P>The <CODE>ServerKey</CODE> directive specifies the location of
2855 the SSL private key file used by the server when negotiating
2856 encrypted connections.</P>
2857
2858 <P>The default key file is
2859 <VAR>/etc/cups/ssl/server.crt</VAR>.</P>
2860
2861
2862 <H2 CLASS="title"><A NAME="ServerName">ServerName</A></H2>
2863
2864 <H3>Examples</H3>
2865
2866 <PRE CLASS="command">
2867 ServerName foo.domain.com
2868 ServerName myserver.domain.com
2869 </PRE>
2870
2871 <H3>Description</H3>
2872
2873 <P>The <CODE>ServerName</CODE> directive specifies the hostname
2874 that is reported to clients. By default the server name is the
2875 hostname.</P>
2876
2877
2878 <H2 CLASS="title"><A NAME="ServerRoot">ServerRoot</A></H2>
2879
2880 <H3>Examples</H3>
2881
2882 <PRE CLASS="command">
2883 ServerRoot /etc/cups
2884 ServerRoot /foo/bar/cups
2885 </PRE>
2886
2887 <H3>Description</H3>
2888
2889 <P>The <CODE>ServerRoot</CODE> directive specifies the absolute
2890 path to the server configuration and state files. It is also used
2891 to resolve relative paths in the <VAR>cupsd.conf</VAR> file. The
2892 default server directory is <VAR>/etc/cups</VAR>.</P>
2893
2894
2895 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.21</SPAN><A NAME="ServerTokens">ServerTokens</A></H2>
2896
2897 <H3>Examples</H3>
2898
2899 <PRE CLASS="command">
2900 ServerTokens None
2901 ServerTokens ProductOnly
2902 ServerTokens Major
2903 ServerTokens Minor
2904 ServerTokens Minimal
2905 ServerTokens OS
2906 ServerTokens Full
2907 </PRE>
2908
2909 <H3>Description</H3>
2910
2911 <P>The <CODE>ServerTokens</CODE> directive specifies the
2912 information that is included in the <CODE>Server:</CODE> header
2913 of all HTTP responses. Table 4 lists the token name along with
2914 the text that is returned. The default is
2915 <CODE>Minimal</CODE>.</P>
2916
2917 <DIV CLASS="table"><TABLE SUMMARY="ServerToken Names and Values">
2918 <CAPTION>Table 4: <A NAME="TABLE4">ServerToken Names and Values</A></CAPTION>
2919 <THEAD>
2920 <TR>
2921 <TH>Name</TH>
2922 <TH>Value</TH>
2923 </TR>
2924 </THEAD>
2925 <TBODY>
2926 <TR>
2927 <TD>None</TD>
2928 <TD>No <CODE>Server:</CODE> header is returned</TD>
2929 </TR>
2930 <TR>
2931 <TD>ProductOnly</TD>
2932 <TD>"CUPS"</TD>
2933 </TR>
2934 <TR>
2935 <TD>Major</TD>
2936 <TD>"CUPS 1"</TD>
2937 </TR>
2938 <TR>
2939 <TD>Minor</TD>
2940 <TD>"CUPS 1.2"</TD>
2941 </TR>
2942 <TR>
2943 <TD>Minimal</TD>
2944 <TD>"CUPS 1.2.N" where N is the patch release</TD>
2945 </TR>
2946 <TR>
2947 <TD>OS</TD>
2948 <TD>"CUPS 1.2.N (UNAME)" where N is the patch release and
2949 UNAME is the output of the <B>uname(1)</B> command</TD>
2950 </TR>
2951 <TR>
2952 <TD>Full</TD>
2953 <TD>"CUPS 1.2.N (UNAME) IPP/1.1" where N is the patch
2954 release and UNAME is the output of the <B>uname(1)</B>
2955 command</TD>
2956 </TR>
2957 </TBODY>
2958 </TABLE></DIV>
2959
2960
2961 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="SetEnv">SetEnv</A></H2>
2962
2963 <H3>Examples</H3>
2964
2965 <PRE CLASS="command">
2966 SetEnv PATH /usr/lib/cups/filter:/bin:/usr/bin:/usr/local/bin
2967 SetEnv MY_ENV_VAR foo
2968 </PRE>
2969
2970 <H3>Description</H3>
2971
2972 <P>The <CODE>SetEnv</CODE> directive specifies an environment
2973 variable that should be passed to child processes.</P>
2974
2975
2976 <H2 CLASS="title"><A NAME="SSLListen">SSLListen</A></H2>
2977
2978 <H3>Examples</H3>
2979
2980 <PRE CLASS="command">
2981 SSLListen 127.0.0.1:443
2982 SSLListen 192.0.2.1:443
2983 </PRE>
2984
2985 <H3>Description</H3>
2986
2987 <P>The <CODE>SSLListen</CODE> directive specifies a network
2988 address and port to listen for secure connections. Multiple
2989 <CODE>SSLListen</CODE> directives can be provided to listen on
2990 multiple addresses.</P>
2991
2992 <P>The <CODE>SSLListen</CODE> directive is similar to the <A
2993 HREF="#SSLPort"><CODE>SSLPort</CODE></A> directive but allows you
2994 to restrict access to specific interfaces or networks.</P>
2995
2996
2997 <H2 CLASS="title"><A NAME="SSLOptions">SSLOptions</A></H2>
2998
2999 <H3>Examples</H3>
3000
3001 <PRE CLASS="command">
3002 SSLOptions None
3003 SSLOptions NoEmptyFragments
3004 </PRE>
3005
3006 <H3>Description</H3>
3007
3008 <P>The <CODE>SSLOptions</CODE> directive specifies additional SSL/TLS
3009 protocol options to use for encrypted connected. Currently only two
3010 options are supported - <code>None</code> (the default) for the most
3011 secure mode and <code>NoEmptyFragments</code> to allow CUPS to work with
3012 Microsoft Windows with the FIPS conformance mode enabled.</p>
3013
3014
3015 <H2 CLASS="title"><A NAME="SSLPort">SSLPort</A></H2>
3016
3017 <H3>Examples</H3>
3018
3019 <PRE CLASS="command">
3020 SSLPort 443
3021 </PRE>
3022
3023 <H3>Description</H3>
3024
3025 <P>The <CODE>SSLPort</CODE> directive specifies a port to listen
3026 on for secure connections. Multiple <CODE>SSLPort</CODE> lines
3027 can be specified to listen on multiple ports.</P>
3028
3029
3030 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.5</SPAN><A NAME="SubscriptionPrivateAccess">SubscriptionPrivateAccess</A></H2>
3031
3032 <H3>Examples</H3>
3033
3034 <PRE CLASS="command">
3035 SubscriptionPrivateAccess all
3036 SubscriptionPrivateAccess default
3037 SubscriptionPrivateAccess {user|@group|@ACL|@OWNER|@SYSTEM}+
3038 </PRE>
3039
3040 <H3>Description</H3>
3041
3042 <P>The <CODE>SubscriptionPrivateAccess</CODE> directive specifies the access list for a
3043 subscription's private values. The "default" access list is "@OWNER @SYSTEM".
3044 "@ACL" maps to the printer's requesting-user-name-allowed or
3045 requesting-user-name-denied values.</P>
3046
3047 <P>The <CODE>SubscriptionPrivateAccess</CODE> directive must appear inside a <A
3048 HREF="#Policy"><CODE>Policy</CODE></A> section.</P>
3049
3050
3051 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.5</SPAN><A NAME="SubscriptionPrivateValues">SubscriptionPrivateValues</A></H2>
3052
3053 <H3>Examples</H3>
3054
3055 <PRE CLASS="command">
3056 SubscriptionPrivateValues all
3057 SubscriptionPrivateValues default
3058 SubscriptionPrivateValues none
3059 SubscriptionPrivateValues attribute-name-1 [ ... attribute-name-N ]
3060 </PRE>
3061
3062 <H3>Description</H3>
3063
3064 <P>The <CODE>SubscriptionPrivateValues</CODE> directive specifies the list of
3065 subscription values to make private. The "default" values are "notify-events",
3066 "notify-pull-method", "notify-recipient-uri", "notify-subscriber-user-name", and
3067 "notify-user-data".</P>
3068
3069 <P>The <CODE>SubscriptionPrivateValues</CODE> directive must appear inside a <A
3070 HREF="#Policy"><CODE>Policy</CODE></A> section.</P>
3071
3072
3073 <H2 CLASS="title"><A NAME="SystemGroup">SystemGroup</A></H2>
3074
3075 <H3>Examples</H3>
3076
3077 <PRE CLASS="command">
3078 SystemGroup lpadmin
3079 SystemGroup sys
3080 SystemGroup system
3081 SystemGroup root
3082 SystemGroup root lpadmin
3083 </PRE>
3084
3085 <H3>Description</H3>
3086
3087 <P>The <CODE>SystemGroup</CODE> directive specifies the system
3088 administration group for <CODE>System</CODE> authentication.
3089 Multiple groups can be listed, separated with spaces. The default
3090 group list is <CODE>@CUPS_SYSTEM_GROUPS@</CODE>.</P>
3091
3092
3093 <H2 CLASS="title"><A NAME="TempDir">TempDir</A></H2>
3094
3095 <H3>Examples</H3>
3096
3097 <PRE CLASS="command">
3098 TempDir /var/tmp
3099 TempDir /foo/bar/tmp
3100 </PRE>
3101
3102 <H3>Description</H3>
3103
3104 <P>The <CODE>TempDir</CODE> directive specifies an absolute path
3105 for the directory to use for temporary files. The default
3106 directory is <VAR>@CUPS_REQUESTS@/tmp</VAR>.</P>
3107
3108 <P>Temporary directories must be world-writable and should have
3109 the "sticky" permission bit enabled so that other users cannot
3110 delete filter temporary files. The following commands will create
3111 an appropriate temporary directory called
3112 <VAR>/foo/bar/tmp</VAR>:</P>
3113
3114 <PRE CLASS="command">
3115 <KBD>mkdir /foo/bar/tmp</KBD>
3116 <KBD>chmod a+rwxt /foo/bar/tmp</KBD>
3117 </PRE>
3118
3119
3120 <H2 CLASS="title"><A NAME="Timeout">Timeout</A></H2>
3121
3122 <H3>Examples</H3>
3123
3124 <PRE CLASS="command">
3125 Timeout 300
3126 Timeout 90
3127 </PRE>
3128
3129 <H3>Description</H3>
3130
3131 <P>The <CODE>Timeout</CODE> directive controls the amount of time
3132 to wait before an active HTTP or IPP request times out. The
3133 default timeout is 300 seconds.</P>
3134
3135
3136 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="UseNetworkDefault">UseNetworkDefault</A></H2>
3137
3138 <H3>Examples</H3>
3139
3140 <PRE CLASS="command">
3141 UseNetworkDefault yes
3142 UseNetworkDefault no
3143 </PRE>
3144
3145 <H3>Description</H3>
3146
3147 <P>The <CODE>UseNetworkDefault</CODE> directive controls whether
3148 the client will use a network/remote printer as a default
3149 printer. If enabled, the default printer of a server is used as
3150 the default printer on a client. When multiple servers are
3151 advertising a default printer, the client's default printer is
3152 set to the first discovered printer, or to the implicit class for
3153 the same printer available from multiple servers.</P>
3154
3155 <P>The default is <CODE>@CUPS_USE_NETWORK_DEFAULT@</CODE>.</P>
3156
3157
3158 <H2 CLASS="title"><A NAME="User">User</A></H2>
3159
3160 <H3>Examples</H3>
3161
3162 <PRE CLASS="command">
3163 User lp
3164 User guest
3165 </PRE>
3166
3167 <H3>Description</H3>
3168
3169 <P>The <CODE>User</CODE> directive specifies the UNIX user that
3170 filter and CGI programs run as. The default user is
3171 <CODE>@CUPS_USER@</CODE>.</P>
3172
3173 <BLOCKQUOTE><B>Note:</B>
3174
3175 <P>You may not use user <CODE>root</CODE>, as that would expose
3176 the system to unacceptable security risks. The scheduler will
3177 automatically choose user <CODE>nobody</CODE> if you specify a
3178 user whose ID is 0.</P>
3179
3180 </BLOCKQUOTE>
3181
3182
3183 <H2 CLASS="title"><SPAN CLASS="INFO">CUPS 1.5</SPAN><A NAME="WebInterface">WebInterface</A></H2>
3184
3185 <H3>Examples</H3>
3186
3187 <PRE CLASS="command">
3188 WebInterface yes
3189 WebInterface no
3190 </PRE>
3191
3192 <H3>Description</H3>
3193
3194 <P>The <CODE>WebInterface</CODE> directive specifies whether the web interface is enabled. The default value is <CODE>@CUPS_WEBIF@</CODE>.</P>
3195
3196 </BODY>
3197 </HTML>