%%header # CUPS configuration file, generated by CUPS configuration tool. # This tool is part of KDEPrint, the printing framework for KDE # since version 2.2.2 and is used by the CUPS supporting module # in KDEPrint. The predecessors to KDEPrint in former KDE releases # were KUPS and QtCUPS; they are deprecated and no longer maintained. # # Author: Michael Goffioul # # Web site: http://printing.kde.org/ # ######################################################################## # # # 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... # # # ######################################################################## @@ %%servername # Server name (ServerName) #

# The hostname of your server, as advertised to the world. # By default CUPS will use the hostname of the system.

#

# To set the default server used by clients, see the client.conf file.

#

# ex: myhost.domain.com

$$ #ServerName myhost.domain.com @@ %%serveradmin # Server administrator (ServerAdmin) #

# The email address to send all complaints or problems to. # By default CUPS will use "root@hostname".

#

# ex: root@myhost.com

$$ #ServerAdmin root@your.domain.com @@ %%accesslog # Access log (AccessLog) #

# 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".

#

# You can also use the special name syslog to send the output to the # syslog file or daemon.

#

# ex: /var/log/cups/access_log

$$ #AccessLog /var/log/cups/access_log @@ %%datadir # Data directory (DataDir) #

# The root directory for the CUPS data files. # By default /usr/share/cups.

#

# ex: /usr/share/cups

$$ #DataDir /usr/share/cups @@ %%defaultcharset # Default character set (DefaultCharset) #

# The default character set to use. If not specified, # defaults to utf-8. Note that this can also be overridden in # HTML documents...

#

# ex: utf-8

$$ #DefaultCharset utf-8 @@ %%defaultlanguage # Default language (DefaultLanguage) #

# The default language if not specified by the browser. # If not specified, the current locale is used.

#

# ex: en

$$ #DefaultLanguage en @@ %%documentroot # Document directory (DocumentRoot) #

# The root directory for HTTP documents that are served. # By default the compiled-in directory.

#

# ex: /usr/share/cups/doc

$$ #DocumentRoot /usr/share/cups/doc @@ %%errorlog # Error log (ErrorLog) #

# 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".

#

# You can also use the special name syslog to send the output to the # syslog file or daemon.

#

# ex: /var/log/cups/error_log

$$ #ErrorLog /var/log/cups/error_log @@ %%fontpath # Font path (FontPath) #

# The path to locate all font files (currently only for pstoraster). # By default /usr/share/cups/fonts.

#

# ex: /usr/share/cups/fonts

$$ #FontPath /usr/share/cups/fonts @@ %%loglevel # Log level (LogLevel) #

# Controls the number of messages logged to the ErrorLog # file and can be one of the following:

#

# ex: info

$$ #LogLevel info @@ %%maxlogsize # Max log size (MaxLogSize) #

# Controls the maximum size of each log file before they are # rotated. Defaults to 1048576 (1MB). Set to 0 to disable log rotating.

#

# ex: 1048576

$$ #MaxLogSize 0 @@ %%pagelog # Page log (PageLog) #

# 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".

#

# You can also use the special name syslog to send the output to the # syslog file or daemon.

#

# ex: /var/log/cups/page_log

$$ #PageLog /var/log/cups/page_log @@ %%preservejobhistory # Preserve job history (PreserveJobHistory) #

# Whether or not to preserve the job history after a # job is completed, canceled, or stopped. Default is Yes.

#

# ex: Yes

$$ #PreserveJobHistory Yes @@ %%preservejobfiles # Preserve job files (PreserveJobFiles) #

# Whether or not to preserve the job files after a # job is completed, canceled, or stopped. Default is No.

#

# ex: No

$$ #PreserveJobFiles No @@ %%printcap # Printcap file (Printcap) #

# The name of the printcap file. Default is no filename. # Leave blank to disable printcap file generation.

#

# ex: /etc/printcap

