2 <!-- SECTION: References -->
4 <TITLE>cupsd.conf
</TITLE>
5 <LINK REL=
"STYLESHEET" TYPE=
"text/css" HREF=
"../cups-printable.css">
9 <H1 CLASS=
"title">cupsd.conf
</H1>
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>
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>
26 /etc/init.d/cups restart
31 sudo launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist
32 sudo launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist
37 <P>You can also edit this file from the CUPS web interface, which
38 automatically handles restarting the scheduler.
</P>
40 <BLOCKQUOTE><B>Note:
</B>
42 <P>The specification of time units (
"w" for weeks,
"h" for hours, etc.) in the various time interval directives is new in CUPS
1.6/OS X
10.8. Prior releases of CUPS only supported time intervals in seconds.
</P>
47 <H2 CLASS=
"title"><A NAME=
"AccessLogLevel">AccessLogLevel
</A></H2>
53 AccessLogLevel actions
60 <P>The
<CODE>AccessLogLevel
</CODE> directive controls which requests are logged
61 to the access log file. The following levels are defined:
</P>
65 <LI><CODE>config
</CODE>; Log when printers and classes are added,
66 deleted, or modified and when configuration files are accessed or
69 <LI><CODE>actions
</CODE>; Log when print jobs are submitted,
70 held, released, modified, or canceled, and any of the conditions
71 for
<CODE>config
</CODE>.
</LI>
73 <LI><CODE>all
</CODE>; Log all requests.
</LI>
75 <LI><CODE>none
</CODE>; Log no requests.
</LI>
79 <P>The default access log level is
<CODE>@CUPS_ACCESS_LOG_LEVEL@
</CODE>.
</P>
82 <H2 CLASS=
"title"><A NAME=
"Allow">Allow
</A></H2>
87 <Location /path
>
91 Allow from *.example.com
92 Allow from .example.com
93 Allow from host.example.com
96 Allow from nnn.nnn.nnn.*
97 Allow from nnn.nnn.nnn.nnn
98 Allow from nnn.nnn.nnn.nnn/mm
99 Allow from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
100 Allow from [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]
101 Allow from [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]/mmm
109 <P>The
<CODE>Allow
</CODE> directive specifies a hostname, IP
110 address, or network that is allowed access to the server.
111 <CODE>Allow
</CODE> directives are cumulative, so multiple
112 <CODE>Allow
</CODE> directives can be used to allow access for
113 multiple hosts or networks.
</P>
115 <P>Host and domain name matching require that you enable the
<A
116 HREF=
"#HostNameLookups"><CODE>HostNameLookups
</CODE></A>
119 <P>The
<CODE>/mm
</CODE> notation specifies a CIDR netmask, as shown in
120 <A HREF=
"#TABLE1">Table
1</A>.
</P>
122 <DIV CLASS=
"table"><TABLE SUMMARY=
"CIDR Netmasks">
123 <CAPTION>Table
1:
<A NAME=
"TABLE1">CIDR Netmasks
</A></CAPTION>
125 <TH WIDTH=
"10%">mm
</TH>
126 <TH WIDTH=
"20%">netmask
</TH>
127 <TH WIDTH=
"10%">mm
</TH>
128 <TH WIDTH=
"20%">netmask
</TH>
131 <TD ALIGN=
"CENTER">0</TD>
132 <TD ALIGN=
"CENTER">0.0.0.0</TD>
133 <TD ALIGN=
"CENTER">8</TD>
134 <TD ALIGN=
"CENTER">255.0.0.0</TD>
137 <TD ALIGN=
"CENTER">1</TD>
138 <TD ALIGN=
"CENTER">128.0.0.0</TD>
139 <TD ALIGN=
"CENTER">16</TD>
140 <TD ALIGN=
"CENTER">255.255.0.0</TD>
143 <TD ALIGN=
"CENTER">2</TD>
144 <TD ALIGN=
"CENTER">192.0.0.0</TD>
145 <TD ALIGN=
"CENTER">24</TD>
146 <TD ALIGN=
"CENTER">255.255.255.0</TD>
149 <TD ALIGN=
"CENTER">...
</TD>
150 <TD ALIGN=
"CENTER">...
</TD>
151 <TD ALIGN=
"CENTER">32</TD>
152 <TD ALIGN=
"CENTER">255.255.255.255</TD>
156 <P>The
<CODE>@LOCAL
</CODE> name will allow access from all local
157 interfaces. The
<CODE>@IF(name)
</CODE> name will allow access
158 from the named interface. In both cases, CUPS only allows access
159 from the network that the interface(s) are configured for -
160 requests arriving on the interface from a foreign network will
161 <em>not
</em> be accepted.
</P>
163 <P>The
<CODE>Allow
</CODE> directive must appear inside a
<A
164 HREF=
"#Location"><CODE>Location
</CODE></A> or
<A
165 HREF=
"#Limit"><CODE>Limit
</CODE></A> section.
</P>
168 <H2 CLASS=
"title"><A NAME=
"AuthType">AuthType
</A></H2>
172 <PRE CLASS=
"command">
173 <Location /path
>
185 <P>The
<CODE>AuthType
</CODE> directive defines the type of
186 authentication to perform:
</P>
190 <LI><CODE>None
</CODE> - No authentication should be
191 performed (default)
</LI>
193 <LI><CODE>Basic
</CODE> - Basic authentication should be
194 performed using the UNIX password and group files
</LI>
196 <LI><CODE>Digest
</CODE> - Digest authentication should be
197 performed using the
<VAR>/etc/cups/passwd.md5
</VAR>
200 <LI><CODE>BasicDigest
</CODE> - Basic authentication
201 should be performed using the
202 <VAR>/etc/cups/passwd.md5
</VAR> file
</LI>
204 <LI><CODE>Negotiate
</CODE> - Kerberos authentication
205 should be performed
</LI>
209 <P>When using
<CODE>Basic
</CODE>,
<CODE>Digest
</CODE>,
210 <CODE>BasicDigest
</CODE>, or
<CODE>Negotiate
</CODE> authentication,
211 clients connecting through the
<CODE>localhost
</CODE> interface can
212 also authenticate using certificates.
</P>
214 <P>The
<CODE>AuthType
</CODE> directive must appear inside a
<A
215 HREF=
"#Location"><CODE>Location
</CODE></A> or
<A
216 HREF=
"#Limit"><CODE>Limit
</CODE></A> section.
</P>
219 <H2 CLASS=
"title"><A NAME=
"AutoPurgeJobs">AutoPurgeJobs
</A></H2>
223 <PRE CLASS=
"command">
230 <P>The
<CODE>AutoPurgeJobs
</CODE> directive specifies whether or
231 not to purge completed jobs once they are no longer required for
232 quotas. This option has no effect if quotas are not enabled. The
233 default setting is
<CODE>No
</CODE>.
</P>
236 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2/OS X
10.5</SPAN><A NAME=
"BrowseLocalProtocols">BrowseLocalProtocols
</A></H2>
240 <PRE CLASS=
"command">
241 BrowseLocalProtocols all
242 BrowseLocalProtocols none
243 BrowseLocalProtocols dnssd
248 <P>The
<CODE>BrowseLocalProtocols
</CODE> directive specifies the protocols to use when advertising local shared printers on the network. Multiple protocols can be specified by separating them with spaces. The default is
"<CODE>dnssd</CODE>" on systems that support Bonjour and
"<CODE>none</CODE>" on all others.
</P>
251 <H2 CLASS=
"title"><A NAME=
"BrowseWebIF">BrowseWebIF
</A></H2>
255 <PRE CLASS=
"command">
262 <P>The
<CODE>BrowseWebIF
</CODE> directive controls whether the CUPS web
263 interface is advertised via DNS-SD. The default setting is
264 <CODE>Off
</CODE>.
</P>
267 <H2 CLASS=
"title"><A NAME=
"Browsing">Browsing
</A></H2>
271 <PRE CLASS=
"command">
278 <P>The
<CODE>Browsing
</CODE> directive controls whether or not printer sharing is enabled. The default setting is
<CODE>On
</CODE>.
</P>
281 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.7</SPAN><A NAME=
"Classification">Classification
</A></H2>
285 <PRE CLASS=
"command">
287 Classification classified
288 Classification confidential
289 Classification secret
290 Classification topsecret
291 Classification unclassified
296 <P>The
<CODE>Classification
</CODE> directive sets the
297 classification level on the server. When this option is set, at
298 least one of the banner pages is forced to the classification
299 level, and the classification is placed on each page of output.
300 The default is no classification level.
</P>
303 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.10</SPAN><A NAME=
"ClassifyOverride">ClassifyOverride
</A></H2>
307 <PRE CLASS=
"command">
314 <P>The
<CODE>ClassifyOverride
</CODE> directive specifies whether
315 users can override the default classification level on the
316 server. When the server classification is set, users can change
317 the classification using the
<CODE>job-sheets
</CODE> option and
318 can choose to only print one security banner before or after the
319 job. If the
<CODE>job-sheets
</CODE> option is set to
320 <CODE>none
</CODE> then the server default classification is
323 <P>The default is to not allow classification overrides.
</P>
326 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2/OS X
10.5</SPAN><A NAME=
"DefaultAuthType">DefaultAuthType
</A></H2>
330 <PRE CLASS=
"command">
331 DefaultAuthType Basic
332 DefaultAuthType BasicDigest
333 DefaultAuthType Digest
334 DefaultAuthType Negotiate
339 <P>The
<CODE>DefaultAuthType
</CODE> directive specifies the type
340 of authentication to use for IPP operations that require a
341 username. The default is
<CODE>Basic
</CODE>.
</P>
344 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2/OS X
10.5</SPAN><A NAME=
"DefaultEncryption">DefaultEncryption
</A></H2>
348 <PRE CLASS=
"command">
349 DefaultEncryption Never
350 DefaultEncryption IfRequested
351 DefaultEncryption Required
356 <P>The
<CODE>DefaultEncryption
</CODE> directive specifies the
357 type of encryption to use when performing authentication. The
358 default is
<CODE>Required
</CODE>.
</P>
361 <H2 CLASS=
"title"><A NAME=
"DefaultLanguage">DefaultLanguage
</A></H2>
365 <PRE CLASS=
"command">
375 <P>The
<CODE>DefaultLanguage
</CODE> directive specifies the
376 default language to use for client connections. Setting the
377 default language also sets the default character set if a
378 language localization file exists for it. The default language
379 is
"en" for English.
</P>
382 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.4/OS X
10.6</SPAN><A NAME=
"DefaultPaperSize">DefaultPaperSize
</A></H2>
386 <PRE CLASS=
"command">
387 DefaultPaperSize Letter
389 DefaultPaperSize Auto
390 DefaultPaperSize None
395 <P>The
<CODE>DefaultPaperSize
</CODE> directive specifies the default paper
396 size to use when creating new printers. The default is
<CODE>Auto
</CODE>
397 which uses a paper size appropriate for the system default locale. A value
398 of
<CODE>None
</CODE> tells the scheduler to not set the default paper
402 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2/OS X
10.5</SPAN><A NAME=
"DefaultPolicy">DefaultPolicy
</A></H2>
406 <PRE CLASS=
"command">
407 DefaultPolicy default
408 DefaultPolicy authenticated
414 <P>The
<CODE>DefaultPolicy
</CODE> directive specifies the default
415 policy to use for IPP operation. The default is
416 <CODE>default
</CODE>. CUPS also includes a policy called
417 <CODE>authenticated
</CODE> that requires a username and password for printing
418 and other job operations.
</P>
421 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2/OS X
10.5</SPAN><A NAME=
"DefaultShared">DefaultShared
</A></H2>
425 <PRE CLASS=
"command">
432 <P>The
<CODE>DefaultShared
</CODE> directive specifies whether printers are shared (published) by default. The default is
<CODE>Yes
</CODE>.
</P>
435 <H2 CLASS=
"title"><A NAME=
"Deny">Deny
</A></H2>
439 <PRE CLASS=
"command">
440 <Location /path
>
444 Deny from *.example.com
445 Deny from .example.com
446 Deny from host.example.com
449 Deny from nnn.nnn.nnn.*
450 Deny from nnn.nnn.nnn.nnn
451 Deny from nnn.nnn.nnn.nnn/mm
452 Deny from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
453 Deny from [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]
454 Deny from [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]/mmm
462 <P>The
<CODE>Deny
</CODE> directive specifies a hostname, IP
463 address, or network that is denied access to the server.
464 <CODE>Deny
</CODE> directives are cumulative, so multiple
465 <CODE>Deny
</CODE> directives can be used to deny access for
466 multiple hosts or networks.
</P>
468 <P>Host and domain name matching require that you enable the
<A
469 HREF=
"#HostNameLookups"><CODE>HostNameLookups
</CODE></A>
472 <P>The
<CODE>/mm
</CODE> notation specifies a CIDR netmask, a shown in
473 <A HREF=
"TABLE1">Table
1</A>.
</P>
475 <P>The
<CODE>@LOCAL
</CODE> name will deny access from all local
476 interfaces. The
<CODE>@IF(name)
</CODE> name will deny access from
477 the named interface. In both cases, CUPS only denies access from
478 the network that the interface(s) are configured for - requests
479 arriving on the interface from a foreign network will
480 <em>not
</em> be denied.
</P>
482 <P>The
<CODE>Deny
</CODE> directive must appear inside a
<A
483 HREF=
"#Location"><CODE>Location
</CODE></A> or
<A
484 HREF=
"#Limit"><CODE>Limit
</CODE></A> section.
</P>
487 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.4/OS X
10.6</SPAN><A NAME=
"DirtyCleanInterval">DirtyCleanInterval
</A></H2>
491 <PRE CLASS=
"command">
492 DirtyCleanInterval
1w
493 DirtyCleanInterval
1d
494 DirtyCleanInterval
1h
495 DirtyCleanInterval
1m
496 DirtyCleanInterval
30
502 <P>The
<CODE>DirtyCleanInterval
</CODE> directive specifies the amount of time to wait before updating configuration and state files for printers, classes, subscriptions, and jobs in seconds (no suffix), minutes (
"m" suffix), hours (
"h" suffix), days (
"d" suffix), or weeks (
"w" suffix). A value of
<CODE>0</CODE> causes the update to occur as soon as possible, typically within a few milliseconds.
</P>
504 <P>The default value is
<CODE>30</CODE> (
30 seconds).
</P>
507 <H2 CLASS=
"title"><A NAME=
"Encryption">Encryption
</A></H2>
511 <PRE CLASS=
"command">
512 <Location /path
>
515 Encryption IfRequested
522 <P>The
<CODE>Encryption
</CODE> directive must appear instead a
<A
523 HREF=
"#Location"><CODE>Location
</CODE></A> or
<A
524 HREF=
"#Limit"><CODE>Limit
</CODE></A> section and specifies the
525 encryption settings for that location. The default setting is
526 <CODE>IfRequested
</CODE> for all locations.
</P>
529 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.3/OS X
10.5</SPAN><A NAME=
"ErrorPolicy">ErrorPolicy
</A></H2>
533 <PRE CLASS=
"command">
534 ErrorPolicy abort-job
535 ErrorPolicy retry-job
536 ErrorPolicy stop-printer
541 <P>The
<CODE>ErrorPolicy
</CODE> directive defines the default policy that
542 is used when a backend is unable to send a print job to the
545 <P>The following values are supported:
</P>
549 <LI><CODE>abort-job
</CODE> - Abort the job and proceed
550 with the next job in the queue
</LI>
552 <LI><CODE>retry-job
</CODE> - Retry the job after waiting
553 for N seconds; the
<VAR>cupsd.conf
</VAR> <A
554 HREF=
"#JobRetryInterval"><CODE>JobRetryInterval
</CODE></A>
555 directive controls the value of N
</LI>
557 <LI><CODE>retry-this-job
</CODE> - Retry the current job immediately
558 and indefinitely.
</LI>
560 <LI><CODE>stop-printer
</CODE> - Stop the printer and keep
561 the job for future printing; this is the default
567 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.3</SPAN><A NAME=
"FilterLimit">FilterLimit
</A></H2>
571 <PRE CLASS=
"command">
579 <P>The
<CODE>FilterLimit
</CODE> directive sets the maximum cost
580 of all running job filters. It can be used to limit the number of
581 filter programs that are run on a server to minimize disk,
582 memory, and CPU resource problems. A limit of
0 disables filter
585 <P>An average print to a non-PostScript printer needs a filter
586 limit of about
200. A PostScript printer needs about half that
587 (
100). Setting the limit below these thresholds will effectively
588 limit the scheduler to printing a single job at any time.
</P>
590 <P>The default limit is
0.
</P>
593 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.16</SPAN><A NAME=
"FilterNice">FilterNice
</A></H2>
597 <PRE CLASS=
"command">
605 <P>The
<CODE>FilterNice
</CODE> directive sets the
<B>nice(
1)
</B>
606 value to assign to filter processes. The nice value ranges from
607 0, the highest priority, to
19, the lowest priority. The default
611 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.6/OS X
10.8</SPAN><A NAME=
"GSSServiceName">GSSServiceName
</A></H2>
615 <PRE CLASS=
"command">
622 <P>The
<CODE>GSSServiceName
</CODE> directive sets the Kerberos service name to use. The default is
<CODE>http
</CODE> for compatibility with Microsoft Windows.
</P>
625 <H2 CLASS=
"title"><A NAME=
"HostNameLookups">HostNameLookups
</A></H2>
629 <PRE CLASS=
"command">
632 HostNameLookups Double
637 <P>The
<CODE>HostNameLookups
</CODE> directive controls whether or
638 not CUPS looks up the hostname for connecting clients. The
639 <CODE>Double
</CODE> setting causes CUPS to verify that the
640 hostname resolved from the address matches one of the addresses
641 returned for that hostname.
<CODE>Double
</CODE> lookups also
642 prevent clients with unregistered addresses from connecting to
645 <P>The default is
<CODE>Off
</CODE> to avoid the potential server
646 performance problems with hostname lookups. Set this option to
647 <CODE>On
</CODE> or
<CODE>Double
</CODE> only if absolutely
651 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.9</SPAN><A NAME=
"Include">Include
</A></H2>
655 <PRE CLASS=
"command">
657 Include /foo/bar/filename
662 <P>The
<CODE>Include
</CODE> directive includes the named file in
663 the
<CODE>cupsd.conf
</CODE> file. If no leading path is provided,
664 the file is assumed to be relative to the
<A
665 HREF=
"ref-cups-files-conf.html#ServerRoot"><CODE>ServerRoot
</CODE></A> directory.
</P>
668 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.5</SPAN><A NAME=
"JobPrivateAccess">JobPrivateAccess
</A></H2>
672 <PRE CLASS=
"command">
674 JobPrivateAccess default
675 JobPrivateAccess {user|@group|@ACL|@OWNER|@SYSTEM}+
680 <P>The
<CODE>JobPrivateAccess
</CODE> directive specifies the access list for a
681 job's private values. The
"default" access list is
"@OWNER @SYSTEM".
"@ACL" maps
682 to the printer's requesting-user-name-allowed or requesting-user-name-denied
685 <P>The
<CODE>JobPrivateAccess
</CODE> directive must appear inside a
<A
686 HREF=
"#Policy"><CODE>Policy
</CODE></A> section.
</P>
689 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.5</SPAN><A NAME=
"JobPrivateValues">JobPrivateValues
</A></H2>
693 <PRE CLASS=
"command">
695 JobPrivateValues default
696 JobPrivateValues none
697 JobPrivateValues attribute-name-
1 [ ... attribute-name-N ]
702 <P>The
<CODE>JobPrivateValues
</CODE> directive specifies the list of job values
703 to make private. The
"default" values are
"job-name",
704 "job-originating-host-name",
"job-originating-user-name", and
"phone".
</P>
706 <P>The
<CODE>JobPrivateValues
</CODE> directive must appear inside a
<A
707 HREF=
"#Policy"><CODE>Policy
</CODE></A> section.
</P>
710 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2/OS X
10.5</SPAN><A NAME=
"JobRetryInterval">JobRetryInterval
</A></H2>
714 <PRE CLASS=
"command">
724 <P>The
<CODE>JobRetryInterval
</CODE> directive specifies the amount of time to wait before retrying a job in seconds (no suffix), minutes (
"m" suffix), hours (
"h" suffix), days (
"d" suffix), or weeks (
"w" suffix). This is typically used for fax queues but can also be used with normal print queues whose error policy is
<CODE>retry-job
</CODE> or
<CODE>retry-current-job
</CODE>.
</P>
726 <P>The default is
<CODE>30</CODE> (
30 seconds).
</P>
729 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.4/OS X
10.6</SPAN><A NAME=
"JobKillDelay">JobKillDelay
</A></H2>
733 <PRE CLASS=
"command">
743 <P>The
<CODE>JobKillDelay
</CODE> directive specifies the amount of time to wait before killing the filters and backend associated with a canceled or held job in seconds (no suffix), minutes (
"m" suffix), hours (
"h" suffix), days (
"d" suffix), or weeks (
"w" suffix).
</P>
745 <P>The default is
<CODE>30</CODE> (
30 seconds).
</P>
748 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2/OS X
10.5</SPAN><A NAME=
"JobRetryLimit">JobRetryLimit
</A></H2>
752 <PRE CLASS=
"command">
759 <P>The
<CODE>JobRetryLimit
</CODE> directive specifies the maximum
760 number of times the scheduler will try to print a job. This is
761 typically used for fax queues but can also be used with normal
762 print queues whose error policy is
<CODE>retry-job
</CODE>. The
763 default is
5 times.
</P>
766 <H2 CLASS=
"title"><A NAME=
"KeepAlive">KeepAlive
</A></H2>
770 <PRE CLASS=
"command">
777 <P>The
<CODE>KeepAlive
</CODE> directive controls whether or not
778 to support persistent HTTP connections. The default is
781 <P>HTTP/
1.1 clients automatically support persistent connections,
782 while HTTP/
1.0 clients must specifically request them using the
783 <CODE>Keep-Alive
</CODE> attribute in the
<CODE>Connection:
</CODE>
784 field of each request.
</P>
787 <H2 CLASS=
"title"><A NAME=
"KeepAliveTimeout">KeepAliveTimeout
</A></H2>
791 <PRE CLASS=
"command">
801 <P>The
<CODE>KeepAliveTimeout
</CODE> directive controls how long a persistent HTTP connection will remain open after the last request in seconds (no suffix), minutes (
"m" suffix), hours (
"h" suffix), days (
"d" suffix), or weeks (
"w" suffix).
</P>
803 <P>The default is
<CODE>30</CODE> (
30 seconds).
</P>
806 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.7</SPAN><A NAME=
"Limit">Limit (Location)
</A></H2>
810 <PRE CLASS=
"command">
811 <Location /path
>
812 <Limit GET POST
>
824 <P>The
<CODE>Limit
</CODE> directive groups access control
825 directives for specific types of HTTP requests and must appear
826 inside a
<A HREF=
"#Location"><CODE>Location
</CODE></A> section.
827 Access can be limited for individual request types
828 (
<CODE>DELETE
</CODE>,
<CODE>GET
</CODE>,
<CODE>HEAD
</CODE>,
829 <CODE>OPTIONS
</CODE>,
<CODE>POST
</CODE>,
<CODE>PUT
</CODE>, and
830 <CODE>TRACE
</CODE>) or for all request types (
<CODE>ALL
</CODE>).
831 The request type names are case-sensitive for compatibility with
835 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2/OS X
10.5</SPAN><A NAME=
"LimitIPP">Limit (Policy)
</A></H2>
839 <PRE CLASS=
"command">
841 <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer
>
853 <P>When included in
<A HREF=
"#Policy"><CODE>Policy
</CODE></A>
854 sections, the
<CODE>Limit
</CODE> directive groups access control
855 directives for specific IPP operations. Multiple operations can
856 be listed, separated by spaces. Table
2 lists the supported
859 <DIV CLASS=
"table"><TABLE SUMMARY=
"Supported IPP Operations">
860 <CAPTION>Table
2:
<A NAME=
"TABLE2">Supported IPP Operations
</A></CAPTION>
863 <TH>Operation Name
</TH>
870 <TD>All operations - used as the default limit for
871 operations that are not listed
</TD>
875 <TD>Cancel a job
</TD>
878 <TD>Cancel-Subscription
</TD>
879 <TD>Cancel a subscription
</TD>
883 <TD>Create a new, empty job
</TD>
886 <TD>Create-Job-Subscription
</TD>
887 <TD>Creates a notification subscription on a job
</TD>
890 <TD>Create-Printer-Subscription
</TD>
891 <TD>Creates a notification subscription on a printer
</TD>
894 <TD>CUPS-Accept-Jobs
</TD>
895 <TD>Sets the printer-is-accepting-jobs value for a printer to true
</TD>
898 <TD>CUPS-Add-Modify-Class
</TD>
899 <TD>Adds or modifies a class
</TD>
902 <TD>CUPS-Add-Modify-Printer
</TD>
903 <TD>Adds or modifies a printer
</TD>
906 <TD>CUPS-Authenticate-Job
</TD>
907 <TD>Authenticates a job for printing
</TD>
910 <TD>CUPS-Delete-Class
</TD>
911 <TD>Deletes a class
</TD>
914 <TD>CUPS-Delete-Printer
</TD>
915 <TD>Deletes a printer
</TD>
918 <TD>CUPS-Get-Classes
</TD>
919 <TD>Gets a list of classes
</TD>
922 <TD>CUPS-Get-Default
</TD>
923 <TD>Gets the (network/server) default printer or class
</TD>
926 <TD>CUPS-Get-Devices
</TD>
927 <TD>Gets a list of available devices
</TD>
930 <TD>CUPS-Get-PPDs
</TD>
931 <TD>Gets a list of available manufacturers or drivers
</TD>
934 <TD>CUPS-Get-Printers
</TD>
935 <TD>Gets a list of printers and/or classes
</TD>
938 <TD>CUPS-Move-Job
</TD>
939 <TD>Moves a job to a new destination
</TD>
942 <TD>CUPS-Reject-Jobs
</TD>
943 <TD>Sets the printer-is-accepting-jobs value for a printer to false
</TD>
946 <TD>CUPS-Set-Default
</TD>
947 <TD>Sets the network/server default printer or class
</TD>
950 <TD>Disable-Printer
</TD>
951 <TD>Sets the printer-state value for a printer to stopped
</TD>
954 <TD>Enable-Printer
</TD>
955 <TD>Sets the printer-state value for a printer to idle/processing
</TD>
958 <TD>Get-Job-Attributes
</TD>
959 <TD>Gets information about a job
</TD>
963 <TD>Gets a list of jobs
</TD>
966 <TD>Get-Notifications
</TD>
967 <TD>Gets a list of events
</TD>
970 <TD>Get-Printer-Attributes
</TD>
971 <TD>Gets information about a printer or class
</TD>
974 <TD>Get-Subscription-Attributes
</TD>
975 <TD>Gets information about a notification subscription
</TD>
978 <TD>Get-Subscriptions
</TD>
979 <TD>Gets a list of notification subscriptions
</TD>
983 <TD>Holds a job for printing
</TD>
986 <TD>Pause-Printer
</TD>
987 <TD>Sets the printer-state value for a printer to stopped
</TD>
991 <TD>Creates a job with a single file for printing
</TD>
995 <TD>Removes all jobs from a printer
</TD>
999 <TD>Releases a previously held job for printing
</TD>
1002 <TD>Renew-Subscription
</TD>
1003 <TD>Renews a notification subscription
</TD>
1006 <TD>Restart-Job
</TD>
1007 <TD>Reprints a job
</TD>
1010 <TD>Resume-Printer
</TD>
1011 <TD>Sets the printer-state value for a printer to idle/processing
</TD>
1014 <TD>Send-Document
</TD>
1015 <TD>Adds a file to an job created with Create-Job
</TD>
1018 <TD>Set-Job-Attributes
</TD>
1019 <TD>Changes job options
</TD>
1022 <TD>Validate-Job
</TD>
1023 <TD>Validates job options prior to printing
</TD>
1029 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.7</SPAN><A NAME=
"LimitExcept">LimitExcept
</A></H2>
1033 <PRE CLASS=
"command">
1034 <Location /path
>
1035 <LimitExcept GET POST
>
1037 </LimitExcept
>
1041 <H3>Description
</H3>
1043 <P>The
<CODE>LimitExcept
</CODE> directive groups access control
1044 directives for specific types of HTTP requests and must appear
1045 inside a
<A HREF=
"#Location"><CODE>Location
</CODE></A> section.
1046 Unlike the
<A HREF=
"#Limit"><CODE>Limit
</CODE></A> directive,
1047 <CODE>LimitExcept
</CODE> restricts access for all requests
1048 <I>except
</I> those listed on the
<CODE>LimitExcept
</CODE>
1052 <H2 CLASS=
"title"><A NAME=
"LimitRequestBody">LimitRequestBody
</A></H2>
1056 <PRE CLASS=
"command">
1057 LimitRequestBody
10485760
1058 LimitRequestBody
10m
1062 <H3>Description
</H3>
1064 <P>The
<CODE>LimitRequestBody
</CODE> directive controls the
1065 maximum size of print files, IPP requests, and HTML form data in
1066 HTTP POST requests. The default limit is
0 which disables the
1070 <H2 CLASS=
"title"><A NAME=
"Listen">Listen
</A></H2>
1074 <PRE CLASS=
"command">
1075 Listen
127.0.0.1:
631
1076 Listen
192.0.2.1:
631
1081 <H3>Description
</H3>
1083 <P>The
<CODE>Listen
</CODE> directive specifies a network address
1084 and port to listen for connections. Multiple
<CODE>Listen
</CODE>
1085 directives can be provided to listen on multiple addresses.
</P>
1087 <P>The
<CODE>Listen
</CODE> directive is similar to the
<A
1088 HREF=
"#Port"><CODE>Port
</CODE></A> directive but allows you to
1089 restrict access to specific interfaces or networks.
</P>
1092 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.7</SPAN><A NAME=
"ListenBackLog">ListenBackLog
</A></H2>
1096 <PRE CLASS=
"command">
1101 <H3>Description
</H3>
1103 <P>The
<CODE>ListenBackLog
</CODE> directive sets the maximum
1104 number of pending connections the scheduler will allow. This
1105 normally only affects very busy servers that have reached the
<A
1106 HREF=
"#MaxClients"><CODE>MaxClients
</CODE></A> limit, but can
1107 also be triggered by large numbers of simultaneous connections.
1108 When the limit is reached, the operating system will refuse
1109 additional connections until the scheduler can accept the pending
1110 ones. The default is the OS-defined default limit, typically
1111 either
5 for older operating systems or
128 for newer operating
1115 <H2 CLASS=
"title"><A NAME=
"Location">Location
</A></H2>
1119 <PRE CLASS=
"command">
1124 <Location /admin
>
1128 <Location /admin/conf
>
1132 <Location /admin/log
>
1136 <Location /classes
>
1140 <Location /classes/name
>
1144 <Location /jobs
>
1148 <Location /printers
>
1152 <Location /printers/name
>
1158 <H3>Description
</H3>
1160 <P>The
<CODE>Location
</CODE> directive specifies access control
1161 and authentication options for the specified HTTP resource or
1162 path. The
<A HREF=
"#Allow"><CODE>Allow
</CODE></A>,
<A
1163 HREF=
"#AuthType"><CODE>AuthType
</CODE></A>,
<A
1164 HREF=
"#Deny"><CODE>Deny
</CODE></A>,
<A
1165 HREF=
"#Encryption"><CODE>Encryption
</CODE></A>,
<A
1166 HREF=
"#Limit"><CODE>Limit
</CODE></A>,
<A
1167 HREF=
"#LimitExcept"><CODE>LimitExcept
</CODE></A>,
<A
1168 HREF=
"#Order"><CODE>Order
</CODE></A>,
<A
1169 HREF=
"#Require"><CODE>Require
</CODE></A>, and
<A
1170 HREF=
"#Satisfy"><CODE>Satisfy
</CODE></A> directives may all
1171 appear inside a location.
</P>
1173 <P>Note that more specific resources override the less specific
1174 ones. So the directives inside the
<CODE>/printers/name
</CODE>
1175 location will override ones from
<CODE>/printers
</CODE>.
1176 Directives inside
<CODE>/printers
</CODE> will override ones from
1177 <CODE>/
</CODE>. None of the directives are inherited.
</P>
1179 <DIV CLASS=
"table"><TABLE SUMMARY=
"Common Locations on the Server">
1180 <CAPTION>Table
3:
<A NAME=
"TABLE3">Common Locations on the Server
</A></CAPTION>
1182 <TR><TH>Location
</TH><TH>Description
</TH></TR>
1185 <TR><TD><CODE>/
</CODE></TD><TD>The path for all get operations (get-printers, get-jobs, etc.)
</TD></TR>
1186 <TR><TD><CODE>/admin
</CODE></TD><TD>The path for all administration operations (add-printer, delete-printer, start-printer, etc.)
</TD></TR>
1187 <TR><TD><CODE>/admin/conf
</CODE></TD><TD>The path for access to the CUPS configuration files (cupsd.conf, client.conf, etc.)
</TD></TR>
1188 <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>
1189 <TR><TD><CODE>/classes
</CODE></TD><TD>The path for all classes
</TD></TR>
1190 <TR><TD><CODE>/classes/name
</CODE></TD><TD>The resource for class
<CODE>name
</CODE></TD></TR>
1191 <TR><TD><CODE>/jobs
</CODE></TD><TD>The path for all jobs (hold-job, release-job, etc.)
</TD></TR>
1192 <TR><TD><CODE>/jobs/id
</CODE></TD><TD>The resource for job
<CODE>id
</CODE></TD></TR>
1193 <TR><TD><CODE>/printers
</CODE></TD><TD>The path for all printers
</TD></TR>
1194 <TR><TD><CODE>/printers/name
</CODE></TD><TD>The path for printer
<CODE>name
</CODE></TD></TR>
1195 <TR><TD><CODE>/printers/name.ppd
</CODE></TD><TD>The PPD file path for printer
<CODE>name
</CODE></TD></TR>
1200 <H2 CLASS=
"title"><A NAME=
"LogDebugHistory">LogDebugHistory
</A></H2>
1204 <PRE CLASS=
"command">
1209 <H3>Description
</H3>
1211 <P>When
<A HREF=
"#LogLevel"><CODE>LogLevel
</CODE></A> is not set to
1212 <CODE>debug
</CODE> or
<CODE>debug2
</CODE>, the
<CODE>LogDebugHistory
</CODE>
1213 directive specifies the number of debugging messages that are logged when an
1214 error occurs during printing. The default is
200 messages. A value of
0
1215 disables debugging history entirely and is not recommended.
</P>
1218 <H2 CLASS=
"title"><A NAME=
"LogLevel">LogLevel
</A></H2>
1222 <PRE CLASS=
"command">
1235 <H3>Description
</H3>
1237 <P>The
<CODE>LogLevel
</CODE> directive specifies the level of
1238 logging for the
<A HREF=
"ref-cups-files-conf.html#ErrorLog"><CODE>ErrorLog
</CODE></A>
1239 file. The following values are recognized (each level logs
1240 everything under the preceding levels):
</P>
1244 <LI><CODE>none
</CODE> - Log nothing
</LI>
1246 <LI><CODE>emerg
</CODE> - Log emergency conditions that
1247 prevent the server from running
</LI>
1249 <LI><CODE>alert
</CODE> - Log alerts that must be handled
1252 <LI><CODE>crit
</CODE> - Log critical errors that don't
1253 prevent the server from running
</LI>
1255 <LI><CODE>error
</CODE> - Log general errors
</LI>
1257 <LI><CODE>warn
</CODE> - Log errors and warnings
</LI>
1259 <LI><CODE>notice
</CODE> - Log temporary error conditions
</LI>
1261 <LI><CODE>info
</CODE> - Log all requests and state
1264 <LI><CODE>debug
</CODE> - Log basic debugging
1267 <LI><CODE>debug2
</CODE> - Log all debugging
1272 <p>The default
<code>LogLevel
</code> is
<code>@CUPS_LOG_LEVEL@
</code>.
</p>
1275 <H2 CLASS=
"title"><A NAME=
"LogTimeFormat">LogTimeFormat
</A></H2>
1279 <PRE CLASS=
"command">
1280 LogTimeFormat standard
1284 <H3>Description
</H3>
1286 <P>The
<CODE>LogTimeFormat
</CODE> directive specifies the format used for the
1287 date and time in the log files.
<CODE>Standard
</CODE> uses the standard Apache
1288 Common Log Format date and time while
<CODE>usecs
</CODE> adds microseconds.
1289 The default is
<CODE>standard
</CODE>.
</P>
1292 <H2 CLASS=
"title"><A NAME=
"MaxClients">MaxClients
</A></H2>
1296 <PRE CLASS=
"command">
1301 <H3>Description
</H3>
1303 <P>The
<CODE>MaxClients
</CODE> directive controls the maximum
1304 number of simultaneous clients that will be allowed by the
1305 server. The default is
100 clients.
</P>
1307 <BLOCKQUOTE><B>Note:
</B>
1309 <P>Since each print job requires a file descriptor for the status
1310 pipe, the scheduler internally limits the
<CODE>MaxClients
</CODE>
1311 value to
1/
3 of the available file descriptors to avoid possible
1312 problems when printing large numbers of jobs.
</P>
1317 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.18</SPAN><A NAME=
"MaxClientsPerHost">MaxClientsPerHost
</A></H2>
1321 <PRE CLASS=
"command">
1322 MaxClientsPerHost
10
1325 <H3>Description
</H3>
1327 <P>The
<CODE>MaxClientsPerHost
</CODE> directive controls the
1328 maximum number of simultaneous clients that will be allowed from
1329 a single host by the server. The default is the
1330 <CODE>MaxClients
</CODE> value.
</P>
1332 <P>This directive provides a small measure of protection against
1333 Denial of Service attacks from a single host.
</P>
1336 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.16</SPAN><A NAME=
"MaxCopies">MaxCopies
</A></H2>
1340 <PRE CLASS=
"command">
1345 <H3>Description
</H3>
1347 <P>The
<CODE>MaxCopies
</CODE> directive controls the maximum
1348 number of copies that a user can print of a job. The default is
1349 @CUPS_MAX_COPIES@ copies.
</P>
1351 <BLOCKQUOTE><B>Note:
</B>
1353 <P>Most HP PCL laser printers internally limit the number of
1359 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.6/OS X
10.8</SPAN><A NAME=
"MaxHoldTime">MaxHoldTime
</A></H2>
1363 <PRE CLASS=
"command">
1370 <H3>Description
</H3>
1372 <P>The
<CODE>MaxHoldTime
</CODE> directive controls the maximum number of seconds allowed for a job to remain in the
"indefinite" hold state. The job is canceled automatically if it remains held indefinitely longer than the specified time interval in seconds (no suffix), minutes (
"m" suffix), hours (
"h" suffix), days (
"d" suffix), or weeks (
"w" suffix).
</P>
1374 <p>The default setting is
<CODE>0</CODE> which disables this functionality.
</P>
1377 <H2 CLASS=
"title"><A NAME=
"MaxJobs">MaxJobs
</A></H2>
1381 <PRE CLASS=
"command">
1387 <H3>Description
</H3>
1389 <P>The
<CODE>MaxJobs
</CODE> directive controls the maximum number
1390 of jobs that are kept in memory. Once the number of jobs reaches
1391 the limit, the oldest completed job is automatically purged from
1392 the system to make room for the new one. If all of the known jobs
1393 are still pending or active then the new job will be
1396 <P>Setting the maximum size to
0 disables this functionality. The
1397 default setting is
500.
</P>
1400 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.7</SPAN><A NAME=
"MaxJobsPerPrinter">MaxJobsPerPrinter
</A></H2>
1404 <PRE CLASS=
"command">
1405 MaxJobsPerPrinter
100
1406 MaxJobsPerPrinter
9999
1410 <H3>Description
</H3>
1412 <P>The
<CODE>MaxJobsPerPrinter
</CODE> directive controls the
1413 maximum number of active jobs that are allowed for each printer
1414 or class. Once a printer or class reaches the limit, new jobs
1415 will be rejected until one of the active jobs is completed,
1416 stopped, aborted, or canceled.
</P>
1418 <P>Setting the maximum to
0 disables this functionality. The
1419 default setting is
0.
</P>
1422 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.7</SPAN><A NAME=
"MaxJobsPerUser">MaxJobsPerUser
</A></H2>
1426 <PRE CLASS=
"command">
1432 <H3>Description
</H3>
1434 <P>The
<CODE>MaxJobsPerUser
</CODE> directive controls the maximum
1435 number of active jobs that are allowed for each user. Once a user
1436 reaches the limit, new jobs will be rejected until one of the
1437 active jobs is completed, stopped, aborted, or canceled.
</P>
1439 <P>Setting the maximum to
0 disables this functionality. The
1440 default setting is
0.
</P>
1443 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.6/OS X
10.8</SPAN><A NAME=
"MaxJobTime">MaxJobTime
</A></H2>
1447 <PRE CLASS=
"command">
1454 <H3>Description
</H3>
1456 <P>The
<CODE>MaxJobTime
</CODE> directive controls the maximum number of
1457 seconds allowed for a job to complete printing before it is considered
"stuck".
1458 The job is canceled automatically if it takes longer than the specified time to complete in seconds (no suffix), minutes (
"m" suffix), hours (
"h" suffix), days (
"d" suffix), or weeks (
"w" suffix).
</P>
1460 <p>Setting the maximum time to
<CODE>0</CODE> disables this functionality. The default setting is
<CODE>3h
</CODE> (
3 hours).
</P>
1463 <H2 CLASS=
"title"><A NAME=
"MaxLogSize">MaxLogSize
</A></H2>
1467 <PRE CLASS=
"command">
1473 <H3>Description
</H3>
1475 <P>The
<CODE>MaxLogSize
</CODE> directive controls the maximum
1476 size of each log file. Once a log file reaches or exceeds the
1477 maximum size it is closed and renamed to
<VAR>filename.O
</VAR>.
1478 This allows you to rotate the logs automatically. The default
1479 size is
1048576 bytes (
1MB).
</P>
1481 <P>Setting the maximum size to
0 disables log rotation.
</P>
1484 <H2 CLASS=
"title"><SPAN CLASS=
"info">Deprecated
</SPAN><A NAME=
"MaxRequestSize">MaxRequestSize
</A></H2>
1488 <PRE CLASS=
"command">
1489 MaxRequestSize
10485760
1494 <H3>Description
</H3>
1496 <P>The
<CODE>MaxRequestSize
</CODE> directive controls the maximum
1497 size of print files, IPP requests, and HTML form data in HTTP
1498 POST requests. The default limit is
0 which disables the limit
1501 <P><B>This directive is deprecated and will be removed in a
1502 future CUPS release.
</B> Use the
<A
1503 HREF=
"#LimitRequestBody"><CODE>LimitRequestBody
</CODE></A>
1504 directive instead.
</P>
1507 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.4/OS X
10.6</SPAN><A NAME=
"MultipleOperationTimeout">MultipleOperationTimeout
</A></H2>
1511 <PRE CLASS=
"command">
1512 MultipleOperationTimeout
1w
1513 MultipleOperationTimeout
1d
1514 MultipleOperationTimeout
1h
1515 MultipleOperationTimeout
5m
1516 MultipleOperationTimeout
300
1519 <H3>Description
</H3>
1521 <P>The
<CODE>MultipleOperationTimeout
</CODE> directive sets the maximum amount of time between files in a multi-file print job in seconds (no suffix), minutes (
"m" suffix), hours (
"h" suffix), days (
"d" suffix), or weeks (
"w" suffix).
</P>
1523 <P>The default is
<CODE>5m
</CODE> (five minutes).
</P>
1526 <H2 CLASS=
"title"><A NAME=
"Order">Order
</A></H2>
1530 <PRE CLASS=
"command">
1531 <Location /path
>
1538 <H3>Description
</H3>
1540 <P>The
<CODE>Order
</CODE> directive defines the default access
1541 control. The following values are supported:
</P>
1545 <LI><CODE>allow,deny
</CODE> - Deny requests by default,
1546 then check the
<A HREF=
"#Allow"><CODE>Allow
</CODE></A>
1547 lines followed by the
<A
1548 HREF=
"#Deny"><CODE>Deny
</CODE></A> lines
</LI>
1550 <LI><CODE>deny,allow
</CODE> - Allow requests by default,
1551 then check the
<A HREF=
"#Deny"><CODE>Deny
</CODE></A>
1552 lines followed by the
<A
1553 HREF=
"#Allow"><CODE>Allow
</CODE></A> lines
</LI>
1557 <P>The
<CODE>Order
</CODE> directive must appear inside a
<A
1558 HREF=
"#Location"><CODE>Location
</CODE></A> or
<A
1559 HREF=
"#Limit"><CODE>Limit
</CODE></A> section.
</P>
1562 <H2 CLASS=
"title"><A NAME=
"PageLogFormat">PageLogFormat
</A></H2>
1566 <PRE CLASS=
"command">
1567 PageLogFormat %p %u %j %T %P %C %{job-billing} %{job-originating-host-name} %{job-name} %{media} %{sides}
1568 PageLogFormat PAGE %p %u %j %P %C %{job-billing} %{job-originating-host-name}
1571 <H3>Description
</H3>
1573 <P>The
<CODE>PageLogFormat
</CODE> directive sets the format of lines
1574 that are logged to the page log file. Sequences beginning with percent (%)
1575 characters are replaced with the corresponding information, while all other
1576 characters are copied literally. The following percent sequences are
1581 <LI><CODE>%%
</CODE>: Inserts a single percent character.
</LI>
1583 <LI><CODE>%{name}
</CODE>: Inserts the value of the specified IPP
1586 <LI><CODE>%C
</CODE>: Inserts the number of copies for the current page.
</LI>
1588 <LI><CODE>%P
</CODE>: Inserts the current page number.
</LI>
1590 <LI><CODE>%T
</CODE>: Inserts the current date and time in common log
1593 <LI><CODE>%j
</CODE>: Inserts the job ID.
</LI>
1595 <LI><CODE>%p
</CODE>: Inserts the printer name.
</LI>
1597 <LI><CODE>%u
</CODE>: Inserts the username.
</LI>
1601 <P>The default is
"%p %u %j %T %P %C %{job-billing} %{job-originating-host-name} %{job-name} %{media} %{sides}".
</P>
1604 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2/OS X
10.5</SPAN><A NAME=
"PassEnv">PassEnv
</A></H2>
1608 <PRE CLASS=
"command">
1609 PassEnv MY_ENV_VARIABLE
1612 <H3>Description
</H3>
1614 <P>The
<CODE>PassEnv
</CODE> directive specifies an environment
1615 variable that should be passed to child processes. Normally, the
1616 scheduler only passes the
<CODE>DYLD_LIBRARY_PATH
</CODE>,
1617 <CODE>LD_ASSUME_KERNEL
</CODE>,
<CODE>LD_LIBRARY_PATH
</CODE>,
1618 <CODE>LD_PRELOAD
</CODE>,
<CODE>NLSPATH
</CODE>,
1619 <CODE>SHLIB_PATH
</CODE>,
<CODE>TZ
</CODE>, and
<CODE>VGARGS
</CODE>
1620 environment variables to child processes.
</P>
1623 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2/OS X
10.5</SPAN><A NAME=
"Policy">Policy
</A></H2>
1627 <PRE CLASS=
"command">
1629 <Limit operation ... operation
>
1632 <Limit operation ... operation
>
1641 <H3>Description
</H3>
1643 <P>The
<CODE>Policy
</CODE> directive specifies IPP operation
1644 access control limits. Each policy contains
1 or more
<A
1645 HREF=
"#LimitIPP"><CODE>Limit
</CODE></A> sections to set the
1646 access control limits for specific operations - user limits,
1647 authentication, encryption, and allowed/denied addresses,
1648 domains, or hosts. The
<CODE><Limit All
></CODE> section
1649 specifies the default access control limits for operations that
1652 <P>Policies are named and associated with printers via the
1653 printer's operation policy setting
1654 (
<CODE>printer-op-policy
</CODE>). The default policy for the
1655 scheduler is specified using the
<A
1656 HREF=
"#DefaultPolicy"><CODE>DefaultPolicy
</CODE></A>
1660 <H2 CLASS=
"title"><A NAME=
"Port">Port
</A></H2>
1664 <PRE CLASS=
"command">
1669 <H3>Description
</H3>
1671 <P>The
<CODE>Port
</CODE> directive specifies a port to listen on.
1672 Multiple
<CODE>Port
</CODE> lines can be specified to listen on
1673 multiple ports. The
<CODE>Port
</CODE> directive is equivalent to
1674 "<CODE>Listen *:nnn</CODE>". The default port is
631.
</P>
1676 <BLOCKQUOTE><B>Note:
</B>
1678 <P>On systems that support IPv6, this directive will bind to both
1679 the IPv4 and IPv6 wildcard address.
</P>
1684 <H2 CLASS=
"title"><A NAME=
"PreserveJobHistory">PreserveJobHistory
</A></H2>
1688 <PRE CLASS=
"command">
1689 PreserveJobHistory On
1690 PreserveJobHistory Off
1691 PreserveJobHistory
1w
1692 PreserveJobHistory
7d
1693 PreserveJobHistory
168h
1694 PreserveJobHistory
10080m
1695 PreserveJobHistory
604800
1698 <H3>Description
</H3>
1700 <P>The
<CODE>PreserveJobHistory
</CODE> directive controls whether the history of completed, canceled, or aborted print jobs is retained by the scheduler. A value of
<CODE>On
</CODE> preserves job information until the administrator purges it with the
<CODE>cancel
</CODE> command. A value of
<CODE>Off
</CODE> removes the job information as soon as each job is completed, canceled, or aborted. Numeric values preserve job information for the specified number of seconds (no suffix), minutes (
"m" suffix), hours (
"h" suffix), days (
"d" suffix), or weeks (
"w" suffix).
</P>
1702 <P>The default value is
<CODE>On
</CODE>.
</P>
1704 <BLOCKQUOTE><B>Note:
</B>
1706 <P>The
<A HREF=
"#MaxJobs"><CODE>MaxJobs
</CODE></A>,
<A HREF=
"#MaxJobsPerPrinter"><CODE>MaxJobsPerPrinter
</CODE></A>, and
<A HREF=
"#MaxJobsPerUser"><CODE>MaxJobsPerUser
</CODE></A> directives can cause job history to be discarded to make room for new jobs.
</P>
1711 <H2 CLASS=
"title"><A NAME=
"PreserveJobFiles">PreserveJobFiles
</A></H2>
1715 <PRE CLASS=
"command">
1717 PreserveJobFiles Off
1720 PreserveJobFiles
168h
1721 PreserveJobFiles
10080m
1722 PreserveJobFiles
604800
1725 <H3>Description
</H3>
1727 <P>The
<CODE>PreserveJobFiles
</CODE> directive controls whether the document files of completed, canceled, or aborted print jobs are retained. Jobs can be restarted (and reprinted) as desired until they are purged.
</P>
1729 <P>A value of
<CODE>On
</CODE> preserves job files until the administrator purges them with the
<CODE>cancel
</CODE> command. A value of
<CODE>Off
</CODE> removes the job files as soon as each job is completed, canceled, or aborted. Numeric values preserve job files for the specified number of seconds (no suffix), minutes (
"m" suffix), hours (
"h" suffix), days (
"d" suffix), or weeks (
"w" suffix).
</P>
1731 <P>The default value is
<CODE>1d
</CODE> (one day).
</P>
1733 <BLOCKQUOTE><B>Note:
</B>
1735 <P>The
<A HREF=
"#MaxJobs"><CODE>MaxJobs
</CODE></A>,
<A HREF=
"#MaxJobsPerPrinter"><CODE>MaxJobsPerPrinter
</CODE></A>,
<A HREF=
"#MaxJobsPerUser"><CODE>MaxJobsPerUser
</CODE></A>, and
<A HREF=
"#PreserveJobHistory"><CODE>PreserveJobHistory
</CODE></A> directives can cause job files to be discarded sooner than specified.
</P>
1740 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.21</SPAN><A NAME=
"ReloadTimeout">ReloadTimeout
</A></H2>
1744 <PRE CLASS=
"command">
1749 <H3>Description
</H3>
1751 <P>The
<CODE>ReloadTimeout
</CODE> directive specifies the number
1752 of seconds the scheduler will wait for active jobs to complete
1753 before doing a restart. The default is
30 seconds.
</P>
1756 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.7</SPAN><A NAME=
"Require">Require
</A></H2>
1760 <PRE CLASS=
"command">
1761 <Location /path
>
1763 Require group foo bar
1764 Require user john mary
1766 Require user @groupname
1767 Require user @SYSTEM
1772 <H3>Description
</H3>
1774 <P>The
<CODE>Require
</CODE> directive specifies that
1775 authentication is required for the resource. The
1776 <CODE>group
</CODE> keyword specifies that the authenticated user
1777 must be a member of one or more of the named groups that
1780 <P>The
<CODE>user
</CODE> keyword specifies that the
1781 authenticated user must be one of the named users or groups that
1782 follow. Group names are specified using the
"@" prefix.
</P>
1784 <P>The
<CODE>valid-user
</CODE> keyword specifies that any
1785 authenticated user may access the resource.
</P>
1787 <P>The default is to do no authentication. This directive must
1788 appear inside a
<A HREF=
"#Location"><CODE>Location
</CODE></A> or
1789 <A HREF=
"#Limit"><CODE>Limit
</CODE></A> section.
</P>
1792 <H2 CLASS=
"title"><A NAME=
"RIPCache">RIPCache
</A></H2>
1796 <PRE CLASS=
"command">
1802 <H3>Description
</H3>
1804 <P>The
<CODE>RIPCache
</CODE> directive sets the size of the
1805 memory cache used by Raster Image Processor (
"RIP") filters such
1806 as
<CODE>imagetoraster
</CODE> and
<CODE>pstoraster
</CODE>. The
1807 size can be suffixed with a
"k" for kilobytes,
"m" for megabytes,
1808 or
"g" for gigabytes. The default cache size is
"128m", or
128
1812 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.16</SPAN><A NAME=
"RootCertDuration">RootCertDuration
</A></H2>
1816 <PRE CLASS=
"command">
1822 RootCertDuration
300
1825 <H3>Description
</H3>
1827 <P>The
<CODE>RootCertDuration
</CODE> directive specifies the amount of time the
<EM>root certificate
</EM> remains valid in seconds (no suffix), minutes (
"m" suffix), hours (
"h" suffix), days (
"d" suffix), or weeks (
"w" suffix). The scheduler will generate a new certificate as needed when the given time interval has expired. If set to
0, the root certificate is generated only once on startup or on a restart.
</P>
1829 <P>The default is
<CODE>5m
</CODE> (five minutes).
</P>
1832 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.7</SPAN><A NAME=
"Satisfy">Satisfy
</A></H2>
1836 <PRE CLASS=
"command">
1837 <Location /path
>
1844 <H3>Description
</H3>
1846 <P>The
<CODE>Satisfy
</CODE> directive specifies whether all
1847 conditions must be satisfied to allow access to the resource. If
1848 set to
<CODE>all
</CODE>, then all authentication and access
1849 control conditions must be satisfied to allow access.
</P>
1851 <P>Setting
<CODE>Satisfy
</CODE> to
<CODE>any
</CODE> allows a user
1852 to gain access if the authentication or access control
1853 requirements are satisfied. For example, you might require
1854 authentication for remote access, but allow local access without
1857 <P>The default is
<CODE>all
</CODE>. This directive must appear
1858 inside a
<A HREF=
"#Location"><CODE>Location
</CODE></A> or
<A
1859 HREF=
"#Limit"><CODE>Limit
</CODE></A> section.
</P>
1862 <H2 CLASS=
"title"><A NAME=
"ServerAdmin">ServerAdmin
</A></H2>
1866 <PRE CLASS=
"command">
1867 ServerAdmin user@host
1868 ServerAdmin root@foo.bar.com
1871 <H3>Description
</H3>
1873 <P>The
<CODE>ServerAdmin
</CODE> directive identifies the email
1874 address for the administrator on the system. By default the
1875 administrator email address is
<CODE>root@server
</CODE>, where
1876 <CODE>server
</CODE> is the
<A
1877 HREF=
"#ServerName"><CODE>ServerName
</CODE></A>.
</P>
1880 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.3.10</SPAN><A NAME=
"ServerAlias">ServerAlias
</A></H2>
1884 <PRE CLASS=
"command">
1886 ServerAlias foo.example.com
1887 ServerAlias bar.example.com
1888 ServerAlias one.example.com two.example.com
1892 <H3>Description
</H3>
1894 <P>The
<CODE>ServerAlias
</CODE> directive specifies alternate names that the server is known by. By default it contains a list of all aliases associated with the
<A HREF=
"#ServerName"><CODE>ServerName
</CODE></A>. The special name
"*" can be used to allow any hostname when accessing CUPS via an external network interfaces.
</P>
1896 <BLOCKQUOTE><B>Note
</B>
1898 <P>The
<CODE>ServerAlias
</CODE> directive is used for HTTP Host header
1899 validation when clients connect to the scheduler from external interfaces.
1900 Using the special name
"*" can expose your system to known browser-based
1901 DNS rebinding attacks, even when accessing sites through a firewall. If the
1902 auto-discovery of alternate names does not work, we recommend listing each
1903 alternate name with a ServerAlias directive instead of using
"*".
</P>
1908 <H2 CLASS=
"title"><A NAME=
"ServerName">ServerName
</A></H2>
1912 <PRE CLASS=
"command">
1913 ServerName foo.example.com
1914 ServerName myserver.example.com
1917 <H3>Description
</H3>
1919 <P>The
<CODE>ServerName
</CODE> directive specifies the hostname
1920 that is reported to clients. By default the server name is the
1924 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.1.21</SPAN><A NAME=
"ServerTokens">ServerTokens
</A></H2>
1928 <PRE CLASS=
"command">
1930 ServerTokens ProductOnly
1933 ServerTokens Minimal
1938 <H3>Description
</H3>
1940 <P>The
<CODE>ServerTokens
</CODE> directive specifies the
1941 information that is included in the
<CODE>Server:
</CODE> header
1942 of all HTTP responses. Table
4 lists the token name along with
1943 the text that is returned. The default is
1944 <CODE>Minimal
</CODE>.
</P>
1946 <DIV CLASS=
"table"><TABLE SUMMARY=
"ServerToken Names and Values">
1947 <CAPTION>Table
4:
<A NAME=
"TABLE4">ServerToken Names and Values
</A></CAPTION>
1957 <TD>No
<CODE>Server:
</CODE> header is returned
</TD>
1960 <TD>ProductOnly
</TD>
1973 <TD>"CUPS 1.2.N" where N is the patch release
</TD>
1977 <TD>"CUPS 1.2.N (UNAME)" where N is the patch release and
1978 UNAME is the output of the
<B>uname(
1)
</B> command
</TD>
1982 <TD>"CUPS 1.2.N (UNAME) IPP/1.1" where N is the patch
1983 release and UNAME is the output of the
<B>uname(
1)
</B>
1990 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2/OS X
10.5</SPAN><A NAME=
"SetEnv">SetEnv
</A></H2>
1994 <PRE CLASS=
"command">
1995 SetEnv PATH /usr/lib/cups/filter:/bin:/usr/bin:/usr/local/bin
1996 SetEnv MY_ENV_VAR foo
1999 <H3>Description
</H3>
2001 <P>The
<CODE>SetEnv
</CODE> directive specifies an environment
2002 variable that should be passed to child processes.
</P>
2005 <H2 CLASS=
"title"><A NAME=
"SSLListen">SSLListen
</A></H2>
2009 <PRE CLASS=
"command">
2010 SSLListen
127.0.0.1:
443
2011 SSLListen
192.0.2.1:
443
2014 <H3>Description
</H3>
2016 <P>The
<CODE>SSLListen
</CODE> directive specifies a network
2017 address and port to listen for secure connections. Multiple
2018 <CODE>SSLListen
</CODE> directives can be provided to listen on
2019 multiple addresses.
</P>
2021 <P>The
<CODE>SSLListen
</CODE> directive is similar to the
<A
2022 HREF=
"#SSLPort"><CODE>SSLPort
</CODE></A> directive but allows you
2023 to restrict access to specific interfaces or networks.
</P>
2026 <H2 CLASS=
"title"><A NAME=
"SSLPort">SSLPort
</A></H2>
2030 <PRE CLASS=
"command">
2034 <H3>Description
</H3>
2036 <P>The
<CODE>SSLPort
</CODE> directive specifies a port to listen
2037 on for secure connections. Multiple
<CODE>SSLPort
</CODE> lines
2038 can be specified to listen on multiple ports.
</P>
2041 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.6</SPAN><A NAME=
"StrictConformance">StrictConformance
</A></H2>
2045 <PRE CLASS=
"command">
2046 StrictConformance No
2047 StrictConformance Yes
2050 <H3>Description
</H3>
2052 <P>The
<CODE>StrictConformance
</CODE> directive specifies whether the scheduler
2053 requires strict IPP conformance for client requests, for example to not allow
2054 document attributes in a Create-Job request. The default is
2055 <code>No
</code>.
</P>
2058 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.5</SPAN><A NAME=
"SubscriptionPrivateAccess">SubscriptionPrivateAccess
</A></H2>
2062 <PRE CLASS=
"command">
2063 SubscriptionPrivateAccess all
2064 SubscriptionPrivateAccess default
2065 SubscriptionPrivateAccess {user|@group|@ACL|@OWNER|@SYSTEM}+
2068 <H3>Description
</H3>
2070 <P>The
<CODE>SubscriptionPrivateAccess
</CODE> directive specifies the access list for a
2071 subscription's private values. The
"default" access list is
"@OWNER @SYSTEM".
2072 "@ACL" maps to the printer's requesting-user-name-allowed or
2073 requesting-user-name-denied values.
</P>
2075 <P>The
<CODE>SubscriptionPrivateAccess
</CODE> directive must appear inside a
<A
2076 HREF=
"#Policy"><CODE>Policy
</CODE></A> section.
</P>
2079 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.5</SPAN><A NAME=
"SubscriptionPrivateValues">SubscriptionPrivateValues
</A></H2>
2083 <PRE CLASS=
"command">
2084 SubscriptionPrivateValues all
2085 SubscriptionPrivateValues default
2086 SubscriptionPrivateValues none
2087 SubscriptionPrivateValues attribute-name-
1 [ ... attribute-name-N ]
2090 <H3>Description
</H3>
2092 <P>The
<CODE>SubscriptionPrivateValues
</CODE> directive specifies the list of
2093 subscription values to make private. The
"default" values are
"notify-events",
2094 "notify-pull-method",
"notify-recipient-uri",
"notify-subscriber-user-name", and
2095 "notify-user-data".
</P>
2097 <P>The
<CODE>SubscriptionPrivateValues
</CODE> directive must appear inside a
<A
2098 HREF=
"#Policy"><CODE>Policy
</CODE></A> section.
</P>
2101 <H2 CLASS=
"title"><A NAME=
"Timeout">Timeout
</A></H2>
2105 <PRE CLASS=
"command">
2113 <H3>Description
</H3>
2115 <P>The
<CODE>Timeout
</CODE> directive controls the amount of time
2116 to wait before an active HTTP or IPP request times out in seconds (no suffix), minutes (
"m" suffix), hours (
"h" suffix), days (
"d" suffix), or weeks (
"w" suffix).
</P>
2118 <P>The default timeout is
<CODE>5m
</CODE> (five minutes).
</P>
2121 <H2 CLASS=
"title"><SPAN CLASS=
"INFO">CUPS
1.5</SPAN><A NAME=
"WebInterface">WebInterface
</A></H2>
2125 <PRE CLASS=
"command">
2130 <H3>Description
</H3>
2132 <P>The
<CODE>WebInterface
</CODE> directive specifies whether the web interface is enabled. The default value is
<CODE>No
</CODE> on OS X and
<CODE>Yes
</CODE> on all other operating systems.
</P>