From 248952648de2e10d835f1f3a7611ad1f738f622e Mon Sep 17 00:00:00 2001 From: jordan Date: Wed, 12 Oct 2022 15:26:05 -0500 Subject: [PATCH 1/2] Fix enable-fastmath with disable-rsa build. WOLFSSL_MAX_RSA_BITS was being checked against ENCRYPT_BASE_BITS even though RSA is disabled. --- wolfssl/internal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wolfssl/internal.h b/wolfssl/internal.h index 60a9dbd83..cef1e1c3d 100644 --- a/wolfssl/internal.h +++ b/wolfssl/internal.h @@ -1210,7 +1210,7 @@ enum { #error "MySQL needs FP_MAX_BITS at least at 16384" #endif - #if WOLFSSL_MAX_RSA_BITS > ENCRYPT_BASE_BITS + #if !defined(NO_RSA) && WOLFSSL_MAX_RSA_BITS > ENCRYPT_BASE_BITS #error "FP_MAX_BITS too small for WOLFSSL_MAX_RSA_BITS" #endif #elif defined(WOLFSSL_SP_MATH_ALL) || defined(WOLFSSL_SP_MATH) From 656ad8959d552b53dc5646759725e2b006e17011 Mon Sep 17 00:00:00 2001 From: jordan Date: Thu, 13 Oct 2022 10:10:10 -0500 Subject: [PATCH 2/2] Fix enable-fastmath with disable-rsa build. Consistently guard WOLFSSL_MAX_RSA_BITS with both defines. --- wolfssl/internal.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/wolfssl/internal.h b/wolfssl/internal.h index cef1e1c3d..a63227987 100644 --- a/wolfssl/internal.h +++ b/wolfssl/internal.h @@ -1210,7 +1210,8 @@ enum { #error "MySQL needs FP_MAX_BITS at least at 16384" #endif - #if !defined(NO_RSA) && WOLFSSL_MAX_RSA_BITS > ENCRYPT_BASE_BITS + #if !defined(NO_RSA) && defined(WOLFSSL_MAX_RSA_BITS) && \ + WOLFSSL_MAX_RSA_BITS > ENCRYPT_BASE_BITS #error "FP_MAX_BITS too small for WOLFSSL_MAX_RSA_BITS" #endif #elif defined(WOLFSSL_SP_MATH_ALL) || defined(WOLFSSL_SP_MATH) @@ -1237,7 +1238,8 @@ enum { #error "MySQL needs SP_INT_BITS at least at 8192" #endif - #if !defined(NO_RSA) && WOLFSSL_MAX_RSA_BITS > SP_INT_BITS + #if !defined(NO_RSA) && defined(WOLFSSL_MAX_RSA_BITS) && \ + WOLFSSL_MAX_RSA_BITS > SP_INT_BITS #error "SP_INT_BITS too small for WOLFSSL_MAX_RSA_BITS" #endif #else @@ -1599,7 +1601,7 @@ enum Misc { #if defined(HAVE_PQC) MAX_CERT_VERIFY_SZ = 6000, /* For Dilithium */ -#elif !defined(NO_RSA) +#elif !defined(NO_RSA) && defined(WOLFSSL_MAX_RSA_BITS) MAX_CERT_VERIFY_SZ = WOLFSSL_MAX_RSA_BITS / 8, /* max RSA bytes */ #elif defined(HAVE_ECC) MAX_CERT_VERIFY_SZ = ECC_MAX_SIG_SIZE, /* max ECC */