From 1c297b3ac44daa6f7d99ed3819009f9dbf408573 Mon Sep 17 00:00:00 2001 From: David Garske Date: Tue, 14 Aug 2018 12:58:00 -0600 Subject: [PATCH] Cleanup of some macro logic for enabling the mp_toradix. --- wolfcrypt/src/integer.c | 7 ++----- wolfcrypt/src/tfm.c | 18 +++++++----------- wolfcrypt/src/wolfmath.c | 4 ++++ wolfssl/wolfcrypt/types.h | 7 +++++++ 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/wolfcrypt/src/integer.c b/wolfcrypt/src/integer.c index 8ce1ee274..f9f10acd0 100644 --- a/wolfcrypt/src/integer.c +++ b/wolfcrypt/src/integer.c @@ -4913,10 +4913,7 @@ int mp_read_radix (mp_int * a, const char *str, int radix) } #endif /* !defined(NO_DSA) || defined(HAVE_ECC) */ -#if defined(WOLFSSL_KEY_GEN) || defined(HAVE_COMP_KEY) || \ - defined(WOLFSSL_DEBUG_MATH) || defined(DEBUG_WOLFSSL) || \ - defined(WOLFSSL_PUBLIC_MP) || \ - (defined(HAVE_ECC) && defined(HAVE_ECC_KEY_EXPORT)) +#ifdef WC_MP_TO_RADIX /* returns size of ASCII representation */ int mp_radix_size (mp_int *a, int radix, int *size) @@ -5056,7 +5053,7 @@ void mp_dump(const char* desc, mp_int* a, byte verbose) } #endif /* WOLFSSL_DEBUG_MATH */ -#endif /* defined(WOLFSSL_KEY_GEN) || defined(HAVE_COMP_KEY) || defined(WOLFSSL_DEBUG_MATH) */ +#endif /* WC_MP_TO_RADIX */ #endif /* WOLFSSL_SP_MATH */ diff --git a/wolfcrypt/src/tfm.c b/wolfcrypt/src/tfm.c index d87fdc9da..8a53827b3 100644 --- a/wolfcrypt/src/tfm.c +++ b/wolfcrypt/src/tfm.c @@ -2606,10 +2606,8 @@ int mp_montgomery_calc_normalization(mp_int *a, mp_int *b) #endif /* WOLFSSL_KEYGEN || HAVE_ECC */ -#if defined(WOLFSSL_KEY_GEN) || defined(HAVE_COMP_KEY) || \ - defined(WOLFSSL_DEBUG_MATH) || defined(DEBUG_WOLFSSL) || \ - defined(WOLFSSL_PUBLIC_MP) || !defined(NO_DH) || !defined(NO_DSA) || \ - !defined(NO_RSA) || (defined(HAVE_ECC) && defined(HAVE_ECC_KEY_EXPORT)) +#if defined(WC_MP_TO_RADIX) || !defined(NO_DH) || !defined(NO_DSA) || \ + !defined(NO_RSA) #ifdef WOLFSSL_KEY_GEN /* swap the elements of two integers, for cases where you can't simply swap the @@ -2755,10 +2753,11 @@ int mp_mod_d(fp_int *a, fp_digit b, fp_digit *c) return fp_mod_d(a, b, c); } -#endif /* defined(WOLFSSL_KEY_GEN) || defined(HAVE_COMP_KEY) || defined(WOLFSSL_DEBUG_MATH) */ +#endif /* WC_MP_TO_RADIX || !NO_DH || !NO_DSA || !NO_RSA */ -#if !defined(NO_DH) || !defined(NO_DSA) || !defined(NO_RSA) || defined(WOLFSSL_KEY_GEN) +#if !defined(NO_DH) || !defined(NO_DSA) || !defined(NO_RSA) || \ + defined(WOLFSSL_KEY_GEN) static int fp_isprime_ex(fp_int *a, int t); /* static int fp_isprime(fp_int *a); */ @@ -3368,10 +3367,7 @@ int mp_set(fp_int *a, fp_digit b) } #endif -#if defined(WOLFSSL_KEY_GEN) || defined(HAVE_COMP_KEY) || \ - defined(WOLFSSL_DEBUG_MATH) || defined(DEBUG_WOLFSSL) || \ - defined(WOLFSSL_PUBLIC_MP) || \ - (defined(HAVE_ECC) && defined(HAVE_ECC_KEY_EXPORT)) +#ifdef WC_MP_TO_RADIX /* returns size of ASCII representation */ int mp_radix_size (mp_int *a, int radix, int *size) @@ -3505,7 +3501,7 @@ void mp_dump(const char* desc, mp_int* a, byte verbose) } #endif /* WOLFSSL_DEBUG_MATH */ -#endif /* defined(WOLFSSL_KEY_GEN) || defined(HAVE_COMP_KEY) || defined(WOLFSSL_DEBUG_MATH) */ +#endif /* WC_MP_TO_RADIX */ int mp_abs(mp_int* a, mp_int* b) diff --git a/wolfcrypt/src/wolfmath.c b/wolfcrypt/src/wolfmath.c index 5836f011a..f5b1a0a4b 100644 --- a/wolfcrypt/src/wolfmath.c +++ b/wolfcrypt/src/wolfmath.c @@ -171,7 +171,11 @@ int wc_export_int(mp_int* mp, byte* buf, word32* len, word32 keySz, XMEMSET(buf, 0, *len); if (encType == WC_TYPE_HEX_STR) { + #ifdef WC_MP_TO_RADIX err = mp_tohex(mp, (char*)buf); + #else + err = NOT_COMPILED_IN; + #endif } else { err = mp_to_unsigned_bin(mp, buf + (keySz - mp_unsigned_bin_size(mp))); diff --git a/wolfssl/wolfcrypt/types.h b/wolfssl/wolfcrypt/types.h index 8591e51a5..26467e76c 100644 --- a/wolfssl/wolfcrypt/types.h +++ b/wolfssl/wolfcrypt/types.h @@ -712,6 +712,13 @@ #define WC_NORETURN #endif + #if defined(WOLFSSL_KEY_GEN) || defined(HAVE_COMP_KEY) || \ + defined(WOLFSSL_DEBUG_MATH) || defined(DEBUG_WOLFSSL) || \ + defined(WOLFSSL_PUBLIC_MP) || \ + (defined(HAVE_ECC) && defined(HAVE_ECC_KEY_EXPORT)) + #undef WC_MP_TO_RADIX + #define WC_MP_TO_RADIX + #endif #ifdef __cplusplus } /* extern "C" */