# CUPS configuration file, generated by CUPS configuration tool.
# This tool is part of KUPS, a CUPS front-end and manager for KDE.
#
# Author: Michael Goffioul <goffioul@emic.ucl.ac.be>
#
# Web site: http://cups.sourceforge.net/index.html
#
########################################################################
#                                                                      #
# This is the CUPS configuration file.  If you are familiar with       #
# Apache or any of the other popular web servers, we've followed the   #
# same format.  Any configuration variable used here has the same      #
# semantics as the corresponding variable in Apache.  If we need       #
# different functionality then a different name is used to avoid       #
# confusion...                                                         #
#                                                                      #
########################################################################
@@

# <b>ServerName</b>
# <p>
# The hostname of your server, as advertised to the world.
# By default CUPS will use the hostname of the system.</p>
# <p>
# To set the default server used by clients, see the client.conf file.</p>
# <p>
# <i>ex</i>: myhost.domain.com</p>
$$
#ServerName myhost.domain.com
@@

# <b>ServerAdmin</b>
# <p>
# The email address to send all complaints or problems to.
# By default CUPS will use "root@hostname".</p>
# <p>
# <i>ex</i>: root@myhost.com</P>
$$
#ServerAdmin root@your.domain.com
@@

# <b>AccessLog</b>
# <p>
# The access log file; if this does not start with a leading /
# then it is assumed to be relative to ServerRoot.  By default set to
# "/var/log/cups/access_log".</p>
# <p>
# You can also use the special name <b>syslog</b> to send the output to the
# syslog file or daemon.</p>
# <p>
# <i>ex</i>: /var/log/cups/acces_log</p>
$$
#AccessLog /var/log/cups/access_log
@@

# <b>DataDir</b>
# <p>
# The root directory for the CUPS data files.
# By default /usr/share/cups.</p>
# <p>
# <i>ex</i>: /usr/share/cups</p>
$$
#DataDir /usr/share/cups
@@

# <b>DefaultCharset</b>
# <p>
# The default character set to use. If not specified,
# defaults to utf-8.  Note that this can also be overridden in
# HTML documents...<p>
# <p>
# <i>ex</i>: utf-8</P>
$$
#DefaultCharset utf-8
@@

# <b>DefaultLanguage</b>
# <p>
# The default language if not specified by the browser.
# If not specified, the current locale is used.</p>
# <p>
# <i>ex</i>: en</p>
$$
#DefaultLanguage en
@@

# <b>DocumentRoot</b>
# <p>
# The root directory for HTTP documents that are served.
# By default the compiled in directory.</p>
# <p>
# <i>ex</i>: /usr/share/cups/doc</p>
$$
#DocumentRoot /usr/share/cups/doc
@@

# <b>ErrorLog</b>
# <p>
# The error log file; if this does not start with a leading /
# then it is assumed to be relative to ServerRoot.  By default set to
# "/var/log/cups/error_log".</p>
# <p>
# You can also use the special name <b>syslog</b> to send the output to the
# syslog file or daemon.</p>
# <p>
# <i>ex</i>: /var/log/cups/error_log</p>
$$
#ErrorLog /var/log/cups/error_log
@@

# <b>FontPath</b>
# <p>
# The path to locate all font files (currently only for pstoraster)
# By default /usr/share/cups/fonts.</p>
# <p>
# <i>ex</i>: /usr/share/cups/fonts</p>
$$
#FontPath /usr/share/cups/fonts
@@

# <b>LogLevel</b>
# <p>
# Controls the number of messages logged to the ErrorLog
# file and can be one of the following:</p>
# <ul>
#     <li><i>debug2</i>:     Log everything.</li>
#     <li><i>debug</i>:     Log almost everything.</li>
#     <li><i>info</i>:      Log all requests and state changes.</li>
#     <li><i>warn</i>:      Log errors and warnings.</li>
#     <li><i>error</i>:     Log only errors.</li>
#     <li><i>none</i>:      Log nothing.</li>
# </ul>
# <i>ex</i>: info</p>
$$
#LogLevel info
@@

