client.conf - client configuration file for cups
The client.conf file configures the CUPS client and is normally located in any of the following directories:
Each line in the file can be a configuration directive, a blank line, or a comment. Comment lines start with the # character.
Note: macOS applications can access many of these settings in the /Library/Preferences/org.cups.PrintingPrefs.plist file instead. macOS also does not support the ServerName directive. See the NOTES section below for more information.
The following directives are understood by the client. Consult the online help for detailed descriptions:
AllowAnyRoot Yes
AllowAnyRoot No
Specifies whether to allow TLS with certificates that have not been signed by a trusted Certificate Authority.
The default is
Yes.
AllowExpiredCerts Yes
AllowExpiredCerts No
Specifies whether to allow TLS with expired certificates.
The default is
No.
DigestOptions DenyMD5
DigestOptions None
Specifies HTTP Digest authentication options.
DenyMD5
disables support for the original MD5 hash algorithm.
The default is
None.
Encryption IfRequested
Encryption Never
Encryption Required
Specifies the level of encryption that should be used.
The default is
IfRequested.
BrowseDomains all
BrowseDomains none
BrowseDomains DOMAIN[,...,DOMAIN]
Specifies the DNS-SD domains to browse for IPP printers.
The value
all
browses the ".local" domain (mDNS) and all registered DNS domains on the local system.
The value
none
disables browsing for network printers.
The default is
all.
FilterLocation LOCATION[,...,LOCATION]
FilterLocation 'LOCATION'[,...,'LOCATION']
FilterLocation "LOCATION"[,...,"LOCATION"]
Specifies a list of locations to use for destinations.
FilterLocation /REGULAR-EXPRESSION/
Specifies a regular expression for matching locations to use for destinations.
FilterType any
FilterType TYPE[,...,TYPE]
Specifies the type of destinations to use.
The
TYPE
values are "mono" for B&W printers, "color" for color printers, "duplex" for printers with 2-sided printing capabilities, "simplex" for printers with 1-sided printing capabilities, "bind" for printers that can bind output, "cover" for printers that can cover output, "punch" for printers that can punch output, "sort" for printers that can sort output, "staple" for printers with a stapler, "small" for printers that support media up to US Legal/ISO A4, "medium" for printers that support media up to US Tabloid/ISO A3, and "large" for printers that support media larger than US Tabloid/ISO A3.
The default is no filtering.
ServerName HOSTNAME-OR-IP-ADDRESS[:PORT]
ServerName /DOMAIN/SOCKET
Specifies the address and optionally the port to use when connecting to the server (not supported on macOS).
ServerName HOSTNAME-OR-IP-ADDRESS[:PORT]/version=1.1
Specifies the address and optionally the port to use when connecting to a server running CUPS 1.3.12 and earlier.
The default is the local spooler's domain socket.
SSLOptions [AllowDH] [AllowRC4] [AllowSSL3] [DenyCBC] [DenyTLS1.0] [MaxTLS1.0] [MaxTLS1.1] [MaxTLS1.2] [MaxTLS1.3] [MinTLS1.0] [MinTLS1.1] [MinTLS1.2] [MinTLS1.3]
SSLOptions None
Sets encryption options.
The default is
None
which only supports encryption using TLS v1.0 or higher using known secure cipher suites.
Security is reduced when
Allow
options are used.
Security is enhanced when
Deny
options are used.
The
AllowDH
option enables cipher suites using plain Diffie-Hellman key negotiation (not supported on systems using GNU TLS).
The
AllowRC4
option enables the 128-bit RC4 cipher suites, which are required for some older clients.
The
AllowSSL3
option enables SSL v3.0, which is required for some older clients that do not support TLS v1.0.
The
DenyCBC
option disables all CBC cipher suites.
The
DenyTLS1.0
option disables TLS v1.0 support - this sets the minimum protocol version to TLS v1.1.
The
MinTLSversion
options set the minimum TLS version to support.
The
MaxTLSversion
options set the maximum TLS version to support.
TrustOnFirstUse Yes
TrustOnFirstUse No
Specifies whether to trust new (self-signed) TLS certificates by default.
The default is
Yes.
User NAME
Specifies the default user name to use for requests.
The default is the login user name.
UserAgentTokens None
UserAgentTokens ProductOnly
UserAgentTokens Major
UserAgentTokens Minor
UserAgentTokens Minimal
UserAgentTokens OS
UserAgentTokens Full
Specifies what information is included in the User-Agent header of HTTP requests.
None
disables the User-Agent header.
ProductOnly
reports "CUPS".
Major
reports "CUPS/major IPP/2".
Minor
reports "CUPS/major.minor IPP/2.1".
Minimal
reports "CUPS/major.minor.patch IPP/2.1".
OS
reports "CUPS/major.minor.path (osname osversion) IPP/2.1".
Full
reports "CUPS/major.minor.path (osname osversion; architecture) IPP/2.1".
The default is
Minimal.
ValidateCerts Yes
ValidateCerts No
Specifies whether to only allow TLS with certificates whose commonName or subjectAltName values match the hostname of the printer or server.
The default is
No.
CUPS uses the system root CA certificate store and per-user certificate stores managed by CUPS. The per-user certificate stores are found in /etc/cups/ssl or /usr/local/etc/cups/ssl for the root user and $XDG_CONFIG_HOME/cups/ssl or $HOME/.config/cups/ssl (Linux/*BSD), $HOME/Library/Application Support/cups/ssl (macOS), %USERPROFILE%/AppData/Local/cups (Windows), and/or $HOME/.cups/ssl (historical/other Unix platforms) for other user accounts.
Certificates, certificate signing requests, and private keys are stored as PEM-encoded files with the naming convention "COMMON-NAME.crt" for certificates, "COMMON-NAME.csr" for certificate signing requests, and "COMMON-NAME.key" for private keys. The special common name "_site_" is used for a site-specific root certificate that can be used for trust evaluations.
CUPS supports validation of the certificate's commonName and subjectAltName field values, the certificate expiration date, and the certificate's root certificate(s), if any. Self-signed certificates are "pinned" (stored) to the host in order to do validation. Validation for certain non-printing servers may add additional restrictions to the policy defined in the client.conf file. For example, OAuth authorization requires a CA-signed certificate.
The AllowAnyRoot directive controls whether unpinned self-signed certificates are acceptable. The TrustOnFirstUse directive controls whether self-certificates are automatically pinned in the per-user certificate store for subsequent host validations. When AllowAnyRoot is disabled, TrustOnFirstUse is also disabled.
Because of sandboxing, the client.conf file is not generally accessible to applications on macOS. Configuration settings can instead be viewed or changed using the defaults(1) command:
defaults write /Library/Preferences/org.cups.PrintingPrefs.plist Encryption Required defaults write /Library/Preferences/org.cups.PrintingPrefs.plist TrustOnFirstUse -bool NO defaults read /Library/Preferences/org.cups.PrintingPrefs.plist Encryption
On Linux and other systems using GNU TLS, the /etc/cups/ssl/site.crl or /usr/local/etc/cups/ssl/site.crl file, if present, provides a list of revoked X.509 certificates and is used when validating certificates.
cups(1), cups-x509(1)
Copyright © 2021-2025 by OpenPrinting.