]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
tls-gnutls.c: Use system crypto policy if available 1105/head
authorZdenek Dohnal <zdohnal@redhat.com>
Wed, 4 Dec 2024 18:20:21 +0000 (19:20 +0100)
committerZdenek Dohnal <zdohnal@redhat.com>
Wed, 4 Dec 2024 18:20:21 +0000 (19:20 +0100)
Some Linux systems provide a way how to control cryptography on system
or service level via cryptographic policies. OpenSSL implementation
reflects system changes to some degree, however GnuTLS implementation
does not take system policy into account.

GnuTLS supports fallback mechanism, so we can fallback to NORMAL if
@SYSTEM is not defined on the system.

Fortunately, the current GnuTLS implementation allows overrides via
priority strings (so no "this cipher/hash is disabled" if we enabled
them in our application by priority string), so allowing to honor system
policy can save us work if someone wants to disable a specific cipher,
so we don't have to implement it in libcups.

cups/tls-gnutls.c

index 520ee68faba1fd5207c509c9add60f05b2cdb97e..2c96a06cd253d3ba7646783e6902d9a1f6eb511f 100644 (file)
@@ -1813,7 +1813,7 @@ _httpTLSStart(http_t *http)               // I - Connection to server
     return (false);
   }
 
-  cupsCopyString(priority_string, "NORMAL", sizeof(priority_string));
+  cupsCopyString(priority_string, "@SYSTEM,NORMAL", sizeof(priority_string));
 
   if (tls_max_version < _HTTP_TLS_MAX)
   {