# <b>MaxLogSize</b>
# <p>
# Controls the maximum size of each log file before they are
# rotated.  Defaults to 1048576 (1MB).  Set to 0 to disable log rotating.</p>
# <p>
# <i>ex</i>: 1048576</p>
$$
#MaxLogSize 0
@@

# <b>PageLog</b>
# <p>
# The page log file; if this does not start with a leading /
# then it is assumed to be relative to ServerRoot.  By default set to
# "/var/log/cups/page_log".</p>
# <p>
# You can also use the special name <b>syslog</b> to send the output to the
# syslog file or daemon.</p>
# <p>
# <i>ex</i>: /var/log/cups/page_log</p>
$$
#PageLog /var/log/cups/page_log
@@

# <b>PreserveJobHistory</b>
# <p>
# Whether or not to preserve the job history after a
# job is completed, cancelled, or stopped.  Default is Yes.</p>
# <p>
# <i>ex</i>: Yes</p>
$$
#PreserveJobHistory Yes
@@

# <b>PreserveJobFiles</b>
# <p>
# Whether or not to preserve the job files after a
# job is completed, cancelled, or stopped.  Default is No.</p>
# <p>
# <i>ex</i>: No</p>
$$
#PreserveJobFiles No
@@

# <b>Printcap</b>
# <p>
# The name of the printcap file.  Default is no filename.
# Leave blank to disable printcap file generation.</p>
# <p>
# <i>ex</i>: /etc/printcap</p>
$$
#Printcap /etc/printcap
@@

# <b>RequestRoot</b>
# <p>
# The directory where request files are stored.
# By default /var/spool/cups.</p>
# <p>
# <i>ex</i>: /var/spool/cups</p>
$$
#RequestRoot /var/spool/cups
@@

# <b>RemoteRoot</b>
# <p>
# The name of the user assigned to unauthenticated accesses
# from remote systems.  By default "remroot".</p>
# <p>
# <i>ex</i>: remroot</p>
$$
#RemoteRoot remroot
@@

# <b>ServerBin</b>
# <p>
# The root directory for the scheduler executables.
# By default /usr/lib/cups or /usr/lib32/cups (IRIX 6.5).</p>
# <p>
# <i>ex</i>: /usr/bin/cups</p>
$$
#ServerBin /usr/lib/cups
@@

# <b>ServerRoot</b>
# <p>
# The root directory for the scheduler.
# By default /etc/cups.</p>
# <p>
# <i>ex</i>: /etc/cups</p>
$$
#ServerRoot /etc/cups
@@

# <b>User</b>
# <p>
# The user the server runs under.  Normally this
# must be <b>lp</b>, however you can configure things for another user
# as needed.</p>
# <p>
# Note: the server must be run initially as root to support the
# default IPP port of 631.  It changes users whenever an external
# program is run...</p>
# <p>
# <i>ex</i>: lp</p>
$$
#User lp
@@

# <b>Group</b>
# <p>
# The group the server runs under.  Normally this
# must be <b>sys</b>, however you can configure things for another
# group as needed.</p>
# <p>
# <i>ex</i>: sys</p>
$$
#Group sys
@@

# <b>RIPCache</b>
# <p>
# The amount of memory that each RIP should use to cache
# bitmaps.  The value can be any real number followed by "k" for
# kilobytes, "m" for megabytes, "g" for gigabytes, or "t" for tiles
# (1 tile = 256x256 pixels.)  Defaults to "8m" (8 megabytes).</p>
# <p>
# <i>ex</i>: 8m</p>
$$
#RIPCache 8m
@@

# <b>TempDir</b>
# <p>
# The directory to put temporary files in. This directory must be
# writable by the user defined above!  Defaults to "/var/spool/cups/tmp" or
# the value of the TMPDIR environment variable.</p>
# <p>
# <i>ex</i>: /var/spool/cups/tmp</p>
$$
#TempDir /var/spool/cups/tmp
@@

