mirror of
				https://github.com/Mbed-TLS/mbedtls.git
				synced 2025-11-03 20:33:16 +03:00 
			
		
		
		
	Add missing dependencies for ECDH_xxx key exchanges
ECDH_ECDSA requires ECDSA and ECDH_RSA requires RSA. Signed-off-by: Gilles Peskine <gilles.peskine@arm.com>
This commit is contained in:
		@@ -257,12 +257,14 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) &&                 \
 | 
			
		||||
    ( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) )
 | 
			
		||||
    ( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_ECDSA_C) ||          \
 | 
			
		||||
      !defined(MBEDTLS_X509_CRT_PARSE_C) )
 | 
			
		||||
#error "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED defined, but not all prerequisites"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) &&                 \
 | 
			
		||||
    ( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) )
 | 
			
		||||
    ( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_RSA_C) ||          \
 | 
			
		||||
      !defined(MBEDTLS_X509_CRT_PARSE_C) )
 | 
			
		||||
#error "MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED defined, but not all prerequisites"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1085,7 +1085,7 @@
 | 
			
		||||
 *
 | 
			
		||||
 * Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS.
 | 
			
		||||
 *
 | 
			
		||||
 * Requires: MBEDTLS_ECDH_C, MBEDTLS_X509_CRT_PARSE_C
 | 
			
		||||
 * Requires: MBEDTLS_ECDH_C, MBEDTLS_ECDSA_C, MBEDTLS_X509_CRT_PARSE_C
 | 
			
		||||
 *
 | 
			
		||||
 * This enables the following ciphersuites (if other requisites are
 | 
			
		||||
 * enabled as well):
 | 
			
		||||
@@ -1109,7 +1109,7 @@
 | 
			
		||||
 *
 | 
			
		||||
 * Enable the ECDH-RSA based ciphersuite modes in SSL / TLS.
 | 
			
		||||
 *
 | 
			
		||||
 * Requires: MBEDTLS_ECDH_C, MBEDTLS_X509_CRT_PARSE_C
 | 
			
		||||
 * Requires: MBEDTLS_ECDH_C, MBEDTLS_RSA_C, MBEDTLS_X509_CRT_PARSE_C
 | 
			
		||||
 *
 | 
			
		||||
 * This enables the following ciphersuites (if other requisites are
 | 
			
		||||
 * enabled as well):
 | 
			
		||||
 
 | 
			
		||||
@@ -50,7 +50,8 @@ my $config_h = 'include/mbedtls/config.h';
 | 
			
		||||
# Some algorithms can't be disabled on their own as others depend on them, so
 | 
			
		||||
# we list those reverse-dependencies here to keep check_config.h happy.
 | 
			
		||||
my %algs = (
 | 
			
		||||
    'MBEDTLS_ECDSA_C'   => ['MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED'],
 | 
			
		||||
    'MBEDTLS_ECDSA_C'   => ['MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED',
 | 
			
		||||
                            'MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED'],
 | 
			
		||||
    'MBEDTLS_ECP_C'     => ['MBEDTLS_ECDSA_C',
 | 
			
		||||
                            'MBEDTLS_ECDH_C',
 | 
			
		||||
                            'MBEDTLS_ECJPAKE_C',
 | 
			
		||||
@@ -68,6 +69,7 @@ my %algs = (
 | 
			
		||||
    'MBEDTLS_RSA_C'     => ['MBEDTLS_X509_RSASSA_PSS_SUPPORT',
 | 
			
		||||
                            'MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED',
 | 
			
		||||
                            'MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED',
 | 
			
		||||
                            'MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED',
 | 
			
		||||
                            'MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED',
 | 
			
		||||
                            'MBEDTLS_KEY_EXCHANGE_RSA_ENABLED'],
 | 
			
		||||
);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user