From 65b49b2fb5b4db5d370af5d786a4af3be56a837e Mon Sep 17 00:00:00 2001 From: rizlik Date: Wed, 22 Apr 2026 13:14:45 +0000 Subject: [PATCH] _CRYPTO_CB_ONLY_{RSA,ECC,SHA256,AES}: move WOLF_CRYPTO_CB guards to settings.h --- wolfssl/wolfcrypt/settings.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/wolfssl/wolfcrypt/settings.h b/wolfssl/wolfcrypt/settings.h index 325627ded2..3a1a498776 100644 --- a/wolfssl/wolfcrypt/settings.h +++ b/wolfssl/wolfcrypt/settings.h @@ -5126,6 +5126,22 @@ extern void uITRON4_free(void *p) ; " (WOLF_CRYPTO_CB_COPY/WOLF_CRYPTO_CB_FREE)" \ " require WOLF_CRYPTO_CB" #endif +/* + * WOLF_CRYPTO_CB_ONLY_* assumes no hardware crypto port is compiled in for + * the selected algorithm. Crypto Callback is expected to be the only provider. + */ +#if defined(WOLF_CRYPTO_CB_ONLY_RSA) && !defined(WOLF_CRYPTO_CB) + #error "WOLF_CRYPTO_CB_ONLY_RSA requires WOLF_CRYPTO_CB" +#endif +#if defined(WOLF_CRYPTO_CB_ONLY_ECC) && !defined(WOLF_CRYPTO_CB) + #error "WOLF_CRYPTO_CB_ONLY_ECC requires WOLF_CRYPTO_CB" +#endif +#if defined(WOLF_CRYPTO_CB_ONLY_SHA256) && !defined(WOLF_CRYPTO_CB) + #error "WOLF_CRYPTO_CB_ONLY_SHA256 requires WOLF_CRYPTO_CB" +#endif +#if defined(WOLF_CRYPTO_CB_ONLY_AES) && !defined(WOLF_CRYPTO_CB) + #error "WOLF_CRYPTO_CB_ONLY_AES requires WOLF_CRYPTO_CB" +#endif /* Early Data / Session Rules */ #if !defined(WOLFCRYPT_ONLY) && defined(WOLFSSL_EARLY_DATA) && \