# <b>FilterLimit</b>
# <p>
# Sets the maximum cost of all job filters that can be run
# at the same time.  A limit of 0 means no limit.  A typical job may need
# a filter limit of at least 200; limits less than the minimum required
# by a job force a single job to be printed at any time.</p>
# <p>
# The default limit is 0 (unlimited).</p>
# <p>
# <i>ex</i>: 200</p>
$$
#FilterLimit 0
@@

# <b>Ports/Addresses</b>
# <p>
# Ports/addresses that we listen to.  The default port 631 is reserved
# for the Internet Printing Protocol (IPP) and is what we use here.</p>
# <p>
# You can have multiple Port/Listen lines to listen to more than one
# port or address, or to restrict access.</p>
# <p>
# NOTE: Unfortunately, most web browsers don't support TLS or HTTP Upgrades
# for encryption.  If you want to support web-based encryption you'll
# probably need to listen on port 443 (the "https" port...).</p>
# <p>
# <i>ex</i>: 631, myhost:80, 1.2.3.4:631</p>
$$
#    Port 80
#    Port 631
#    Listen hostname
#    Listen hostname:80
#    Listen hostname:631
#    Listen 1.2.3.4
#    Listen 1.2.3.4:631
#
#Port 631
@@

# <b>HostNameLookups</b>
# <p>
# Whether or not to do lookups on IP addresses to get a
# fully-qualified hostname.  This defaults to Off for performance reasons...</p>
# <p>
# <i>ex</i>: On</p>
$$
#HostNameLookups On
@@

# <b>KeepAlive</b>
# <p>
# Whether or not to support the Keep-Alive connection
# option.  Default is on.</p>
# <p>
# <i>ex</i>: On</p>
$$
#KeepAlive On
@@

# <b>KeepAliveTimeout</b>
# <p>
# The timeout (in seconds) before Keep-Alive connections are
# automatically closed.  Default is 60 seconds.</p>
# <p>
# <i>ex</i>: 60</p>
$$
#KeepAliveTimeout 60
@@

# <b>MaxClients</b>
# <p>
# Controls the maximum number of simultaneous clients that
# will be handled.  Defaults to 100.</p>
# <p>
# <i>ex</i>: 100</p>
$$
#MaxClients 100
@@

# <b>MaxRequestSize</b>
# <p>
# Controls the maximum size of HTTP requests and print files.
# Set to 0 to disable this feature (defaults to 0).</p>
# <p>
# <i>ex</i>: 0</p>
$$
#MaxRequestSize 0
@@

# <b>Timeout</b>
# <p>
# The timeout (in seconds) before requests time out.  Default is 300 seconds.</p>
# <p>
# <i>ex</i>: 300</p>
$$
#Timeout 300
@@

# <b>Browsing</b>
# <p>
# Whether or not to broadcast printer information to
# other CUPS servers.  Enabled by default.</p>
# <p>
# <i>ex</i>: On</p>
$$
#Browsing On
@@

# <b>BrowseShortNames</b>
# <p>
# Whether or not to use "short" names for remote printers
# when possible (e.g. "printer" instead of "printer@host").  Enabled by
# default.</p>
# <p>
# <i>ex</i>: Yes</p>
$$
#BrowseShortNames Yes
@@

# <b>BrowseAddress</b>
# <p>
# Specifies a broadcast address to be used.  By
# default browsing information is broadcast to all active interfaces.</p>
# <p>
# Note: HP-UX 10.20 and earlier do not properly handle broadcast unless
# you have a Class A, B, C, or D netmask (i.e. no CIDR support).</p>
# <p>
# <i>ex</i>: x.y.z.255, x.y.255.255</p>
$$
#BrowseAddress x.y.z.255
#BrowseAddress x.y.255.255
#BrowseAddress x.255.255.255
@@