$$ #Printcap /etc/printcap @@ %%requestroot # Request directory (RequestRoot) #

# The directory where request files are stored. # By default /var/spool/cups.

#

# ex: /var/spool/cups

$$ #RequestRoot /var/spool/cups @@ %%remoteroot # Remote root user (RemoteRoot) #

# The name of the user assigned to unauthenticated accesses # from remote systems. By default "remroot".

#

# ex: remroot

$$ #RemoteRoot remroot @@ %%serverbin # Server binaries (ServerBin) #

# The root directory for the scheduler executables. # By default /usr/lib/cups or /usr/lib32/cups (IRIX 6.5).

#

# ex: /usr/lib/cups

$$ #ServerBin /usr/lib/cups @@ %%serverroot # Server files (ServerRoot) #

# The root directory for the scheduler. # By default /etc/cups.

#

# ex: /etc/cups

$$ #ServerRoot /etc/cups @@ %%user # User (User) #

# The user the server runs under. Normally this # must be lp, however you can configure things for another user # as needed.

#

# 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...

#

# ex: lp

$$ #User lp @@ %%group # Group (Group) #

# The group the server runs under. Normally this # must be sys, however you can configure things for another # group as needed.

#

# ex: sys

$$ #Group sys @@ %%ripcache # RIP cache (RIPCache) #

# 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).

#

# ex: 8m

$$ #RIPCache 8m @@ %%tempdir # Temporary files (TempDir) #

# 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.

#

# ex: /var/spool/cups/tmp

$$ #TempDir /var/spool/cups/tmp @@ %%filterlimit # Filter limit (FilterLimit) #

# 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.

#

# The default limit is 0 (unlimited).

#

# ex: 200

$$ #FilterLimit 0 @@ %%listen # Listen to (Port/Listen) #

# Ports/addresses that are listened to. The default port 631 is reserved # for the Internet Printing Protocol (IPP) and is what is used here.

#

# You can have multiple Port/Listen lines to listen to more than one # port or address, or to restrict access.

#

# Note: Unfortunately, most web browsers don't support TLS or HTTP Upgrades # for encryption. If you want to support web-based encryption you will # probably need to listen on port 443 (the "HTTPS" port...).

#

# ex: 631, myhost:80, 1.2.3.4:631

$$ # 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 @@ %%hostnamelookups # Hostname lookups (HostNameLookups) #

# Whether or not to do lookups on IP addresses to get a # fully-qualified hostname. This defaults to Off for performance reasons...

#

# ex: On

$$ #HostNameLookups On @@ %%keepalive # Keep alive (KeepAlive) #

# Whether or not to support the Keep-Alive connection # option. Default is on.

#

# ex: On

$$ #KeepAlive On @@ %%keepalivetimeout # Keep-alive timeout (KeepAliveTimeout) #

# The timeout (in seconds) before Keep-Alive connections are # automatically closed. Default is 60 seconds.

#

# ex: 60

$$ #KeepAliveTimeout 60 @@ %%maxclients # Max clients (MaxClients) #

# Controls the maximum number of simultaneous clients that # will be handled. Defaults to 100.

#

# ex: 100

$$ #MaxClients 100 @@ %%maxrequestsize # Max request size (MaxRequestSize) #

# Controls the maximum size of HTTP requests and print files. # Set to 0 to disable this feature (defaults to 0).

#

# ex: 0

$$ #MaxRequestSize 0 @@ %%timeout # Client timeout (Timeout) #

# The timeout (in seconds) before requests time out. Default is 300 seconds.

#

# ex: 300

$$ #Timeout 300 @@ %%browsing # Use browsing (Browsing) #

# Whether or not to listen to printer # information from other CUPS servers. #

#

# Enabled by default. #

#

# Note: to enable the sending of browsing # information from this CUPS server to the LAN, # specify a valid BrowseAddress. #

#

# ex: On

$$ #Browsing On @@ %%browseshortnames # Use short names (BrowseShortNames) #

