client.conf(5)
π NAME π
client.conf β the client configuration file for CUPS, bestie. (Also: deprecated on macOS, we'll get to that π)
β¨ DESCRIPTION β¨
So the client.conf file is what configures your CUPS client, and it usually lives in the /etc/cups and/or ~/.cups directories. π
Every line in the file can be one of three things: a configuration directive, a blank line, or a comment. And comment lines? They start with the # character. Periodt.
Note: Starting with macOS 10.7, this file is only used by command-line and X11 applications plus the IPP backend. TheServerNamedirective is not supported on macOS at all. And starting with macOS 10.12, all applications can access these settings in the/Library/Preferences/org.cups.PrintingPrefs.plistfile instead. Scroll down to the NOTES section for more, iykyk. π
π¦ DIRECTIVES π¦
These are the directives the client understands. The online help has the detailed descriptions, but here's the whole squad:
AllowAnyRoot Yes/AllowAnyRoot Noβ says whether to allow TLS with certificates that have not been signed by a trusted Certificate Authority. Default is"Yes". πAllowExpiredCerts Yes/AllowExpiredCerts Noβ says whether to allow TLS with expired certificates. Default is"No".DigestOptions DenyMD5/DigestOptions Noneβ sets the HTTP Digest authentication options.DenyMD5disables support for the original MD5 hash algorithm. π«Encryption IfRequested/Encryption Never/Encryption Requiredβ sets the level of encryption that should be used.GSSServiceName nameβ sets the Kerberos service name used for authentication, typically"host","http", or"ipp". CUPS adds the remote hostname ("name@server.example.com") for you. The default name is"http".ServerName hostname-or-ip-address[:port]ServerName /domain/socketβ sets the address and optionally the port to use when connecting to the server. Note: this directive is not supported on macOS 10.7 or later. πServerName hostname-or-ip-address[:port]/version=1.1β sets the address and optionally the port to use when connecting to a server running CUPS 1.3.12 and earlier.SSLOptionsβ the full roster is:
SSLOptions [AllowDH] [AllowRC4] [AllowSSL3] [DenyCBC] [DenyTLS1.0]
[MaxTLS1.0] [MaxTLS1.1] [MaxTLS1.2] [MaxTLS1.3] [MinTLS1.0] [MinTLS1.1]
[MinTLS1.2] [MinTLS1.3] [NoSystem]
SSLOptions Noneβ sets encryption options (only in/etc/cups/client.conf, okay? only there). By default, CUPS only supports encryption using TLS v1.0 or higher with known secure cipher suites. π Security goes down whenAllowoptions are used, and up whenDenyoptions are used.- The
AllowDHoption enables cipher suites using plain Diffie-Hellman key negotiation (not supported on systems using GNU TLS). - The
AllowRC4option enables the 128-bit RC4 cipher suites, which are required for some older clients. - The
AllowSSL3option enables SSL v3.0, which is required for some older clients that do not support TLS v1.0. - The
DenyCBCoption disables all CBC cipher suites. - The
DenyTLS1.0option disables TLS v1.0 support β this sets the minimum protocol version to TLS v1.1. - The
MinTLSoptions set the minimum TLS version to support. - The
MaxTLSoptions set the maximum TLS version to support. - The
NoSystemoption disables applying system cryptographic policy. - Not all operating systems support TLS 1.3 at this time. π₯²
- The
TrustOnFirstUse Yes/TrustOnFirstUse Noβ says whether to trust new TLS certificates by default. Default is"Yes".User nameβ sets the default user name to use for requests.UserAgentTokensβ what info gets stuffed into theUser-Agentheader of HTTP requests:UserAgentTokens Noneβ"None"disables theUser-Agentheader.UserAgentTokens ProductOnlyβ"ProductOnly"reports"CUPS".UserAgentTokens Majorβ"Major"reports"CUPS/major IPP/2".UserAgentTokens Minorβ"Minor"reports"CUPS/major.minor IPP/2.1".UserAgentTokens Minimalβ"Minimal"reports"CUPS/major.minor.patch IPP/2.1".UserAgentTokens OSβ"OS"reports"CUPS/major.minor.path (osname osversion) IPP/2.1".UserAgentTokens Fullβ"Full"reports"CUPS/major.minor.path (osname osversion; architecture) IPP/2.1".- The default is
"Minimal". π
ValidateCerts Yes/ValidateCerts Noβ says whether to only allow TLS with certificates whose common name matches the hostname. Default is"No".
πΈ NOTES πΈ
Okay so real talk: the client.conf file is deprecated on macOS and will no longer be supported in a future version of CUPS. π Instead, you can view or change these settings with 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
And on Linux and other systems using GNU TLS, the /etc/cups/ssl/site.crl file β if it's present β gives you a list of revoked X.509 certificates, and it gets used when validating certificates. π§
π SEE ALSO π
cups(1), default(1), CUPS Online Help (http://localhost:631/help)
π COPYRIGHT π
Copyright Β© 2020-2025 by OpenPrinting.
That's the whole page, bestie β slayed, no cap. π«Ά
This was the client.conf(5) page from CUPS, dated 2021-02-28, and it's giving OpenPrinting energy from start to finish. Go configure something iconic. πβ¨
π¦ where this page comes from
- alpine 3.22: cups-doc 2.4.18-r0 Β· Apache-2.0
- alpine 3.23: cups-doc 2.4.18-r0 Β· Apache-2.0
- alpine 3.24: cups-doc 2.4.19-r1 Β· Apache-2.0
- fedora 43: cups 1:2.4.14-2.fc43 Β· Apache-2.0 WITH LLVM-exception AND BSD-3-Clause AND Zlib AND BSD-2-Clause
- fedora 43: cups 1:2.4.19-3.fc43 Β· Apache-2.0 WITH LLVM-exception AND BSD-3-Clause AND Zlib AND BSD-2-Clause
- fedora 44: cups 1:2.4.16-7.fc44 Β· Apache-2.0 WITH LLVM-exception AND BSD-3-Clause AND Zlib AND BSD-2-Clause
- fedora 44: cups 1:2.4.19-3.fc44 Β· Apache-2.0 WITH LLVM-exception AND BSD-3-Clause AND Zlib AND BSD-2-Clause
- nixpkgs unstable: cups 2.4.19
- opensuse-leap 16.0: cups 2.4.19-160000.2.1 Β· Apache-2.0
- opensuse-leap 16.0: cups 2.4.19-160000.2.1 Β· Apache-2.0
- opensuse-leap 16.0: cups 2.4.19-160000.2.1 Β· Apache-2.0
- opensuse-leap 16.0: cups 2.4.19-160000.2.1 Β· Apache-2.0
- ubuntu resolute: cups-client 2.4.16-1ubuntu1 Β· Apache-2.0-with-GPL2-LGPL2-Exception
- ubuntu resolute: cups-client 2.4.16-1ubuntu1.3 Β· Apache-2.0-with-GPL2-LGPL2-Exception
- ubuntu stonking: cups-client 2.4.16-1ubuntu3 Β· Apache-2.0-with-GPL2-LGPL2-Exception
- Copyright Β© 2020-2025 by OpenPrinting
- Copyright Β© 2007-2019 by Apple Inc
- Copyright Β© 2006 by Easy Software Products
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms