From 598e92991a67279ff03c2a70bf61cdf4d10b30ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bence=20Sz=C3=A9pk=C3=BAti?= Date: Wed, 7 Apr 2021 10:59:35 +0200 Subject: [PATCH] Rework PSA_AEAD_NONCE_LENGTH to reduce expansion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Due to repeated calls to PSA_AEAD_NONCE_LENGTH, which in turn calls PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG several times, some macros updated in this PR expanded to over 6000 characters, more than the 4095 that ISO C99 compilers are guaranteed to support. Signed-off-by: Bence Szépkúti --- include/psa/crypto_sizes.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/include/psa/crypto_sizes.h b/include/psa/crypto_sizes.h index 0c4647fae..205bd0b55 100644 --- a/include/psa/crypto_sizes.h +++ b/include/psa/crypto_sizes.h @@ -375,11 +375,14 @@ */ #define PSA_AEAD_NONCE_LENGTH(key_type, alg) \ (PSA_BLOCK_CIPHER_BLOCK_LENGTH(key_type) == 16 ? \ - PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG(alg) == PSA_ALG_CCM ? 13 : \ - PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG(alg) == PSA_ALG_GCM ? 12 : \ + PSA_ALG_AEAD_WITH_SHORTENED_TAG(alg, 0) == \ + PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, 0) ? 13 : \ + PSA_ALG_AEAD_WITH_SHORTENED_TAG(alg, 0) == \ + PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_GCM, 0) ? 12 : \ 0 : \ (key_type) == PSA_KEY_TYPE_CHACHA20 && \ - PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG(alg) == PSA_ALG_CHACHA20_POLY1305 ? 12 : \ + PSA_ALG_AEAD_WITH_SHORTENED_TAG(alg, 0) == \ + PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305, 0) ? 12 : \ 0) /** The maximum default nonce size among all supported pairs of key types and