Skip to content

Commit d4dc354

Browse files
authored
Merge pull request #8541 from yanrayw/issue/ssl-fix-missing-guard
ssl_tls: add missing macro guard
2 parents effdfe7 + 19e4dc8 commit d4dc354

File tree

3 files changed

+73
-20
lines changed

3 files changed

+73
-20
lines changed

include/mbedtls/config_adjust_legacy_crypto.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,26 @@
311311
#define MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY
312312
#endif
313313

314+
/* Some internal helpers to determine which keys are availble. */
315+
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_AES_C)) || \
316+
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_AES))
317+
#define MBEDTLS_SSL_HAVE_AES
318+
#endif
319+
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_ARIA_C)) || \
320+
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_ARIA))
321+
#define MBEDTLS_SSL_HAVE_ARIA
322+
#endif
323+
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_CAMELLIA_C)) || \
324+
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_CAMELLIA))
325+
#define MBEDTLS_SSL_HAVE_CAMELLIA
326+
#endif
327+
328+
/* Some internal helpers to determine which operation modes are availble. */
329+
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_CIPHER_MODE_CBC)) || \
330+
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_CBC_NO_PADDING))
331+
#define MBEDTLS_SSL_HAVE_CBC
332+
#endif
333+
314334
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_GCM_C)) || \
315335
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_GCM))
316336
#define MBEDTLS_SSL_HAVE_GCM

include/mbedtls/ssl.h

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -600,26 +600,6 @@
600600

601601
#define MBEDTLS_TLS_EXT_RENEGOTIATION_INFO 0xFF01
602602

603-
/* Some internal helpers to determine which keys are availble. */
604-
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_AES_C)) || \
605-
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_AES))
606-
#define MBEDTLS_SSL_HAVE_AES
607-
#endif
608-
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_CAMELLIA_C)) || \
609-
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_CAMELLIA))
610-
#define MBEDTLS_SSL_HAVE_CAMELLIA
611-
#endif
612-
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_ARIA_C)) || \
613-
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_ARIA))
614-
#define MBEDTLS_SSL_HAVE_ARIA
615-
#endif
616-
617-
/* Some internal helpers to determine which operation modes are availble. */
618-
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_CIPHER_MODE_CBC)) || \
619-
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_CBC_NO_PADDING))
620-
#define MBEDTLS_SSL_HAVE_CBC
621-
#endif
622-
623603
/*
624604
* Size defines
625605
*/

library/ssl_tls.c

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2715,132 +2715,185 @@ psa_status_t mbedtls_ssl_cipher_to_psa(mbedtls_cipher_type_t mbedtls_cipher_type
27152715
psa_key_type_t *key_type,
27162716
size_t *key_size)
27172717
{
2718+
#if !defined(MBEDTLS_SSL_HAVE_CCM)
2719+
(void) taglen;
2720+
#endif
27182721
switch (mbedtls_cipher_type) {
2722+
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_CBC)
27192723
case MBEDTLS_CIPHER_AES_128_CBC:
27202724
*alg = PSA_ALG_CBC_NO_PADDING;
27212725
*key_type = PSA_KEY_TYPE_AES;
27222726
*key_size = 128;
27232727
break;
2728+
#endif
2729+
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_CCM)
27242730
case MBEDTLS_CIPHER_AES_128_CCM:
27252731
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
27262732
*key_type = PSA_KEY_TYPE_AES;
27272733
*key_size = 128;
27282734
break;
2735+
#endif
2736+
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_GCM)
27292737
case MBEDTLS_CIPHER_AES_128_GCM:
27302738
*alg = PSA_ALG_GCM;
27312739
*key_type = PSA_KEY_TYPE_AES;
27322740
*key_size = 128;
27332741
break;
2742+
#endif
2743+
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_CCM)
27342744
case MBEDTLS_CIPHER_AES_192_CCM:
27352745
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
27362746
*key_type = PSA_KEY_TYPE_AES;
27372747
*key_size = 192;
27382748
break;
2749+
#endif
2750+
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_GCM)
27392751
case MBEDTLS_CIPHER_AES_192_GCM:
27402752
*alg = PSA_ALG_GCM;
27412753
*key_type = PSA_KEY_TYPE_AES;
27422754
*key_size = 192;
27432755
break;
2756+
#endif
2757+
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_CBC)
27442758
case MBEDTLS_CIPHER_AES_256_CBC:
27452759
*alg = PSA_ALG_CBC_NO_PADDING;
27462760
*key_type = PSA_KEY_TYPE_AES;
27472761
*key_size = 256;
27482762
break;
2763+
#endif
2764+
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_CCM)
27492765
case MBEDTLS_CIPHER_AES_256_CCM:
27502766
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
27512767
*key_type = PSA_KEY_TYPE_AES;
27522768
*key_size = 256;
27532769
break;
2770+
#endif
2771+
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_GCM)
27542772
case MBEDTLS_CIPHER_AES_256_GCM:
27552773
*alg = PSA_ALG_GCM;
27562774
*key_type = PSA_KEY_TYPE_AES;
27572775
*key_size = 256;
27582776
break;
2777+
#endif
2778+
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_CBC)
27592779
case MBEDTLS_CIPHER_ARIA_128_CBC:
27602780
*alg = PSA_ALG_CBC_NO_PADDING;
27612781
*key_type = PSA_KEY_TYPE_ARIA;
27622782
*key_size = 128;
27632783
break;
2784+
#endif
2785+
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_CCM)
27642786
case MBEDTLS_CIPHER_ARIA_128_CCM:
27652787
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
27662788
*key_type = PSA_KEY_TYPE_ARIA;
27672789
*key_size = 128;
27682790
break;
2791+
#endif
2792+
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_GCM)
27692793
case MBEDTLS_CIPHER_ARIA_128_GCM:
27702794
*alg = PSA_ALG_GCM;
27712795
*key_type = PSA_KEY_TYPE_ARIA;
27722796
*key_size = 128;
27732797
break;
2798+
#endif
2799+
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_CCM)
27742800
case MBEDTLS_CIPHER_ARIA_192_CCM:
27752801
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
27762802
*key_type = PSA_KEY_TYPE_ARIA;
27772803
*key_size = 192;
27782804
break;
2805+
#endif
2806+
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_GCM)
27792807
case MBEDTLS_CIPHER_ARIA_192_GCM:
27802808
*alg = PSA_ALG_GCM;
27812809
*key_type = PSA_KEY_TYPE_ARIA;
27822810
*key_size = 192;
27832811
break;
2812+
#endif
2813+
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_CBC)
27842814
case MBEDTLS_CIPHER_ARIA_256_CBC:
27852815
*alg = PSA_ALG_CBC_NO_PADDING;
27862816
*key_type = PSA_KEY_TYPE_ARIA;
27872817
*key_size = 256;
27882818
break;
2819+
#endif
2820+
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_CCM)
27892821
case MBEDTLS_CIPHER_ARIA_256_CCM:
27902822
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
27912823
*key_type = PSA_KEY_TYPE_ARIA;
27922824
*key_size = 256;
27932825
break;
2826+
#endif
2827+
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_GCM)
27942828
case MBEDTLS_CIPHER_ARIA_256_GCM:
27952829
*alg = PSA_ALG_GCM;
27962830
*key_type = PSA_KEY_TYPE_ARIA;
27972831
*key_size = 256;
27982832
break;
2833+
#endif
2834+
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_CBC)
27992835
case MBEDTLS_CIPHER_CAMELLIA_128_CBC:
28002836
*alg = PSA_ALG_CBC_NO_PADDING;
28012837
*key_type = PSA_KEY_TYPE_CAMELLIA;
28022838
*key_size = 128;
28032839
break;
2840+
#endif
2841+
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_CCM)
28042842
case MBEDTLS_CIPHER_CAMELLIA_128_CCM:
28052843
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
28062844
*key_type = PSA_KEY_TYPE_CAMELLIA;
28072845
*key_size = 128;
28082846
break;
2847+
#endif
2848+
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_GCM)
28092849
case MBEDTLS_CIPHER_CAMELLIA_128_GCM:
28102850
*alg = PSA_ALG_GCM;
28112851
*key_type = PSA_KEY_TYPE_CAMELLIA;
28122852
*key_size = 128;
28132853
break;
2854+
#endif
2855+
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_CCM)
28142856
case MBEDTLS_CIPHER_CAMELLIA_192_CCM:
28152857
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
28162858
*key_type = PSA_KEY_TYPE_CAMELLIA;
28172859
*key_size = 192;
28182860
break;
2861+
#endif
2862+
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_GCM)
28192863
case MBEDTLS_CIPHER_CAMELLIA_192_GCM:
28202864
*alg = PSA_ALG_GCM;
28212865
*key_type = PSA_KEY_TYPE_CAMELLIA;
28222866
*key_size = 192;
28232867
break;
2868+
#endif
2869+
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_CBC)
28242870
case MBEDTLS_CIPHER_CAMELLIA_256_CBC:
28252871
*alg = PSA_ALG_CBC_NO_PADDING;
28262872
*key_type = PSA_KEY_TYPE_CAMELLIA;
28272873
*key_size = 256;
28282874
break;
2875+
#endif
2876+
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_CCM)
28292877
case MBEDTLS_CIPHER_CAMELLIA_256_CCM:
28302878
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
28312879
*key_type = PSA_KEY_TYPE_CAMELLIA;
28322880
*key_size = 256;
28332881
break;
2882+
#endif
2883+
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_GCM)
28342884
case MBEDTLS_CIPHER_CAMELLIA_256_GCM:
28352885
*alg = PSA_ALG_GCM;
28362886
*key_type = PSA_KEY_TYPE_CAMELLIA;
28372887
*key_size = 256;
28382888
break;
2889+
#endif
2890+
#if defined(MBEDTLS_SSL_HAVE_CHACHAPOLY)
28392891
case MBEDTLS_CIPHER_CHACHA20_POLY1305:
28402892
*alg = PSA_ALG_CHACHA20_POLY1305;
28412893
*key_type = PSA_KEY_TYPE_CHACHA20;
28422894
*key_size = 256;
28432895
break;
2896+
#endif
28442897
case MBEDTLS_CIPHER_NULL:
28452898
*alg = MBEDTLS_SSL_NULL_CIPHER;
28462899
*key_type = 0;

0 commit comments

Comments
 (0)