# Whether or not to use "short" names for remote printers # when possible (e.g. "printer" instead of "printer@host"). Enabled by # default.

#

# ex: Yes

$$ #BrowseShortNames Yes @@ %%browseaddress # Browse addresses (BrowseAddress) #

# Specifies a broadcast address to be used. By # default browsing information is broadcast to all active interfaces.

#

# 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).

#

# ex: x.y.z.255, x.y.255.255

$$ #BrowseAddress x.y.z.255 #BrowseAddress x.y.255.255 #BrowseAddress x.255.255.255 @@ %%browseallow # Browse allow/deny (BrowseAllow/BrowseDeny) #

# BrowseAllow: specifies an address mask to allow for incoming browser # packets. The default is to allow packets from all addresses.

#

# BrowseDeny: specifies an address mask to deny for incoming browser # packets. The default is to deny packets from no addresses.

#

# Both "BrowseAllow" and "BrowseDeny" 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 hostname/domainname restrictions only work if you have turned hostname # lookups on!

$$ #BrowseAllow address #BrowseDeny address @@ %%browseinterval # Browse interval (BrowseInterval) #

# The time between browsing updates in seconds. Default # is 30 seconds.

#

# Note that browsing information is sent whenever a printer's state changes # as well, so this represents the maximum time between updates.

#

# Set this to 0 to disable outgoing broadcasts so your local printers are # not advertised but you can still see printers on other hosts.

#

# ex: 30

$$ #BrowseInterval 30 @@ %%browseorder # Browse order (BrowseOrder) #

# Specifies the order of BrowseAllow/BrowseDeny comparisons.

#

# ex: allow,deny

$$ #BrowseOrder allow,deny #BrowseOrder deny,allow @@ %%browsepoll # Browse poll (BrowsePoll) #

# Poll the named server(s) for printers.

#

# ex: myhost:631

$$ #BrowsePoll address:port @@ %%browseport # Browse port (BrowsePort) #

# 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.

#

# ex: 631

$$ #BrowsePort 631 @@ %%browserelay # Browse relay (BrowseRelay) #

# Relay browser packets from one address/network to another.

#

# ex: src-address dest-address

$$ #BrowseRelay source-address destination-address @@ %%browsetimeout # Browse timeout (BrowseTimeout) #

# 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.

#

# ex: 300

$$ #BrowseTimeout 300 @@ %%implicitclasses # Implicit classes (ImplicitClasses) #

# Whether or not to use implicit classes.

#

# Printer classes can be specified explicitly in the classes.conf # file, implicitly based upon the printers available on the LAN, or # both.

#

# 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.

#

# Enabled by default.

$$ #ImplicitClasses Off @@ %%systemgroup # System group (SystemGroup) #

# The group name for "System" (printer administration) # access. The default varies depending on the operating system, but # will be sys, system, or root (checked for in that order).

#

# ex: sys

$$ #SystemGroup sys @@ %%servercertificate # Encryption certificate (ServerCertificate) #

# The file to read containing the server's certificate. # Defaults to "/etc/cups/ssl/server.crt".

#

# ex: /etc/cups/ssl/server.crt

$$ #ServerCertificate /etc/cups/ssl/server.crt @@ %%serverkey # Encryption key (ServerKey) #

# The file to read containing the server's key. # Defaults to "/etc/cups/ssl/server.key".

#

# ex: /etc/cups/ssl/server.key

$$ #ServerKey /etc/cups/ssl/server.key @@ %%locations # 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". $$ # # # 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 # @@ %%authtype # Authentication (AuthType) #

# The authorization to use:

#

# Note: local certificate authentication can be substituted by # the client for Basic or Digest when connecting to the # localhost interface.

@@ %%authclass # Class (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.

@@ %%authname #

The user/group names allowed to access the resource. The format is a # comma separated list.

@@ %%satisfy # Satisfy (Satisfy) #

