mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2025-03-23 22:45:22 +00:00
check_config.h: Check MBEDTLS_MD_SINGLE_HASH is used with single MD
This commit modifies check_config.h to check that precisely one hash is enabled if MBEDTLS_MD_SINGLE_HASH is set. This is not only a reasonable expectation, it is also necessary, because test suites assume that if a digest is enabled, it is also accessible through the MD abstraction layer.
This commit is contained in:
parent
c763e9dc70
commit
8fbacf941f
|
@ -786,6 +786,73 @@
|
||||||
#define MBEDTLS_THREADING_IMPL
|
#define MBEDTLS_THREADING_IMPL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Ensurethat precisely one hash is enabled. */
|
||||||
|
#if defined(MBEDTLS_MD_SINGLE_HASH)
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_SHA256_C)
|
||||||
|
#define MBEDTLS_SHA256_ENABLED 1
|
||||||
|
#else
|
||||||
|
#define MBEDTLS_SHA256_ENABLED 0
|
||||||
|
#endif /* MBEDTLS_SHA256_C */
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_SHA256_C) && !defined(MBEDTLS_SHA256_NO_SHA224)
|
||||||
|
#define MBEDTLS_SHA224_ENABLED 1
|
||||||
|
#else
|
||||||
|
#define MBEDTLS_SHA224_ENABLED 0
|
||||||
|
#endif /* MBEDTLS_SHA256_C && !MBEDTLS_SHA256_NO_SHA224 */
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_SHA512_C)
|
||||||
|
#define MBEDTLS_SHA512_ENABLED 2
|
||||||
|
#else
|
||||||
|
#define MBEDTLS_SHA512_ENABLED 0
|
||||||
|
#endif /* MBEDTLS_SHA512_C */
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_SHA1_C)
|
||||||
|
#define MBEDTLS_SHA1_ENABLED 1
|
||||||
|
#else
|
||||||
|
#define MBEDTLS_SHA1_ENABLED 0
|
||||||
|
#endif /* MBEDTLS_SHA1_C */
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_MD2_C)
|
||||||
|
#define MBEDTLS_MD2_ENABLED 1
|
||||||
|
#else
|
||||||
|
#define MBEDTLS_MD2_ENABLED 0
|
||||||
|
#endif /* MBEDTLS_MD2_C */
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_MD4_C)
|
||||||
|
#define MBEDTLS_MD4_ENABLED 1
|
||||||
|
#else
|
||||||
|
#define MBEDTLS_MD4_ENABLED 0
|
||||||
|
#endif /* MBEDTLS_MD4_C */
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_MD5_C)
|
||||||
|
#define MBEDTLS_MD5_ENABLED 1
|
||||||
|
#else
|
||||||
|
#define MBEDTLS_MD5_ENABLED 0
|
||||||
|
#endif /* MBEDTLS_MD5_C */
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_RIPEMD160_C)
|
||||||
|
#define MBEDTLS_RIPEMD160_ENABLED 1
|
||||||
|
#else
|
||||||
|
#define MBEDTLS_RIPEMD160_ENABLED 0
|
||||||
|
#endif /* MBEDTLS_RIPEMD160_C */
|
||||||
|
|
||||||
|
#define MBEDTLS_HASHES_ENABLED \
|
||||||
|
( MBEDTLS_MD2_ENABLED + \
|
||||||
|
MBEDTLS_MD4_ENABLED + \
|
||||||
|
MBEDTLS_MD5_ENABLED + \
|
||||||
|
MBEDTLS_RIPEMD160_ENABLED + \
|
||||||
|
MBEDTLS_SHA1_ENABLED + \
|
||||||
|
MBEDTLS_SHA256_ENABLED + \
|
||||||
|
MBEDTLS_SHA512_ENABLED )
|
||||||
|
|
||||||
|
#if MBEDTLS_HASHES_ENABLED != 1
|
||||||
|
#error "MBEDTLS_MD_SINGLE_HASH must be used with precisely one hash algorithm enabled."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef MBEDTLS_HASHES_ENABLED
|
||||||
|
#endif /* MBEDTLS_MD_SINGLE_HASH */
|
||||||
|
|
||||||
#if defined(MBEDTLS_THREADING_ALT)
|
#if defined(MBEDTLS_THREADING_ALT)
|
||||||
#if !defined(MBEDTLS_THREADING_C) || defined(MBEDTLS_THREADING_IMPL)
|
#if !defined(MBEDTLS_THREADING_C) || defined(MBEDTLS_THREADING_IMPL)
|
||||||
#error "MBEDTLS_THREADING_ALT defined, but not all prerequisites"
|
#error "MBEDTLS_THREADING_ALT defined, but not all prerequisites"
|
||||||
|
|
Loading…
Reference in a new issue