Constify cipher_wrap:mbedtls_cipher_supported

Signed-off-by: Xavier Chapron <chapron.xavier@gmail.com>
This commit is contained in:
Xavier Chapron 2025-04-18 14:22:38 +02:00
parent e08edcc494
commit 4895d13a55
3 changed files with 172 additions and 20 deletions

View File

@ -53,8 +53,6 @@
#include "mbedtls/platform.h"
static int supported_init = 0;
static inline const mbedtls_cipher_base_t *mbedtls_cipher_get_base(
const mbedtls_cipher_info_t *info)
{
@ -63,22 +61,6 @@ static inline const mbedtls_cipher_base_t *mbedtls_cipher_get_base(
const int *mbedtls_cipher_list(void)
{
const mbedtls_cipher_definition_t *def;
int *type;
if (!supported_init) {
def = mbedtls_cipher_definitions;
type = mbedtls_cipher_supported;
while (def->type != 0) {
*type++ = (*def++).type;
}
*type = 0;
supported_init = 1;
}
return mbedtls_cipher_supported;
}

View File

@ -2423,7 +2423,177 @@ const mbedtls_cipher_definition_t mbedtls_cipher_definitions[] =
#define NUM_CIPHERS (sizeof(mbedtls_cipher_definitions) / \
sizeof(mbedtls_cipher_definitions[0]))
int mbedtls_cipher_supported[NUM_CIPHERS];
const int mbedtls_cipher_supported[NUM_CIPHERS] =
{
#if defined(MBEDTLS_AES_C)
MBEDTLS_CIPHER_AES_128_ECB,
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
MBEDTLS_CIPHER_AES_192_ECB,
MBEDTLS_CIPHER_AES_256_ECB,
#endif
#if defined(MBEDTLS_CIPHER_MODE_CBC)
MBEDTLS_CIPHER_AES_128_CBC,
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
MBEDTLS_CIPHER_AES_192_CBC,
MBEDTLS_CIPHER_AES_256_CBC,
#endif
#endif
#if defined(MBEDTLS_CIPHER_MODE_CFB)
MBEDTLS_CIPHER_AES_128_CFB128,
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
MBEDTLS_CIPHER_AES_192_CFB128,
MBEDTLS_CIPHER_AES_256_CFB128,
#endif
#endif
#if defined(MBEDTLS_CIPHER_MODE_OFB)
MBEDTLS_CIPHER_AES_128_OFB,
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
MBEDTLS_CIPHER_AES_192_OFB,
MBEDTLS_CIPHER_AES_256_OFB,
#endif
#endif
#if defined(MBEDTLS_CIPHER_MODE_CTR)
MBEDTLS_CIPHER_AES_128_CTR,
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
MBEDTLS_CIPHER_AES_192_CTR,
MBEDTLS_CIPHER_AES_256_CTR,
#endif
#endif
#if defined(MBEDTLS_CIPHER_MODE_XTS)
MBEDTLS_CIPHER_AES_128_XTS,
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
MBEDTLS_CIPHER_AES_256_XTS,
#endif
#endif
#endif /* MBEDTLS_AES_C */
#if defined(MBEDTLS_CIPHER_HAVE_GCM_AES_VIA_LEGACY_OR_USE_PSA)
MBEDTLS_CIPHER_AES_128_GCM,
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
MBEDTLS_CIPHER_AES_192_GCM,
MBEDTLS_CIPHER_AES_256_GCM,
#endif
#endif
#if defined(MBEDTLS_CIPHER_HAVE_CCM_AES_VIA_LEGACY_OR_USE_PSA)
MBEDTLS_CIPHER_AES_128_CCM,
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
MBEDTLS_CIPHER_AES_192_CCM,
MBEDTLS_CIPHER_AES_256_CCM,
#endif
#endif
#if defined(MBEDTLS_CIPHER_HAVE_CCM_STAR_NO_TAG_AES_VIA_LEGACY_OR_USE_PSA)
MBEDTLS_CIPHER_AES_128_CCM_STAR_NO_TAG,
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
MBEDTLS_CIPHER_AES_192_CCM_STAR_NO_TAG,
MBEDTLS_CIPHER_AES_256_CCM_STAR_NO_TAG,
#endif
#endif
#if defined(MBEDTLS_CAMELLIA_C)
MBEDTLS_CIPHER_CAMELLIA_128_ECB,
MBEDTLS_CIPHER_CAMELLIA_192_ECB,
MBEDTLS_CIPHER_CAMELLIA_256_ECB,
#if defined(MBEDTLS_CIPHER_MODE_CBC)
MBEDTLS_CIPHER_CAMELLIA_128_CBC,
MBEDTLS_CIPHER_CAMELLIA_192_CBC,
MBEDTLS_CIPHER_CAMELLIA_256_CBC,
#endif
#if defined(MBEDTLS_CIPHER_MODE_CFB)
MBEDTLS_CIPHER_CAMELLIA_128_CFB128,
MBEDTLS_CIPHER_CAMELLIA_192_CFB128,
MBEDTLS_CIPHER_CAMELLIA_256_CFB128,
#endif
#if defined(MBEDTLS_CIPHER_MODE_CTR)
MBEDTLS_CIPHER_CAMELLIA_128_CTR,
MBEDTLS_CIPHER_CAMELLIA_192_CTR,
MBEDTLS_CIPHER_CAMELLIA_256_CTR,
#endif
#if defined(MBEDTLS_GCM_C)
MBEDTLS_CIPHER_CAMELLIA_128_GCM,
MBEDTLS_CIPHER_CAMELLIA_192_GCM,
MBEDTLS_CIPHER_CAMELLIA_256_GCM,
#endif
#if defined(MBEDTLS_CCM_C)
MBEDTLS_CIPHER_CAMELLIA_128_CCM,
MBEDTLS_CIPHER_CAMELLIA_192_CCM,
MBEDTLS_CIPHER_CAMELLIA_256_CCM,
MBEDTLS_CIPHER_CAMELLIA_128_CCM_STAR_NO_TAG,
MBEDTLS_CIPHER_CAMELLIA_192_CCM_STAR_NO_TAG,
MBEDTLS_CIPHER_CAMELLIA_256_CCM_STAR_NO_TAG,
#endif
#endif /* MBEDTLS_CAMELLIA_C */
#if defined(MBEDTLS_ARIA_C)
MBEDTLS_CIPHER_ARIA_128_ECB,
MBEDTLS_CIPHER_ARIA_192_ECB,
MBEDTLS_CIPHER_ARIA_256_ECB,
#if defined(MBEDTLS_CIPHER_MODE_CBC)
MBEDTLS_CIPHER_ARIA_128_CBC,
MBEDTLS_CIPHER_ARIA_192_CBC,
MBEDTLS_CIPHER_ARIA_256_CBC,
#endif
#if defined(MBEDTLS_CIPHER_MODE_CFB)
MBEDTLS_CIPHER_ARIA_128_CFB128,
MBEDTLS_CIPHER_ARIA_192_CFB128,
MBEDTLS_CIPHER_ARIA_256_CFB128,
#endif
#if defined(MBEDTLS_CIPHER_MODE_CTR)
MBEDTLS_CIPHER_ARIA_128_CTR,
MBEDTLS_CIPHER_ARIA_192_CTR,
MBEDTLS_CIPHER_ARIA_256_CTR,
#endif
#if defined(MBEDTLS_GCM_C)
MBEDTLS_CIPHER_ARIA_128_GCM,
MBEDTLS_CIPHER_ARIA_192_GCM,
MBEDTLS_CIPHER_ARIA_256_GCM,
#endif
#if defined(MBEDTLS_CCM_C)
MBEDTLS_CIPHER_ARIA_128_CCM,
MBEDTLS_CIPHER_ARIA_192_CCM,
MBEDTLS_CIPHER_ARIA_256_CCM,
MBEDTLS_CIPHER_ARIA_128_CCM_STAR_NO_TAG,
MBEDTLS_CIPHER_ARIA_192_CCM_STAR_NO_TAG,
MBEDTLS_CIPHER_ARIA_256_CCM_STAR_NO_TAG,
#endif
#endif /* MBEDTLS_ARIA_C */
#if defined(MBEDTLS_DES_C)
MBEDTLS_CIPHER_DES_ECB,
MBEDTLS_CIPHER_DES_EDE_ECB,
MBEDTLS_CIPHER_DES_EDE3_ECB,
#if defined(MBEDTLS_CIPHER_MODE_CBC)
MBEDTLS_CIPHER_DES_CBC,
MBEDTLS_CIPHER_DES_EDE_CBC,
MBEDTLS_CIPHER_DES_EDE3_CBC,
#endif
#endif /* MBEDTLS_DES_C */
#if defined(MBEDTLS_CHACHA20_C)
MBEDTLS_CIPHER_CHACHA20,
#endif
#if defined(MBEDTLS_CHACHAPOLY_C)
MBEDTLS_CIPHER_CHACHA20_POLY1305,
#endif
#if defined(MBEDTLS_NIST_KW_C)
MBEDTLS_CIPHER_AES_128_KW,
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
MBEDTLS_CIPHER_AES_192_KW,
MBEDTLS_CIPHER_AES_256_KW,
#endif
MBEDTLS_CIPHER_AES_128_KWP,
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
MBEDTLS_CIPHER_AES_192_KWP,
MBEDTLS_CIPHER_AES_256_KWP,
#endif
#endif
#if defined(MBEDTLS_CIPHER_NULL_CIPHER)
MBEDTLS_CIPHER_NULL,
#endif /* MBEDTLS_CIPHER_NULL_CIPHER */
MBEDTLS_CIPHER_NONE
};
const mbedtls_cipher_base_t *mbedtls_cipher_base_lookup_table[] = {
#if defined(MBEDTLS_AES_C)

View File

@ -167,7 +167,7 @@ typedef struct {
extern const mbedtls_cipher_definition_t mbedtls_cipher_definitions[];
extern int mbedtls_cipher_supported[];
extern const int mbedtls_cipher_supported[];
extern const mbedtls_cipher_base_t *mbedtls_cipher_base_lookup_table[];