From ca48bd076dfe108b22137340a9d050bb1c09ec24 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Fri, 31 Jul 2026 00:26:37 +0200 Subject: [PATCH] curl_ed25519: tidy-up backend fallback Sync fallback logic with other crypto algos to: - allow falling back to the next backend candidate when wolfSSL does not have ed25519 built in. - de-duplicate fallback code. Follow-up to a55731050e8c3dbea0b96205cf916443118f6acb #22386 #21239 Closes #22450 --- lib/curl_ed25519.c | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/lib/curl_ed25519.c b/lib/curl_ed25519.c index 5c664d95c6..c01be70e74 100644 --- a/lib/curl_ed25519.c +++ b/lib/curl_ed25519.c @@ -35,6 +35,11 @@ #include "curl_ed25519.h" +#ifdef USE_WOLFSSL +#include +#include +#endif + #ifdef USE_OPENSSL #include @@ -80,11 +85,9 @@ CURLcode Curl_ed25519_sign(const unsigned char *key, size_t keylen, return CURLE_OK; } -#elif defined(USE_WOLFSSL) -#include -#include -#if (defined(HAVE_ED25519) || defined(WOLFSSL_CURVE25519_USE_ED25519)) && \ - defined(HAVE_ED25519_KEY_IMPORT) && defined(HAVE_ED25519_SIGN) +#elif defined(USE_WOLFSSL) && \ + (defined(HAVE_ED25519) || defined(WOLFSSL_CURVE25519_USE_ED25519)) && \ + defined(HAVE_ED25519_KEY_IMPORT) && defined(HAVE_ED25519_SIGN) #include #include #include @@ -141,23 +144,6 @@ fail: return CURLE_AUTH_ERROR; } -#else /* USE_WOLFSSL but no Ed25519 sign/import in this wolfSSL build */ - -CURLcode Curl_ed25519_sign(const unsigned char *key, size_t keylen, - const unsigned char *msg, size_t msglen, - unsigned char *sig, size_t *siglen) -{ - (void)key; - (void)keylen; - (void)msg; - (void)msglen; - (void)sig; - (void)siglen; - return CURLE_NOT_BUILT_IN; -} - -#endif /* wolfSSL Ed25519 */ - #else /* no Ed25519-capable backend */ CURLcode Curl_ed25519_sign(const unsigned char *key, size_t keylen,