mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-18 10:28:07 +02:00
libnm-core currently has a dependency on crypto libraries (either "gnutls", "nss" or "null"). We need this huge dependency for few cases. Move the crypto code to a separate static library"src/libnm-crypto/libnm-crypto.la". The reasoning is that it becomes clearer where we have this dependency, to use it more consciously, and to be better see how it's used. We clearly need the crypto functionality in libnm. But do we also need it in the daemon? Could we ever link the daemon without crypto libraries? The goal of splitting the crypto part out, to better understand the crypto dependency.
103 lines
3 KiB
C
103 lines
3 KiB
C
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
|
/*
|
|
* Christian Eggers <ceggers@arri.de>
|
|
* Copyright (C) 2020 - 2022 ARRI Lighting
|
|
*/
|
|
|
|
#include "libnm-glib-aux/nm-default-glib-i18n-lib.h"
|
|
|
|
#include "nm-crypto-impl.h"
|
|
|
|
#include "libnm-glib-aux/nm-secret-utils.h"
|
|
|
|
/*****************************************************************************/
|
|
|
|
gboolean
|
|
_nm_crypto_init(GError **error)
|
|
{
|
|
g_set_error(error,
|
|
_NM_CRYPTO_ERROR,
|
|
_NM_CRYPTO_ERROR_FAILED,
|
|
_("Compiled without crypto support."));
|
|
return FALSE;
|
|
}
|
|
|
|
guint8 *
|
|
_nmtst_crypto_decrypt(NMCryptoCipherType cipher,
|
|
const guint8 *data,
|
|
gsize data_len,
|
|
const guint8 *iv,
|
|
gsize iv_len,
|
|
const guint8 *key,
|
|
gsize key_len,
|
|
gsize *out_len,
|
|
GError **error)
|
|
{
|
|
g_set_error(error,
|
|
_NM_CRYPTO_ERROR,
|
|
_NM_CRYPTO_ERROR_FAILED,
|
|
_("Compiled without crypto support."));
|
|
return NULL;
|
|
}
|
|
|
|
guint8 *
|
|
_nmtst_crypto_encrypt(NMCryptoCipherType cipher,
|
|
const guint8 *data,
|
|
gsize data_len,
|
|
const guint8 *iv,
|
|
gsize iv_len,
|
|
const guint8 *key,
|
|
gsize key_len,
|
|
gsize *out_len,
|
|
GError **error)
|
|
{
|
|
g_set_error(error,
|
|
_NM_CRYPTO_ERROR,
|
|
_NM_CRYPTO_ERROR_FAILED,
|
|
_("Compiled without crypto support."));
|
|
return NULL;
|
|
}
|
|
|
|
gboolean
|
|
_nm_crypto_verify_x509(const guint8 *data, gsize len, GError **error)
|
|
{
|
|
g_set_error(error,
|
|
_NM_CRYPTO_ERROR,
|
|
_NM_CRYPTO_ERROR_FAILED,
|
|
_("Compiled without crypto support."));
|
|
return FALSE;
|
|
}
|
|
|
|
gboolean
|
|
_nm_crypto_verify_pkcs12(const guint8 *data, gsize data_len, const char *password, GError **error)
|
|
{
|
|
g_set_error(error,
|
|
_NM_CRYPTO_ERROR,
|
|
_NM_CRYPTO_ERROR_FAILED,
|
|
_("Compiled without crypto support."));
|
|
return FALSE;
|
|
}
|
|
|
|
gboolean
|
|
_nm_crypto_verify_pkcs8(const guint8 *data,
|
|
gsize data_len,
|
|
gboolean is_encrypted,
|
|
const char *password,
|
|
GError **error)
|
|
{
|
|
g_set_error(error,
|
|
_NM_CRYPTO_ERROR,
|
|
_NM_CRYPTO_ERROR_FAILED,
|
|
_("Compiled without crypto support."));
|
|
return FALSE;
|
|
}
|
|
|
|
gboolean
|
|
_nm_crypto_randomize(void *buffer, gsize buffer_len, GError **error)
|
|
{
|
|
g_set_error(error,
|
|
_NM_CRYPTO_ERROR,
|
|
_NM_CRYPTO_ERROR_FAILED,
|
|
_("Compiled without crypto support."));
|
|
return FALSE;
|
|
}
|