From e40f8d8f22004f6a00959548899df1ff7819d025 Mon Sep 17 00:00:00 2001 From: Paul Adelsbach Date: Tue, 4 Aug 2026 14:36:11 -0700 Subject: [PATCH] PR feedback: add missing strings and precompiler checks --- wolfcrypt/src/cryptocb.c | 2 ++ wolfcrypt/src/curve25519.c | 6 ++++-- wolfcrypt/src/fe_low_mem.c | 7 ++++--- wolfcrypt/src/ge_operations.c | 3 ++- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/wolfcrypt/src/cryptocb.c b/wolfcrypt/src/cryptocb.c index a994aca8d4..cb9c7bc65a 100644 --- a/wolfcrypt/src/cryptocb.c +++ b/wolfcrypt/src/cryptocb.c @@ -160,6 +160,8 @@ static const char* GetPkTypeStr(int pk) case WC_PK_TYPE_EC_CHECK_PUB_KEY: return "ECC CheckPubKey"; case WC_PK_TYPE_ED25519_MAKE_PUB: return "ED25519 MakePub"; case WC_PK_TYPE_ED25519_CHECK_KEY: return "ED25519 CheckKey"; + case WC_PK_TYPE_CURVE25519_MAKE_PUB: return "CURVE25519 MakePub"; + case WC_PK_TYPE_CURVE25519_GENERIC: return "CURVE25519 Generic"; } return NULL; } diff --git a/wolfcrypt/src/curve25519.c b/wolfcrypt/src/curve25519.c index d423810bdd..e293f119a7 100644 --- a/wolfcrypt/src/curve25519.c +++ b/wolfcrypt/src/curve25519.c @@ -150,7 +150,7 @@ int wc_curve25519_make_pub(int public_size, byte* pub, int private_size, const byte* priv) { int ret; -#ifdef FREESCALE_LTC_ECC +#if defined(FREESCALE_LTC_ECC) && !defined(WOLF_CRYPTO_CB_ONLY_CURVE25519) const ECPoint* basepoint = nxp_ltc_curve25519_GetBasePoint(); ECPoint wc_pub; #endif @@ -332,7 +332,7 @@ int wc_curve25519_make_pub_blind(int public_size, byte* pub, int private_size, const byte* priv, WC_RNG* rng) { int ret; -#ifdef FREESCALE_LTC_ECC +#if defined(FREESCALE_LTC_ECC) && !defined(WOLF_CRYPTO_CB_ONLY_CURVE25519) const ECPoint* basepoint = nxp_ltc_curve25519_GetBasePoint(); ECPoint wc_pub; #endif @@ -363,6 +363,8 @@ int wc_curve25519_make_pub_blind(int public_size, byte* pub, int private_size, #endif #ifdef WOLF_CRYPTO_CB_ONLY_CURVE25519 + /* the LTC path checks the rng, the callback path has no use for it */ + (void)rng; return NO_VALID_DEVID; #else #ifdef FREESCALE_LTC_ECC diff --git a/wolfcrypt/src/fe_low_mem.c b/wolfcrypt/src/fe_low_mem.c index 2839ea3e93..578f9beeeb 100644 --- a/wolfcrypt/src/fe_low_mem.c +++ b/wolfcrypt/src/fe_low_mem.c @@ -23,9 +23,10 @@ /* Based from Daniel Beer's public domain work. */ -/* under WOLF_CRYPTO_CB_ONLY_ED25519 the callback device does all Ed25519 - * field math, so Ed25519 alone no longer pulls this file in */ -#if defined(HAVE_CURVE25519) || \ +/* under WOLF_CRYPTO_CB_ONLY_ED25519 / WOLF_CRYPTO_CB_ONLY_CURVE25519 the + * callback device does all the field math, so neither algorithm pulls this + * file in on its own */ +#if (defined(HAVE_CURVE25519) && !defined(WOLF_CRYPTO_CB_ONLY_CURVE25519)) || \ (defined(HAVE_ED25519) && !defined(WOLF_CRYPTO_CB_ONLY_ED25519)) #if defined(CURVE25519_SMALL) || defined(ED25519_SMALL) /* use slower code that takes less memory */ diff --git a/wolfcrypt/src/ge_operations.c b/wolfcrypt/src/ge_operations.c index a59a8e4846..ea8bac6090 100644 --- a/wolfcrypt/src/ge_operations.c +++ b/wolfcrypt/src/ge_operations.c @@ -30,7 +30,8 @@ * group math, so this file (and its large precomputed tables) compiles out * unless curve25519 also needs it */ #if (defined(HAVE_ED25519) && !defined(WOLF_CRYPTO_CB_ONLY_ED25519)) || \ - defined(WOLFSSL_CURVE25519_USE_ED25519) + (defined(WOLFSSL_CURVE25519_USE_ED25519) && \ + !defined(WOLF_CRYPTO_CB_ONLY_CURVE25519)) #ifndef ED25519_SMALL /* run when not defined to use small memory math */ #include