# This directive controls whether all specified conditions must # be satisfied to allow access to the resource. If set to "all", # then all authentication and access control conditions must be # satisfied to allow access. #

#

# Setting Satisfy to "any" allows a user to gain access if the # authentication or access control requirements are satisfied. # For example, you might require authentication for remote access, # but allow local access without authentication. #

#

# The default is "all". #

@@ %%authgroupname # Authentication group name (AuthGroupName) #

# The group name for Group authorization.

@@ %%order # ACL order (Order) #

# The order of Allow/Deny processing.

@@ %%allow # Allow #

# Allows access from the specified hostname, domain, IP address, or # network. Possible values are:

#
#     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.

@@ %%allowdeny # ACL addresses (Allow/Deny) #

# Allows/Denies access from the specified hostname, domain, IP address, or # network. Possible values are:

#
#     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 # Encryption (Encryption) #

# Whether or not to use encryption; this depends on having # the OpenSSL library linked into the CUPS library and scheduler.

#

# Possible values:

#

# The default value is "IfRequested".

@@ %%locationsshort # Access permissions #

# Access permissions for each directory served by the scheduler. # Locations are relative to DocumentRoot...

@@ %%autopurgejobs # Auto purge jobs (AutoPurgeJobs) #

# Automatically purge jobs when not needed for quotas. # Default is No.

$$ #AutoPurgeJobs No @@ %%browseprotocols # Browse protocols (BrowseProtocols) #

# Which protocols to use for browsing. Can be # any of the following separated by whitespace and/or commas:

#

# The default is cups.

#

# Note: If you choose to use SLPv2, it is strongly 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.

$$ #BrowseProtocols cups @@ %%classification # Classification (Classification) #

# 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.

#

# ex: confidential $$ #Classification classified @@ %%classifyoverride # Allow overrides (ClassifyOverride) #

# 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.

#

# The default is off.

$$ #ClassifyOverride off @@ %%hideimplicitmembers # Hide implicit members (HideImplicitMembers) #

# Whether or not to show the members of an # implicit class.

#

# 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.

#

# Enabled by default.

$$ #HideImplicitMembers On @@ %%implicitanyclasses # Use "any" classes (ImplicitAnyClasses) #

# Whether or not to create AnyPrinter implicit # classes.

#

# 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.

#

# When ImplicitAnyClasses is Off, implicit classes are not created # when there is a local queue of the same name.

#

# Disabled by default.

$$ #ImplicitAnyCLasses Off @@ %%maxjobs # Max jobs (MaxJobs) #

# Maximum number of jobs to keep in memory (active and completed). # Default is 0 (no limit).

$$ #MaxJobs 0 @@ %%maxjobsperuser # Max jobs per user (MaxJobsPerUser) #

# The MaxJobsPerUser directive controls the maximum number of active # jobs that are allowed for each user. Once a user reaches the limit, new # jobs will be rejected until one of the active jobs is completed, stopped, # aborted, or canceled.

#

# Setting the maximum to 0 disables this functionality. # Default is 0 (no limit). #

$$ #MaxJobsPerUser 0 @@ %%maxjobsperprinter # Max jobs per printer (MaxJobsPerPrinter) #

# The MaxJobsPerPrinter directive controls the maximum number of active # jobs that are allowed for each printer or class. Once a printer or class # reaches the limit, new jobs will be rejected until one of the active jobs # is completed, stopped, aborted, or canceled.

#

# Setting the maximum to 0 disables this functionality. # Default is 0 (no limit). #

$$ #MaxJobsPerPrinter 0 @@ %%port # Port #

# The port value that the CUPS daemon is listening to. Default is 631.

@@ %%address # Address #

# The address that the CUPS daemon is listening at. Leave it empty or use # an asterisk (*) to specify a port value on the entire subnetwork.

@@ %%usessl #

Check this box if you want to use SSL encryption with this address/port. #

@@