diff --git a/ChangeLog.d/add-missing-md-includes.txt b/ChangeLog.d/add-missing-md-includes.txt new file mode 100644 index 0000000000..408c3615e3 --- /dev/null +++ b/ChangeLog.d/add-missing-md-includes.txt @@ -0,0 +1,5 @@ +Bugfix + * Add missing md.h includes to some of the external programs from + the programs directory. Without this, even though the configuration + was sufficient for a particular program to work, it would only print + a message that one of the required defines is missing. diff --git a/include/mbedtls/ssl.h b/include/mbedtls/ssl.h index 03063ac179..e84da605cc 100644 --- a/include/mbedtls/ssl.h +++ b/include/mbedtls/ssl.h @@ -40,6 +40,8 @@ #include "mbedtls/dhm.h" #endif +#include "mbedtls/md.h" + #if defined(MBEDTLS_ECDH_C) #include "mbedtls/ecdh.h" #endif diff --git a/programs/pkey/dh_client.c b/programs/pkey/dh_client.c index 1fbf045460..5a2c30fc21 100644 --- a/programs/pkey/dh_client.c +++ b/programs/pkey/dh_client.c @@ -20,6 +20,8 @@ #include "mbedtls/build_info.h" #include "mbedtls/platform.h" +/* md.h is included this early since MD_CAN_XXX macros are defined there. */ +#include "mbedtls/md.h" #if defined(MBEDTLS_AES_C) && defined(MBEDTLS_DHM_C) && \ defined(MBEDTLS_ENTROPY_C) && defined(MBEDTLS_NET_C) && \ @@ -45,13 +47,13 @@ !defined(MBEDTLS_ENTROPY_C) || !defined(MBEDTLS_NET_C) || \ !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_MD_CAN_SHA256) || \ !defined(MBEDTLS_FS_IO) || !defined(MBEDTLS_CTR_DRBG_C) || \ - !defined(MBEDTLS_MD_CAN_SHA1) + !defined(MBEDTLS_SHA1_C) int main(void) { mbedtls_printf("MBEDTLS_AES_C and/or MBEDTLS_DHM_C and/or MBEDTLS_ENTROPY_C " "and/or MBEDTLS_NET_C and/or MBEDTLS_RSA_C and/or " "MBEDTLS_MD_CAN_SHA256 and/or MBEDTLS_FS_IO and/or " - "MBEDTLS_CTR_DRBG_C not defined.\n"); + "MBEDTLS_CTR_DRBG_C and/or MBEDTLS_SHA1_C not defined.\n"); mbedtls_exit(0); } #else diff --git a/programs/pkey/dh_server.c b/programs/pkey/dh_server.c index 66f7d6f350..c940be0c0f 100644 --- a/programs/pkey/dh_server.c +++ b/programs/pkey/dh_server.c @@ -20,6 +20,8 @@ #include "mbedtls/build_info.h" #include "mbedtls/platform.h" +/* md.h is included this early since MD_CAN_XXX macros are defined there. */ +#include "mbedtls/md.h" #if defined(MBEDTLS_AES_C) && defined(MBEDTLS_DHM_C) && \ defined(MBEDTLS_ENTROPY_C) && defined(MBEDTLS_NET_C) && \ @@ -45,13 +47,13 @@ !defined(MBEDTLS_ENTROPY_C) || !defined(MBEDTLS_NET_C) || \ !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_MD_CAN_SHA256) || \ !defined(MBEDTLS_FS_IO) || !defined(MBEDTLS_CTR_DRBG_C) || \ - !defined(MBEDTLS_MD_CAN_SHA1) + !defined(MBEDTLS_SHA1_C) int main(void) { mbedtls_printf("MBEDTLS_AES_C and/or MBEDTLS_DHM_C and/or MBEDTLS_ENTROPY_C " "and/or MBEDTLS_NET_C and/or MBEDTLS_RSA_C and/or " "MBEDTLS_MD_CAN_SHA256 and/or MBEDTLS_FS_IO and/or " - "MBEDTLS_CTR_DRBG_C not defined.\n"); + "MBEDTLS_CTR_DRBG_C and/or MBEDTLS_SHA1_C not defined.\n"); mbedtls_exit(0); } #else diff --git a/programs/pkey/pk_sign.c b/programs/pkey/pk_sign.c index f3bcdb24ab..82cb6a1d66 100644 --- a/programs/pkey/pk_sign.c +++ b/programs/pkey/pk_sign.c @@ -20,6 +20,8 @@ #include "mbedtls/build_info.h" #include "mbedtls/platform.h" +/* md.h is included this early since MD_CAN_XXX macros are defined there. */ +#include "mbedtls/md.h" #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_ENTROPY_C) || \ !defined(MBEDTLS_MD_CAN_SHA256) || !defined(MBEDTLS_MD_C) || \ @@ -38,7 +40,6 @@ int main(void) #include "mbedtls/error.h" #include "mbedtls/entropy.h" #include "mbedtls/ctr_drbg.h" -#include "mbedtls/md.h" #include "mbedtls/pk.h" #include diff --git a/programs/pkey/pk_verify.c b/programs/pkey/pk_verify.c index e24f27f0c0..0c549e06e7 100644 --- a/programs/pkey/pk_verify.c +++ b/programs/pkey/pk_verify.c @@ -20,6 +20,8 @@ #include "mbedtls/build_info.h" #include "mbedtls/platform.h" +/* md.h is included this early since MD_CAN_XXX macros are defined there. */ +#include "mbedtls/md.h" #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_MD_C) || \ !defined(MBEDTLS_MD_CAN_SHA256) || !defined(MBEDTLS_PK_PARSE_C) || \ @@ -34,7 +36,6 @@ int main(void) #else #include "mbedtls/error.h" -#include "mbedtls/md.h" #include "mbedtls/pk.h" #include diff --git a/programs/pkey/rsa_sign.c b/programs/pkey/rsa_sign.c index 051db07c06..64375e9e70 100644 --- a/programs/pkey/rsa_sign.c +++ b/programs/pkey/rsa_sign.c @@ -20,6 +20,8 @@ #include "mbedtls/build_info.h" #include "mbedtls/platform.h" +/* md.h is included this early since MD_CAN_XXX macros are defined there. */ +#include "mbedtls/md.h" #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_RSA_C) || \ !defined(MBEDTLS_MD_CAN_SHA256) || !defined(MBEDTLS_MD_C) || \ @@ -34,7 +36,6 @@ int main(void) #else #include "mbedtls/rsa.h" -#include "mbedtls/md.h" #include #include diff --git a/programs/pkey/rsa_sign_pss.c b/programs/pkey/rsa_sign_pss.c index 4fa3582a75..03882cd2f4 100644 --- a/programs/pkey/rsa_sign_pss.c +++ b/programs/pkey/rsa_sign_pss.c @@ -20,6 +20,8 @@ #include "mbedtls/build_info.h" #include "mbedtls/platform.h" +/* md.h is included this early since MD_CAN_XXX macros are defined there. */ +#include "mbedtls/md.h" #if !defined(MBEDTLS_MD_C) || !defined(MBEDTLS_ENTROPY_C) || \ !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_MD_CAN_SHA256) || \ @@ -37,7 +39,6 @@ int main(void) #include "mbedtls/entropy.h" #include "mbedtls/ctr_drbg.h" -#include "mbedtls/md.h" #include "mbedtls/rsa.h" #include "mbedtls/pk.h" diff --git a/programs/pkey/rsa_verify.c b/programs/pkey/rsa_verify.c index e17d776f8d..d525010dfa 100644 --- a/programs/pkey/rsa_verify.c +++ b/programs/pkey/rsa_verify.c @@ -20,6 +20,8 @@ #include "mbedtls/build_info.h" #include "mbedtls/platform.h" +/* md.h is included this early since MD_CAN_XXX macros are defined there. */ +#include "mbedtls/md.h" #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_RSA_C) || \ !defined(MBEDTLS_MD_CAN_SHA256) || !defined(MBEDTLS_MD_C) || \ @@ -34,7 +36,6 @@ int main(void) #else #include "mbedtls/rsa.h" -#include "mbedtls/md.h" #include #include diff --git a/programs/pkey/rsa_verify_pss.c b/programs/pkey/rsa_verify_pss.c index bbd8c17b28..e21e92749b 100644 --- a/programs/pkey/rsa_verify_pss.c +++ b/programs/pkey/rsa_verify_pss.c @@ -20,6 +20,8 @@ #include "mbedtls/build_info.h" #include "mbedtls/platform.h" +/* md.h is included this early since MD_CAN_XXX macros are defined there. */ +#include "mbedtls/md.h" #if !defined(MBEDTLS_MD_C) || !defined(MBEDTLS_ENTROPY_C) || \ !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_MD_CAN_SHA256) || \ @@ -38,7 +40,6 @@ int main(void) #include "mbedtls/md.h" #include "mbedtls/pem.h" #include "mbedtls/pk.h" -#include "mbedtls/md.h" #include #include diff --git a/programs/x509/cert_req.c b/programs/x509/cert_req.c index 01d09bc013..396aaf3f8a 100644 --- a/programs/x509/cert_req.c +++ b/programs/x509/cert_req.c @@ -20,6 +20,8 @@ #include "mbedtls/build_info.h" #include "mbedtls/platform.h" +/* md.h is included this early since MD_CAN_XXX macros are defined there. */ +#include "mbedtls/md.h" #if !defined(MBEDTLS_X509_CSR_WRITE_C) || !defined(MBEDTLS_FS_IO) || \ !defined(MBEDTLS_PK_PARSE_C) || !defined(MBEDTLS_MD_CAN_SHA256) || \ diff --git a/programs/x509/cert_write.c b/programs/x509/cert_write.c index 99ede78fae..a822684241 100644 --- a/programs/x509/cert_write.c +++ b/programs/x509/cert_write.c @@ -20,6 +20,8 @@ #include "mbedtls/build_info.h" #include "mbedtls/platform.h" +/* md.h is included this early since MD_CAN_XXX macros are defined there. */ +#include "mbedtls/md.h" #if !defined(MBEDTLS_X509_CRT_WRITE_C) || \ !defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_FS_IO) || \ @@ -41,7 +43,6 @@ int main(void) #include "mbedtls/oid.h" #include "mbedtls/entropy.h" #include "mbedtls/ctr_drbg.h" -#include "mbedtls/md.h" #include "mbedtls/error.h" #include "test/helpers.h"