NetworkManager/src/libnm-crypto
Thomas Haller 723e1fc76f
libnm: move dependency to libnm-crypto out of libnm-core's "nm-utils.c"
libnm-core is also used by the daemon, thus currently dragging in
libnm-crypto there. But could we ever drop that dependency?

One use of the libnm-crypto is in functions like nm_utils_file_is_certificate()
in "nm-utils.h". These are part of the public API of libnm.

But this is not used by the daemon. Move it to "libnm-client-core"
to be closer to where it's actually used.

As we have unit tests in "libnm-core-impl/tests" that test this function,
those unit tests also would need to move to "libnm-client-impl".
Instead, add the actual implementation of these function to "libnm-crypto"
and test it there.

This patch moves forward declarations from public header "nm-utils.h" to
"nm-client.h". Arguably, "nm-client.h" is not a great name, but we don't
have a general purpose header in "libnm-client-public", so use this.
Note that libnm users can only include <NetworkManager.h> and including
individual files is not supported (and even prevented). Thus moving
the declarations won't break any users.
2022-03-29 11:56:04 +02:00
..
meson.build build: move nm-crypto to separate directory "src/libnm-crypto" 2022-03-29 11:56:04 +02:00
nm-crypto-gnutls.c build: move nm-crypto to separate directory "src/libnm-crypto" 2022-03-29 11:56:04 +02:00
nm-crypto-impl.h build: move nm-crypto to separate directory "src/libnm-crypto" 2022-03-29 11:56:04 +02:00
nm-crypto-nss.c build: move nm-crypto to separate directory "src/libnm-crypto" 2022-03-29 11:56:04 +02:00
nm-crypto-null.c build: move nm-crypto to separate directory "src/libnm-crypto" 2022-03-29 11:56:04 +02:00
nm-crypto.c libnm: move dependency to libnm-crypto out of libnm-core's "nm-utils.c" 2022-03-29 11:56:04 +02:00
nm-crypto.h libnm: move dependency to libnm-crypto out of libnm-core's "nm-utils.c" 2022-03-29 11:56:04 +02:00
README.md build: move nm-crypto to separate directory "src/libnm-crypto" 2022-03-29 11:56:04 +02:00

libnm-crypto

libnm-core has a dependency on crypto code (either backed by "gnutls", "nss" or the "null" dummy implementation).

libnm-core gets then statically linked into the daemon and into libnm.so.