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
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) &&                 \
 | 
					#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"
 | 
					#error "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED defined, but not all prerequisites"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) &&                 \
 | 
					#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"
 | 
					#error "MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED defined, but not all prerequisites"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1085,7 +1085,7 @@
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS.
 | 
					 * 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
 | 
					 * This enables the following ciphersuites (if other requisites are
 | 
				
			||||||
 * enabled as well):
 | 
					 * enabled as well):
 | 
				
			||||||
@@ -1109,7 +1109,7 @@
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * Enable the ECDH-RSA based ciphersuite modes in SSL / TLS.
 | 
					 * 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
 | 
					 * This enables the following ciphersuites (if other requisites are
 | 
				
			||||||
 * enabled as well):
 | 
					 * 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
 | 
					# 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.
 | 
					# we list those reverse-dependencies here to keep check_config.h happy.
 | 
				
			||||||
my %algs = (
 | 
					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_ECP_C'     => ['MBEDTLS_ECDSA_C',
 | 
				
			||||||
                            'MBEDTLS_ECDH_C',
 | 
					                            'MBEDTLS_ECDH_C',
 | 
				
			||||||
                            'MBEDTLS_ECJPAKE_C',
 | 
					                            'MBEDTLS_ECJPAKE_C',
 | 
				
			||||||
@@ -68,6 +69,7 @@ my %algs = (
 | 
				
			|||||||
    'MBEDTLS_RSA_C'     => ['MBEDTLS_X509_RSASSA_PSS_SUPPORT',
 | 
					    'MBEDTLS_RSA_C'     => ['MBEDTLS_X509_RSASSA_PSS_SUPPORT',
 | 
				
			||||||
                            'MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED',
 | 
					                            'MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED',
 | 
				
			||||||
                            'MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED',
 | 
					                            'MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED',
 | 
				
			||||||
 | 
					                            'MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED',
 | 
				
			||||||
                            'MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED',
 | 
					                            'MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED',
 | 
				
			||||||
                            'MBEDTLS_KEY_EXCHANGE_RSA_ENABLED'],
 | 
					                            'MBEDTLS_KEY_EXCHANGE_RSA_ENABLED'],
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user