Add support for DigestOptions directive in client.conf (Issue #5647)

Esse commit está contido em:
Michael R Sweet
2019-10-15 17:34:21 -04:00
commit ec8beb8952
8 arquivos alterados com 80 adições e 25 exclusões
-8
Ver Arquivo
@@ -80,14 +80,6 @@ filter/rastertopwg
locale/checkpo locale/checkpo
locale/po2strings locale/po2strings
locale/strings2po locale/strings2po
man/client.conf.man
man/cups-files.conf.man
man/cups-lpd.man
man/cups-snmp.man
man/cupsaddsmb.man
man/cupsd.conf.man
man/cupsd.man
man/lpoptions.man
man/mantohtml man/mantohtml
monitor/bcp monitor/bcp
monitor/tbcp monitor/tbcp
+4 -2
Ver Arquivo
@@ -9,14 +9,16 @@ Changes in CUPS v2.3.1
- Fixed a crash bug in the web interface (Issue #5621) - Fixed a crash bug in the web interface (Issue #5621)
- PPD files containing "custom" option keywords did not work (Issue #5639) - PPD files containing "custom" option keywords did not work (Issue #5639)
- Added a workaround for the scheduler's systemd support (Issue #5640) - Added a workaround for the scheduler's systemd support (Issue #5640)
- Fixed spelling of "fold-accordion". - Added a DigestOptions directive for the `client.conf` file to control whether
- Fixed the default common name for TLS certificates used by `ippeveprinter`. MD5-based Digest authentication is allowed (Issue #5647)
- Fixed a bug in the handling of printer resource files (Issue #5652) - Fixed a bug in the handling of printer resource files (Issue #5652)
- The libusb-based USB backend now reports an error when the distribution - The libusb-based USB backend now reports an error when the distribution
permissions are wrong (Issue #5658) permissions are wrong (Issue #5658)
- Added paint can labels to Dymo driver (Issue #5662) - Added paint can labels to Dymo driver (Issue #5662)
- The IPP backend did not detect all cases where a job should be retried using - The IPP backend did not detect all cases where a job should be retried using
a raster format (rdar://56021091) a raster format (rdar://56021091)
- Fixed spelling of "fold-accordion".
- Fixed the default common name for TLS certificates used by `ippeveprinter`.
Changes in CUPS v2.3.0 Changes in CUPS v2.3.0
+1 -1
Ver Arquivo
@@ -289,7 +289,7 @@ cupsDoAuthentication(
if (_httpSetDigestAuthString(http, nonce, method, resource)) if (_httpSetDigestAuthString(http, nonce, method, resource))
{ {
DEBUG_puts("2cupsDoAuthentication: Using Basic."); DEBUG_puts("2cupsDoAuthentication: Using Digest.");
break; break;
} }
} }
+7
Ver Arquivo
@@ -57,6 +57,12 @@ typedef struct _cups_raster_error_s /**** Error buffer structure ****/
*end; /* End of buffer */ *end; /* End of buffer */
} _cups_raster_error_t; } _cups_raster_error_t;
typedef enum _cups_digestoptions_e /**** Digest Options values */
{
_CUPS_DIGESTOPTIONS_NONE, /* No Digest authentication options */
_CUPS_DIGESTOPTIONS_DENYMD5 /* Do not use MD5 hashes for digest */
} _cups_digestoptions_t;
typedef enum _cups_uatokens_e /**** UserAgentTokens values */ typedef enum _cups_uatokens_e /**** UserAgentTokens values */
{ {
_CUPS_UATOKENS_NONE, /* Do not send User-Agent */ _CUPS_UATOKENS_NONE, /* Do not send User-Agent */
@@ -157,6 +163,7 @@ typedef struct _cups_globals_s /**** CUPS global state data ****/
char tempfile[1024]; /* cupsTempFd/File buffer */ char tempfile[1024]; /* cupsTempFd/File buffer */
/* usersys.c */ /* usersys.c */
_cups_digestoptions_t digestoptions; /* DigestOptions setting */
_cups_uatokens_t uatokens; /* UserAgentTokens setting */ _cups_uatokens_t uatokens; /* UserAgentTokens setting */
http_encryption_t encryption; /* Encryption setting */ http_encryption_t encryption; /* Encryption setting */
char user[65], /* User name */ char user[65], /* User name */
+8 -1
Ver Arquivo
@@ -1,7 +1,7 @@
/* /*
* HTTP support routines for CUPS. * HTTP support routines for CUPS.
* *
* Copyright 2007-2018 by Apple Inc. * Copyright 2007-2019 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved. * Copyright 1997-2007 by Easy Software Products, all rights reserved.
* *
* Licensed under Apache License v2.0. See the file "LICENSE" for more * Licensed under Apache License v2.0. See the file "LICENSE" for more
@@ -1321,6 +1321,7 @@ _httpSetDigestAuthString(
digest[1024]; /* Digest auth data */ digest[1024]; /* Digest auth data */
unsigned char hash[32]; /* Hash buffer */ unsigned char hash[32]; /* Hash buffer */
size_t hashsize; /* Size of hash */ size_t hashsize; /* Size of hash */
_cups_globals_t *cg = _cupsGlobals(); /* Per-thread globals */
DEBUG_printf(("2_httpSetDigestAuthString(http=%p, nonce=\"%s\", method=\"%s\", resource=\"%s\")", (void *)http, nonce, method, resource)); DEBUG_printf(("2_httpSetDigestAuthString(http=%p, nonce=\"%s\", method=\"%s\", resource=\"%s\")", (void *)http, nonce, method, resource));
@@ -1363,6 +1364,12 @@ _httpSetDigestAuthString(
* RFC 2617 Digest with MD5 * RFC 2617 Digest with MD5
*/ */
if (cg->digestoptions == _CUPS_DIGESTOPTIONS_DENYMD5)
{
DEBUG_puts("3_httpSetDigestAuthString: MD5 Digest is disabled.");
return (0);
}
hashalg = "md5"; hashalg = "md5";
} }
else if (!_cups_strcasecmp(http->algorithm, "SHA-256")) else if (!_cups_strcasecmp(http->algorithm, "SHA-256"))
+30 -3
Ver Arquivo
@@ -40,6 +40,8 @@
# define kCUPSPrintingPrefs CFSTR(".GlobalPreferences") # define kCUPSPrintingPrefs CFSTR(".GlobalPreferences")
# define kPREFIX "AirPrint" # define kPREFIX "AirPrint"
# endif /* TARGET_OS_OSX */ # endif /* TARGET_OS_OSX */
# define kDigestOptionsKey CFSTR(kPREFIX "DigestOptions")
# define kUserKey CFSTR(kPREFIX "User")
# define kUserAgentTokensKey CFSTR(kPREFIX "UserAgentTokens") # define kUserAgentTokensKey CFSTR(kPREFIX "UserAgentTokens")
# define kAllowAnyRootKey CFSTR(kPREFIX "AllowAnyRoot") # define kAllowAnyRootKey CFSTR(kPREFIX "AllowAnyRoot")
# define kAllowExpiredCertsKey CFSTR(kPREFIX "AllowExpiredCerts") # define kAllowExpiredCertsKey CFSTR(kPREFIX "AllowExpiredCerts")
@@ -63,6 +65,7 @@
typedef struct _cups_client_conf_s /**** client.conf config data ****/ typedef struct _cups_client_conf_s /**** client.conf config data ****/
{ {
_cups_digestoptions_t digestoptions; /* DigestOptions values */
_cups_uatokens_t uatokens; /* UserAgentTokens values */ _cups_uatokens_t uatokens; /* UserAgentTokens values */
#ifdef HAVE_SSL #ifdef HAVE_SSL
int ssl_options, /* SSLOptions values */ int ssl_options, /* SSLOptions values */
@@ -97,6 +100,7 @@ static void cups_finalize_client_conf(_cups_client_conf_t *cc);
static void cups_init_client_conf(_cups_client_conf_t *cc); static void cups_init_client_conf(_cups_client_conf_t *cc);
static void cups_read_client_conf(cups_file_t *fp, _cups_client_conf_t *cc); static void cups_read_client_conf(cups_file_t *fp, _cups_client_conf_t *cc);
static void cups_set_default_ipp_port(_cups_globals_t *cg); static void cups_set_default_ipp_port(_cups_globals_t *cg);
static void cups_set_digestoptions(_cups_client_conf_t *cc, const char *value);
static void cups_set_encryption(_cups_client_conf_t *cc, const char *value); static void cups_set_encryption(_cups_client_conf_t *cc, const char *value);
#ifdef HAVE_GSSAPI #ifdef HAVE_GSSAPI
static void cups_set_gss_service_name(_cups_client_conf_t *cc, const char *value); static void cups_set_gss_service_name(_cups_client_conf_t *cc, const char *value);
@@ -1324,10 +1328,14 @@ cups_init_client_conf(
cc->validate_certs = bval; cc->validate_certs = bval;
# endif /* HAVE_SSL */ # endif /* HAVE_SSL */
if (cups_apple_get_string(kDigestOptionsKey, sval, sizeof(sval)))
cups_set_digestoptions(cc, sval);
if (cups_apple_get_string(kUserKey, sval, sizeof(sval)))
strlcpy(cc->user, sval, sizeof(cc->user));
if (cups_apple_get_string(kUserAgentTokensKey, sval, sizeof(sval))) if (cups_apple_get_string(kUserAgentTokensKey, sval, sizeof(sval)))
{
cups_set_uatokens(cc, sval); cups_set_uatokens(cc, sval);
}
#endif /* __APPLE__ */ #endif /* __APPLE__ */
} }
@@ -1353,7 +1361,9 @@ cups_read_client_conf(
linenum = 0; linenum = 0;
while (cupsFileGetConf(fp, line, sizeof(line), &value, &linenum)) while (cupsFileGetConf(fp, line, sizeof(line), &value, &linenum))
{ {
if (!_cups_strcasecmp(line, "Encryption") && value) if (!_cups_strcasecmp(line, "DigestOptions") && value)
cups_set_digestoptions(cc, value);
else if (!_cups_strcasecmp(line, "Encryption") && value)
cups_set_encryption(cc, value); cups_set_encryption(cc, value);
#ifndef __APPLE__ #ifndef __APPLE__
/* /*
@@ -1408,6 +1418,23 @@ cups_set_default_ipp_port(
cg->ipp_port = CUPS_DEFAULT_IPP_PORT; cg->ipp_port = CUPS_DEFAULT_IPP_PORT;
} }
/*
* 'cups_set_digestoptions()' - Set the DigestOptions value.
*/
static void
cups_set_digestoptions(
_cups_client_conf_t *cc, /* I - client.conf values */
const char *value) /* I - Value */
{
if (!_cups_strcasecmp(value, "DenyMD5"))
cc->digestoptions = _CUPS_DIGESTOPTIONS_DENYMD5;
else if (!_cups_strcasecmp(value, "None"))
cc->digestoptions = _CUPS_DIGESTOPTIONS_NONE;
}
/* /*
* 'cups_set_encryption()' - Set the Encryption value. * 'cups_set_encryption()' - Set the Encryption value.
*/ */
+13 -9
Ver Arquivo
@@ -19,28 +19,32 @@ See the NOTES section below for more information.
<h3><a name="DIRECTIVES">Directives</a></h3> <h3><a name="DIRECTIVES">Directives</a></h3>
The following directives are understood by the client. Consult the online help for detailed descriptions: The following directives are understood by the client. Consult the online help for detailed descriptions:
<dl class="man"> <dl class="man">
<dt><b>AllowAnyRoot Yes</b> <dt><a name="AllowAnyRoot"></a><b>AllowAnyRoot Yes</b>
<dd style="margin-left: 5.0em"><dt><b>AllowAnyRoot No</b> <dd style="margin-left: 5.0em"><dt><b>AllowAnyRoot No</b>
<dd style="margin-left: 5.0em">Specifies whether to allow TLS with certificates that have not been signed by a trusted Certificate Authority. <dd style="margin-left: 5.0em">Specifies whether to allow TLS with certificates that have not been signed by a trusted Certificate Authority.
The default is "Yes". The default is "Yes".
<dt><b>AllowExpiredCerts Yes</b> <dt><a name="AllowExpiredCerts"></a><b>AllowExpiredCerts Yes</b>
<dd style="margin-left: 5.0em"><dt><b>AllowExpiredCerts No</b> <dd style="margin-left: 5.0em"><dt><b>AllowExpiredCerts No</b>
<dd style="margin-left: 5.0em">Specifies whether to allow TLS with expired certificates. <dd style="margin-left: 5.0em">Specifies whether to allow TLS with expired certificates.
The default is "No". The default is "No".
<dt><b>Encryption IfRequested</b> <dt><a name="DigestOptions"></a><b>DigestOptions DenyMD5</b>
<dd style="margin-left: 5.0em"><dt><b>DigestOptions None</b>
<dd style="margin-left: 5.0em">Specifies HTTP Digest authentication options.
<b>DenyMD5</b> disables support for the original MD5 hash algorithm.
<dt><a name="Encryption"></a><b>Encryption IfRequested</b>
<dd style="margin-left: 5.0em"><dt><b>Encryption Never</b> <dd style="margin-left: 5.0em"><dt><b>Encryption Never</b>
<dd style="margin-left: 5.0em"><dt><b>Encryption Required</b> <dd style="margin-left: 5.0em"><dt><b>Encryption Required</b>
<dd style="margin-left: 5.0em">Specifies the level of encryption that should be used. <dd style="margin-left: 5.0em">Specifies the level of encryption that should be used.
<dt><b>GSSServiceName </b><i>name</i> <dt><a name="GSSServiceName"></a><b>GSSServiceName </b><i>name</i>
<dd style="margin-left: 5.0em">Specifies the Kerberos service name that is used for authentication, typically "host", "http", or "ipp". <dd style="margin-left: 5.0em">Specifies the Kerberos service name that is used for authentication, typically "host", "http", or "ipp".
CUPS adds the remote hostname ("name@server.example.com") for you. The default name is "http". CUPS adds the remote hostname ("name@server.example.com") for you. The default name is "http".
<dt><b>ServerName </b><i>hostname-or-ip-address</i>[<i>:port</i>] <dt><a name="ServerName"></a><b>ServerName </b><i>hostname-or-ip-address</i>[<i>:port</i>]
<dd style="margin-left: 5.0em"><dt><b>ServerName </b><i>/domain/socket</i> <dd style="margin-left: 5.0em"><dt><b>ServerName </b><i>/domain/socket</i>
<dd style="margin-left: 5.0em">Specifies the address and optionally the port to use when connecting to the server. <dd style="margin-left: 5.0em">Specifies the address and optionally the port to use when connecting to the server.
<b>Note: This directive is not supported on macOS 10.7 or later.</b> <b>Note: This directive is not supported on macOS 10.7 or later.</b>
<dt><b>ServerName </b><i>hostname-or-ip-address</i>[<i>:port</i>]<b>/version=1.1</b> <dt><b>ServerName </b><i>hostname-or-ip-address</i>[<i>:port</i>]<b>/version=1.1</b>
<dd style="margin-left: 5.0em">Specifies the address and optionally the port to use when connecting to a server running CUPS 1.3.12 and earlier. <dd style="margin-left: 5.0em">Specifies the address and optionally the port to use when connecting to a server running CUPS 1.3.12 and earlier.
<dt><b>SSLOptions </b>[<i>AllowDH</i>] [<i>AllowRC4</i>] [<i>AllowSSL3</i>] [<i>DenyCBC</i>] [<i>DenyTLS1.0</i>] [<i>MaxTLS1.0</i>] [<i>MaxTLS1.1</i>] [<i>MaxTLS1.2</i>] [<i>MaxTLS1.3</i>] [<i>MinTLS1.0</i>] [<i>MinTLS1.1</i>] [<i>MinTLS1.2</i>] [<i>MinTLS1.3</i>] <dt><a name="SSLOptions"></a><b>SSLOptions </b>[<i>AllowDH</i>] [<i>AllowRC4</i>] [<i>AllowSSL3</i>] [<i>DenyCBC</i>] [<i>DenyTLS1.0</i>] [<i>MaxTLS1.0</i>] [<i>MaxTLS1.1</i>] [<i>MaxTLS1.2</i>] [<i>MaxTLS1.3</i>] [<i>MinTLS1.0</i>] [<i>MinTLS1.1</i>] [<i>MinTLS1.2</i>] [<i>MinTLS1.3</i>]
<dd style="margin-left: 5.0em"><dt><b>SSLOptions None</b> <dd style="margin-left: 5.0em"><dt><b>SSLOptions None</b>
<dd style="margin-left: 5.0em">Sets encryption options (only in /etc/cups/client.conf). <dd style="margin-left: 5.0em">Sets encryption options (only in /etc/cups/client.conf).
By default, CUPS only supports encryption using TLS v1.0 or higher using known secure cipher suites. By default, CUPS only supports encryption using TLS v1.0 or higher using known secure cipher suites.
@@ -54,11 +58,11 @@ The <i>DenyTLS1.0</i> option disables TLS v1.0 support - this sets the minimum p
The <i>MinTLS</i> options set the minimum TLS version to support. The <i>MinTLS</i> options set the minimum TLS version to support.
The <i>MaxTLS</i> options set the maximum TLS version to support. The <i>MaxTLS</i> options set the maximum TLS version to support.
Not all operating systems support TLS 1.3 at this time. Not all operating systems support TLS 1.3 at this time.
<dt><b>TrustOnFirstUse Yes</b> <dt><a name="TrustOnFirstUse"></a><b>TrustOnFirstUse Yes</b>
<dd style="margin-left: 5.0em"><dt><b>TrustOnFirstUse No</b> <dd style="margin-left: 5.0em"><dt><b>TrustOnFirstUse No</b>
<dd style="margin-left: 5.0em">Specifies whether to trust new TLS certificates by default. <dd style="margin-left: 5.0em">Specifies whether to trust new TLS certificates by default.
The default is "Yes". The default is "Yes".
<dt><b>User </b><i>name</i> <dt><a name="User"></a><b>User </b><i>name</i>
<dd style="margin-left: 5.0em">Specifies the default user name to use for requests. <dd style="margin-left: 5.0em">Specifies the default user name to use for requests.
<dt><a name="UserAgentTokens"></a><b>UserAgentTokens None</b> <dt><a name="UserAgentTokens"></a><b>UserAgentTokens None</b>
<dd style="margin-left: 5.0em"><dt><b>UserAgentTokens ProductOnly</b> <dd style="margin-left: 5.0em"><dt><b>UserAgentTokens ProductOnly</b>
@@ -76,7 +80,7 @@ The default is "Yes".
"OS" reports "CUPS/major.minor.path (osname osversion) 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". "Full" reports "CUPS/major.minor.path (osname osversion; architecture) IPP/2.1".
The default is "Minimal". The default is "Minimal".
<dt><b>ValidateCerts Yes</b> <dt><a name="ValidateCerts"></a><b>ValidateCerts Yes</b>
<dd style="margin-left: 5.0em"><dt><b>ValidateCerts No</b> <dd style="margin-left: 5.0em"><dt><b>ValidateCerts No</b>
<dd style="margin-left: 5.0em">Specifies whether to only allow TLS with certificates whose common name matches the hostname. <dd style="margin-left: 5.0em">Specifies whether to only allow TLS with certificates whose common name matches the hostname.
The default is "No". The default is "No".
+17 -1
Ver Arquivo
@@ -7,7 +7,7 @@
.\" Licensed under Apache License v2.0. See the file "LICENSE" for more .\" Licensed under Apache License v2.0. See the file "LICENSE" for more
.\" information. .\" information.
.\" .\"
.TH client.conf 5 "CUPS" "26 April 2019" "Apple Inc." .TH client.conf 5 "CUPS" "15 October 2019" "Apple Inc."
.SH NAME .SH NAME
client.conf \- client configuration file for cups (deprecated on macos) client.conf \- client configuration file for cups (deprecated on macos)
.SH DESCRIPTION .SH DESCRIPTION
@@ -20,18 +20,28 @@ Starting with macOS 10.12, all applications can access these settings in the \fI
See the NOTES section below for more information. See the NOTES section below for more information.
.SS DIRECTIVES .SS DIRECTIVES
The following directives are understood by the client. Consult the online help for detailed descriptions: The following directives are understood by the client. Consult the online help for detailed descriptions:
.\"#AllowAnyRoot
.TP 5 .TP 5
\fBAllowAnyRoot Yes\fR \fBAllowAnyRoot Yes\fR
.TP 5 .TP 5
\fBAllowAnyRoot No\fR \fBAllowAnyRoot No\fR
Specifies whether to allow TLS with certificates that have not been signed by a trusted Certificate Authority. Specifies whether to allow TLS with certificates that have not been signed by a trusted Certificate Authority.
The default is "Yes". The default is "Yes".
.\"#AllowExpiredCerts
.TP 5 .TP 5
\fBAllowExpiredCerts Yes\fR \fBAllowExpiredCerts Yes\fR
.TP 5 .TP 5
\fBAllowExpiredCerts No\fR \fBAllowExpiredCerts No\fR
Specifies whether to allow TLS with expired certificates. Specifies whether to allow TLS with expired certificates.
The default is "No". The default is "No".
.\"#DigestOptions
.TP 5
\fBDigestOptions DenyMD5\fR
.TP 5
\fBDigestOptions None\fR
Specifies HTTP Digest authentication options.
\fBDenyMD5\fR disables support for the original MD5 hash algorithm.
.\"#Encryption
.TP 5 .TP 5
\fBEncryption IfRequested\fR \fBEncryption IfRequested\fR
.TP 5 .TP 5
@@ -39,10 +49,12 @@ The default is "No".
.TP 5 .TP 5
\fBEncryption Required\fR \fBEncryption Required\fR
Specifies the level of encryption that should be used. Specifies the level of encryption that should be used.
.\"#GSSServiceName
.TP 5 .TP 5
\fBGSSServiceName \fIname\fR \fBGSSServiceName \fIname\fR
Specifies the Kerberos service name that is used for authentication, typically "host", "http", or "ipp". Specifies the Kerberos service name that is used for authentication, typically "host", "http", or "ipp".
CUPS adds the remote hostname ("name@server.example.com") for you. The default name is "http". CUPS adds the remote hostname ("name@server.example.com") for you. The default name is "http".
.\"#ServerName
.TP 5 .TP 5
\fBServerName \fIhostname-or-ip-address\fR[\fI:port\fR] \fBServerName \fIhostname-or-ip-address\fR[\fI:port\fR]
.TP 5 .TP 5
@@ -52,6 +64,7 @@ Specifies the address and optionally the port to use when connecting to the serv
.TP 5 .TP 5
\fBServerName \fIhostname-or-ip-address\fR[\fI:port\fR]\fB/version=1.1\fR \fBServerName \fIhostname-or-ip-address\fR[\fI:port\fR]\fB/version=1.1\fR
Specifies the address and optionally the port to use when connecting to a server running CUPS 1.3.12 and earlier. Specifies the address and optionally the port to use when connecting to a server running CUPS 1.3.12 and earlier.
.\"#SSLOptions
.TP 5 .TP 5
\fBSSLOptions \fR[\fIAllowDH\fR] [\fIAllowRC4\fR] [\fIAllowSSL3\fR] [\fIDenyCBC\fR] [\fIDenyTLS1.0\fR] [\fIMaxTLS1.0\fR] [\fIMaxTLS1.1\fR] [\fIMaxTLS1.2\fR] [\fIMaxTLS1.3\fR] [\fIMinTLS1.0\fR] [\fIMinTLS1.1\fR] [\fIMinTLS1.2\fR] [\fIMinTLS1.3\fR] \fBSSLOptions \fR[\fIAllowDH\fR] [\fIAllowRC4\fR] [\fIAllowSSL3\fR] [\fIDenyCBC\fR] [\fIDenyTLS1.0\fR] [\fIMaxTLS1.0\fR] [\fIMaxTLS1.1\fR] [\fIMaxTLS1.2\fR] [\fIMaxTLS1.3\fR] [\fIMinTLS1.0\fR] [\fIMinTLS1.1\fR] [\fIMinTLS1.2\fR] [\fIMinTLS1.3\fR]
.TP 5 .TP 5
@@ -68,12 +81,14 @@ The \fIDenyTLS1.0\fR option disables TLS v1.0 support - this sets the minimum pr
The \fIMinTLS\fR options set the minimum TLS version to support. The \fIMinTLS\fR options set the minimum TLS version to support.
The \fIMaxTLS\fR options set the maximum TLS version to support. The \fIMaxTLS\fR options set the maximum TLS version to support.
Not all operating systems support TLS 1.3 at this time. Not all operating systems support TLS 1.3 at this time.
.\"#TrustOnFirstUse
.TP 5 .TP 5
\fBTrustOnFirstUse Yes\fR \fBTrustOnFirstUse Yes\fR
.TP 5 .TP 5
\fBTrustOnFirstUse No\fR \fBTrustOnFirstUse No\fR
Specifies whether to trust new TLS certificates by default. Specifies whether to trust new TLS certificates by default.
The default is "Yes". The default is "Yes".
.\"#User
.TP 5 .TP 5
\fBUser \fIname\fR \fBUser \fIname\fR
Specifies the default user name to use for requests. Specifies the default user name to use for requests.
@@ -101,6 +116,7 @@ Specifies what information is included in the User-Agent header of HTTP requests
"OS" reports "CUPS/major.minor.path (osname osversion) 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". "Full" reports "CUPS/major.minor.path (osname osversion; architecture) IPP/2.1".
The default is "Minimal". The default is "Minimal".
.\"#ValidateCerts
.TP 5 .TP 5
\fBValidateCerts Yes\fR \fBValidateCerts Yes\fR
.TP 5 .TP 5