# <b>BrowseAllow/BrowseDeny</b>
# <p>
# <u>BrowseAllow</u>: specifies an address mask to allow for incoming browser
# packets. The default is to allow packets from all addresses.</p>
# <p>
# <u>BrowseDeny</u>: specifies an address mask to deny for incoming browser
# packets. The default is to deny packets from no addresses.</p>
# <p>
# Both "BrowseAllow" and "BrowseDeny" accept the following notations for
# addresses:</p>
# <pre>
#     All
#     None
#     *.domain.com
#     .domain.com
#     host.domain.com
#     nnn.*
#     nnn.nnn.*
#     nnn.nnn.nnn.*
#     nnn.nnn.nnn.nnn
#     nnn.nnn.nnn.nnn/mm
#     nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
# </pre><p>
# The hostname/domainname restrictions only work if you have turned hostname
# lookups on!</p>
$$
#BrowseAllow address
#BrowseDeny address
@@

# <b>BrowseInterval</b>
# <p>
# The time between browsing updates in seconds.  Default
# is 30 seconds.</p>
# <p>
# Note that browsing information is sent whenever a printer's state changes
# as well, so this represents the maximum time between updates.</p>
# <p>
# Set this to 0 to disable outgoing broadcasts so your local printers are
# not advertised but you can still see printers on other hosts.</p>
# <p>
# <i>ex</i>: 30</p>
$$
#BrowseInterval 30
@@

# <b>BrowseOrder</b>
# <p>
# Specifies the order of BrowseAllow/BrowseDeny comparisons.</p>
# <p>
# <i>ex</i>: allow,deny</p>
$$
#BrowseOrder allow,deny
#BrowseOrder deny,allow
@@

# <b>BrowsePoll</b>
# <p>
# Poll the named server(s) for printers.</p>
# <p>
# <i>ex</i>: myhost:631</p>
$$
#BrowsePoll address:port
@@

# <b>BrowsePort</b>
# <p>
# The port used for UDP broadcasts.  By default this is
# the IPP port; if you change this you need to do it on all servers.
# Only one BrowsePort is recognized.</p>
# <p>
# <i>ex</i>: 631</p>
$$
#BrowsePort 631
@@

# <b>BrowseRelay</b>
# <p>
# Relay browser packets from one address/network to another.</p>
# <p>
# <i>ex</i>: src-address dest-address</p>
$$
#BrowseRelay source-address destination-address
@@

# <b>BrowseTimeout</b>
# <p>
# The timeout (in seconds) for network printers - if we don't
# get an update within this time the printer will be removed
# from the printer list.  This number definitely should not be
# less the BrowseInterval value for obvious reasons.  Defaults
# to 300 seconds.</p>
# <p>
# <i>ex</i>: 300</p>
$$
#BrowseTimeout 300
@@

# <b>ImplicitClasses</b>
# <p>
# Whether or not to use implicit classes.</p>
# <p>
# Printer classes can be specified explicitly in the classes.conf
# file, implicitly based upon the printers available on the LAN, or
# both.</p>
# <p>
# When ImplicitClasses is On, printers on the LAN with the same name
# (e.g. Acme-LaserPrint-1000) will be put into a class with the same
# name. This allows you to setup multiple redundant queues on a LAN
# without a lot of administrative difficulties.  If a user sends a
# job to Acme-LaserPrint-1000, the job will go to the first available
# queue.</p>
# <p>
# Enabled by default.</p>
$$
#ImplicitClasses Off
@@

# <b>SystemGroup</b>
# <p>
# The group name for "System" (printer administration)
# access.  The default varies depending on the operating system, but
# will be <b>sys</b>, <b>system</b>, or <b>root</b> (checked for in that order).</p>
# <p>
# <i>ex</i>: sys</p>
$$
#SystemGroup sys
@@

# <b>ServerCertificate</b>
# <p>
# The file to read containing the server's certificate.
# Defaults to "/etc/cups/ssl/server.crt".</p>
# <p>
# <i>ex</i>: /etc/cups/ssl/server.crt</p>
$$
#ServerCertificate /etc/cups/ssl/server.crt
@@

