mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-01-26 23:02:22 +01:00
linuxkm/lkcapi_{dh,ecdh,ecdsa,rsa,aes}_glue.c: when LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG, don't "#error Config conflict" if explicit LINUXKM_LKCAPI_DONT_REGISTER_foo is defined for the missing algorithm.
This commit is contained in:
@@ -121,7 +121,8 @@
|
||||
#define LINUXKM_LKCAPI_REGISTER_AESCBC
|
||||
#endif
|
||||
#else
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_CBC)
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_CBC) && \
|
||||
!defined(LINUXKM_LKCAPI_DONT_REGISTER_AESCBC)
|
||||
#error Config conflict: target kernel has CONFIG_CRYPTO_CBC, but module is missing HAVE_AES_CBC.
|
||||
#endif
|
||||
#undef LINUXKM_LKCAPI_REGISTER_AESCBC
|
||||
@@ -151,7 +152,8 @@
|
||||
#define LINUXKM_LKCAPI_REGISTER_AESGCM_RFC4106
|
||||
#endif
|
||||
#else
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_GCM)
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_GCM) && \
|
||||
!defined(LINUXKM_LKCAPI_DONT_REGISTER_AESGCM)
|
||||
#error Config conflict: target kernel has CONFIG_CRYPTO_GCM, but module is missing HAVE_AESGCM.
|
||||
#endif
|
||||
#undef LINUXKM_LKCAPI_REGISTER_AESGCM
|
||||
@@ -166,8 +168,9 @@
|
||||
#define LINUXKM_LKCAPI_REGISTER_AESXTS
|
||||
#endif
|
||||
#else
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_XTS)
|
||||
#error Config conflict: target kernel has CONFIG_CRYPTO_GCM, but module is missing WOLFSSL_AES_XTS.
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_XTS) && \
|
||||
!defined(LINUXKM_LKCAPI_DONT_REGISTER_AESXTS)
|
||||
#error Config conflict: target kernel has CONFIG_CRYPTO_XTS, but module is missing WOLFSSL_AES_XTS.
|
||||
#endif
|
||||
#undef LINUXKM_LKCAPI_REGISTER_AESXTS
|
||||
#endif
|
||||
@@ -180,7 +183,8 @@
|
||||
#define LINUXKM_LKCAPI_REGISTER_AESCTR
|
||||
#endif
|
||||
#else
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_CTR)
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_CTR) && \
|
||||
!defined(LINUXKM_LKCAPI_DONT_REGISTER_AESCTR)
|
||||
#error Config conflict: target kernel has CONFIG_CRYPTO_CTR, but module is missing WOLFSSL_AES_COUNTER.
|
||||
#endif
|
||||
#undef LINUXKM_LKCAPI_REGISTER_AESCTR
|
||||
@@ -204,7 +208,8 @@
|
||||
#define LINUXKM_LKCAPI_REGISTER_AESECB
|
||||
#endif
|
||||
#else
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_ECB)
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_ECB) && \
|
||||
!defined(LINUXKM_LKCAPI_DONT_REGISTER_AESECB)
|
||||
#error Config conflict: target kernel has CONFIG_CRYPTO_ECB, but module is missing HAVE_AES_ECB.
|
||||
#endif
|
||||
#undef LINUXKM_LKCAPI_REGISTER_AESECB
|
||||
|
||||
@@ -58,7 +58,10 @@
|
||||
#undef LINUXKM_LKCAPI_REGISTER_DH
|
||||
#endif
|
||||
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)) && \
|
||||
!(defined(RHEL_MAJOR) && \
|
||||
((RHEL_MAJOR > 9) || ((RHEL_MAJOR == 9) && (RHEL_MINOR >= 5))))
|
||||
|
||||
/* Support for FFDHE was added in kernel 5.18, and generic DH support
|
||||
* pre-5.18 used a different binary format for the secret (an additional
|
||||
* slot for q).
|
||||
@@ -73,7 +76,8 @@
|
||||
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && \
|
||||
(defined(CONFIG_CRYPTO_DH) || defined(CONFIG_CRYPTO_DH_RFC7919_GROUPS)) && \
|
||||
!defined(LINUXKM_LKCAPI_REGISTER_DH)
|
||||
!defined(LINUXKM_LKCAPI_REGISTER_DH) && \
|
||||
!defined(LINUXKM_LKCAPI_DONT_REGISTER_DH)
|
||||
#error Config conflict: target kernel has CONFIG_CRYPTO_DH and/or \
|
||||
_DH_RFC7919_GROUPS, but module is missing LINUXKM_LKCAPI_REGISTER_DH.
|
||||
#endif
|
||||
|
||||
@@ -43,7 +43,8 @@
|
||||
/* currently incompatible with kernel 5.12 or earlier. */
|
||||
#undef LINUXKM_LKCAPI_REGISTER_ECDH
|
||||
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_ECDH)
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_ECDH) && \
|
||||
!defined(LINUXKM_LKCAPI_DONT_REGISTER_ECDH)
|
||||
#error Config conflict: missing implementation forces off LINUXKM_LKCAPI_REGISTER_ECDH.
|
||||
#endif
|
||||
#endif
|
||||
@@ -51,6 +52,7 @@
|
||||
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && \
|
||||
defined(CONFIG_CRYPTO_ECDH) && \
|
||||
!defined(LINUXKM_LKCAPI_DONT_REGISTER_ECDH) && \
|
||||
!defined(LINUXKM_LKCAPI_REGISTER_ECDH)
|
||||
#error Config conflict: target kernel has CONFIG_CRYPTO_ECDH, but module is missing LINUXKM_LKCAPI_REGISTER_ECDH.
|
||||
#endif
|
||||
|
||||
@@ -64,13 +64,15 @@
|
||||
#undef LINUXKM_LKCAPI_REGISTER_ECDSA
|
||||
#endif /* LINUXKM_LKCAPI_REGISTER_ECDSA */
|
||||
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_ECDSA)
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_ECDSA) && \
|
||||
!defined(LINUXKM_LKCAPI_DONT_REGISTER_ECDSA)
|
||||
#error Config conflict: missing implementation forces off LINUXKM_LKCAPI_REGISTER_ECDSA.
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && \
|
||||
defined(CONFIG_CRYPTO_ECDSA) && \
|
||||
!defined(LINUXKM_LKCAPI_DONT_REGISTER_ECDSA) && \
|
||||
!defined(LINUXKM_LKCAPI_REGISTER_ECDSA)
|
||||
#error Config conflict: target kernel has CONFIG_CRYPTO_ECDSA, but module is missing LINUXKM_LKCAPI_REGISTER_ECDSA.
|
||||
#endif
|
||||
|
||||
@@ -63,7 +63,8 @@
|
||||
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && \
|
||||
defined(CONFIG_CRYPTO_RSA) && \
|
||||
!defined(LINUXKM_LKCAPI_REGISTER_RSA)
|
||||
!defined(LINUXKM_LKCAPI_REGISTER_RSA) && \
|
||||
!defined(LINUXKM_LKCAPI_DONT_REGISTER_RSA)
|
||||
#error Config conflict: target kernel has CONFIG_CRYPTO_RSA, but module is missing LINUXKM_LKCAPI_REGISTER_RSA.
|
||||
#endif
|
||||
|
||||
@@ -71,7 +72,7 @@
|
||||
|
||||
#if defined(WOLFSSL_RSA_VERIFY_ONLY) || \
|
||||
defined(WOLFSSL_RSA_PUBLIC_ONLY)
|
||||
#error LINUXKM_LKCAPI_REGISTER_RSA and RSA_VERIFY_ONLY not supported
|
||||
#error LINUXKM_LKCAPI_REGISTER_RSA with RSA_VERIFY_ONLY/WOLFSSL_RSA_PUBLIC_ONLY not supported
|
||||
#endif /* WOLFSSL_RSA_VERIFY_ONLY || WOLFSSL_RSA_PUBLIC_ONLY */
|
||||
|
||||
#ifdef WC_RSA_NO_PADDING
|
||||
|
||||
Reference in New Issue
Block a user