package/network-manager: switch default crypto provider to gnutls

Currently, when both libnss and GnuTLS are present, NetworkManager will
get linked to libnss.

The NetworkManager project doesn't recommend one over the other
officially and has supported both from day one back in 2007.

Arguments which one to prefer can be made in either direction:

Points in favor of libnss:

 - It's the default value in the NM build system, so it would be the
   preferred backend if both are available and we didn't supply any
   options to the build process

 - It's probably the more mature of the two, given that it's being used
   in Mozilla products

Points in favor of GnuTLS:

 - While both backends seem feature-equivalent, the
   _nm_crypto_verify_pkcs8 function is stubbed out in the libnss
   code[1].

 - Both Debian and Fedora explicitly select GnuTLS in their packages. At
   least in the case of Fedora it seems to have been a conscious
   choice[2].

Given what it's actually used for in the code base, the choice does not
matter a lot. However, since it is marginally more feature-complete and
seems to be preferred by other distributions, let's switch to GnuTLS.

[1] 36f8de25c4/src/libnm-crypto/nm-crypto-nss.c (L523-540)
[2] 29a9c41bea

Signed-off-by: Florian Larysch <fl@n621.de>
Reviewed-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
This commit is contained in:
Florian Larysch
2025-05-31 16:39:23 +02:00
committed by Marcus Hoffmann
parent 7aa2c23f42
commit f366204311

View File

@@ -77,12 +77,12 @@ else
NETWORK_MANAGER_CONF_OPTS += -Dconcheck=false
endif
ifeq ($(BR2_PACKAGE_LIBNSS),y)
NETWORK_MANAGER_DEPENDENCIES += libnss
NETWORK_MANAGER_CONF_OPTS += -Dcrypto=nss
else ifeq ($(BR2_PACKAGE_GNUTLS),y)
ifeq ($(BR2_PACKAGE_GNUTLS),y)
NETWORK_MANAGER_DEPENDENCIES += gnutls
NETWORK_MANAGER_CONF_OPTS += -Dcrypto=gnutls
else ifeq ($(BR2_PACKAGE_LIBNSS),y)
NETWORK_MANAGER_DEPENDENCIES += libnss
NETWORK_MANAGER_CONF_OPTS += -Dcrypto=nss
else
NETWORK_MANAGER_CONF_OPTS += -Dcrypto=null
endif