# <b>ServerKey</b>
# <p>
# The file to read containing the server's key.
# Defaults to "/etc/cups/ssl/server.key".</p>
# <p>
# <i>ex</i>: /etc/cups/ssl/server.key</p>
$$
#ServerKey /etc/cups/ssl/server.key
@@

# Access permissions
#
# Access permissions for each directory served by the scheduler.
# Locations are relative to DocumentRoot...
#
# AuthType: the authorization to use:
#
#    None   - Perform no authentication
#    Basic  - Perform authentication using the HTTP Basic method.
#    Digest - Perform authentication using the HTTP Digest method.
#
#    (Note: local certificate authentication can be substituted by
#           the client for Basic or Digest when connecting to the
#           localhost interface)
#
# AuthClass: the authorization class; currently only Anonymous, User,
# System (valid user belonging to group SystemGroup), and Group
# (valid user belonging to the specified group) are supported.
#
# AuthGroupName: the group name for "Group" authorization.
#
# Order: the order of Allow/Deny processing.
#
# Allow: allows access from the specified hostname, domain, IP address, or
# network.
#
# Deny: denies access from the specified hostname, domain, IP address, or
# network.
#
# Both "Allow" and "Deny" accept the following notations for addresses:
#
#     All
#     None
#     *.domain.com
#     .domain.com
#     host.domain.com
#     nnn.*
#     nnn.nnn.*
#     nnn.nnn.nnn.*
#     nnn.nnn.nnn.nnn
#     nnn.nnn.nnn.nnn/mm
#     nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
#
# The host and domain address require that you enable hostname lookups
# with "HostNameLookups On" above.
#
# Encryption: whether or not to use encryption; this depends on having
# the OpenSSL library linked into the CUPS library and scheduler.
#
# Possible values:
#
#     Always       - Always use encryption (SSL)
#     Never        - Never use encryption
#     Required     - Use TLS encryption upgrade
#     IfRequested  - Use encryption if the server requests it
#
# The default value is "IfRequested".
$$
#<Location [resource_name]>
#
# You may wish to limit access to printers and classes, either with Allow
# and Deny lines, or by requiring a username and password.
#
#
## Anonymous access (default)
#AuthType None
#
## Require a username and password (Basic authentication)
#AuthType Basic
#AuthClass User
#
## Require a username and password (Digest/MD5 authentication)
#AuthType Digest
#AuthClass User
#
## Restrict access to local domain
#Order Deny,Allow
#Deny From All
#Allow From .mydomain.com
#
## Use encryption if requested
#Encryption IfRequested
#</Location>
@@

# <b>AuthType</b>
# <p>
# The authorization to use:<p>
# <ul type=circle>
#    <li><i>None</i>   - Perform no authentication.</li>
#    <li><i>Basic</i>  - Perform authentication using the HTTP Basic method.</li>
#    <li><i>Digest</i> - Perform authentication using the HTTP Digest method.</li>
# </ul><p>
#    <u>Note</u>: local certificate authentication can be substituted by
#           the client for <i>Basic</i> or <i>Digest</i> when connecting to the
#           localhost interface.</p>
@@

# <b>AuthClass</b>
# <p>
# The authorization class; currently only <i>Anonymous</i>, <i>User</i>,
# <i>System</i> (valid user belonging to group SystemGroup), and <i>Group</i>
# (valid user belonging to the specified group) are supported.</p>
@@

# <b>AuthGroupName</b>
# <p>
# The group name for <i>Group</i> authorization.</p>
@@

# <b>Order</b>
# <p>
# The order of Allow/Deny processing.</p>
@@

# <b>Allow</b>
# <p>
# Allows access from the specified hostname, domain, IP address, or
# network. Possible values are:</p>
# <pre>
#     All
#     None
#     *.domain.com
#     .domain.com
#     host.domain.com
#     nnn.*
#     nnn.nnn.*
#     nnn.nnn.nnn.*
#     nnn.nnn.nnn.nnn
#     nnn.nnn.nnn.nnn/mm
#     nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
# </pre><p>
# The host and domain address require that you enable hostname lookups
# with "HostNameLookups On" above.</p>
@@

# <b>Deny</b>
# <p>
# Denies access from the specified hostname, domain, IP address, or
# network. Possible values are:</p>
# <pre>
#     All
#     None
#     *.domain.com
#     .domain.com
#     host.domain.com
#     nnn.*
#     nnn.nnn.*
#     nnn.nnn.nnn.*
#     nnn.nnn.nnn.nnn
#     nnn.nnn.nnn.nnn/mm
#     nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
# </pre><p>
# The host and domain address require that you enable hostname lookups
# with "HostNameLookups On" above.</p>
@@

# <b>Encryption</b>
# <p>
# Whether or not to use encryption; this depends on having
# the OpenSSL library linked into the CUPS library and scheduler.</p>
# <p>
# Possible values:</p>
# <ul type=circle>
#     <li><i>Always</i>       - Always use encryption (SSL)</li>
#     <li><i>Never</i>        - Never use encryption</li>
#     <li><i>Required</i>     - Use TLS encryption upgrade</li>
#     <li><i>IfRequested</i>  - Use encryption if the server requests it</li>
# </ul><p>
# The default value is "IfRequested".</p>
@@

# <b>Access permissions</b>
# <p>
# Access permissions for each directory served by the scheduler.
# Locations are relative to DocumentRoot...</p>
@@

# <b>AutoPurgeJobs</b>
# <p>
# Automatically purge jobs when not needed for quotas.
# Default is No.</p>
$$
#AutoPurgeJobs No
@@

# <b>BrowseProtocols</b>
# <p>
# Which protocols to use for browsing.  Can be
# any of the following separated by whitespace and/or commas:</p>
# <ul type=circle>
#     <li><i>all</i>  - Use all supported protocols.</li>
#     <li><i>cups</i> - Use the CUPS browse protocol.</li>
#     <li><i>slp</i>  - Use the SLPv2 protocol.</li>
# </ul><p>
# The default is <b>cups</b>.</p>
# <p>
# <u>NOTE</u>: If you choose to use SLPv2, it is <b>strongly</b> recommended that
#       you have at least one SLP Directory Agent (DA) on your
#       network.  Otherwise, browse updates can take several seconds,
#       during which the scheduler will not response to client
#       requests.</p>
$$
#BrowseProtocols cups
@@

# <b>Classification</b>
# <p>
# The classification level of the server.  If set, this
# classification is displayed on all pages, and raw printing is disabled.
# The default is the empty string.</p>
# <p>
# <i>ex</i>: confidential
$$
#Classification classified
@@

# <b>ClassifyOverride</b>
# <p>
# Whether to allow users to override the classification
# on printouts. If enabled, users can limit banner pages to before or
# after the job, and can change the classification of a job, but cannot
# completely eliminate the classification or banners.</p>
# <p>
# The default is off.</p>
$$
#ClassifyOverride off
@@

# <b>HideImplicitMembers</b>
# <p>
# Whether or not to show the members of an
# implicit class.</p>
# <p>
# When HideImplicitMembers is On, any remote printers that are
# part of an implicit class are hidden from the user, who will
# then only see a single queue even though many queues will be
# supporting the implicit class.</p>
# <p>
# Enabled by default.</p>
$$
#HideImplicitMembers On
@@

# <b>ImplicitAnyClasses</b>
# <p>
# Whether or not to create <b>AnyPrinter</b> implicit
# classes.</p>
# <p>
# When ImplicitAnyClasses is On and a local queue of the same name
# exists, e.g. "printer", "printer@server1", "printer@server1", then
# an implicit class called "Anyprinter" is created instead.</p>
# <p>
# When ImplicitAnyClasses is Off, implicit classes are not created
# when there is a local queue of the same name.</p>
# <p>
# Disabled by default.</p>
$$
#ImplicitAnyCLasses Off
@@

# <b>MaxJobs</b>
# <p>
# Maximum number of jobs to keep in memory (active and completed.)
# Default is 0 (no limit.)</p>
$$
#MaxJobs 0
@@
