From 5285b39c01f03a05f9aafcfd489889e3ee73bd80 Mon Sep 17 00:00:00 2001 From: Simon Butcher Date: Sun, 3 Mar 2019 23:04:00 +0000 Subject: [PATCH] Update Mbed TLS to the latest development version This updates Mbed TLS to the latest development version, commit 535ee4a35b9c in the Mbed TLS repo. --- features/mbedtls/VERSION.txt | 2 +- features/mbedtls/inc/mbedtls/aes.h | 72 +- features/mbedtls/inc/mbedtls/aesni.h | 52 +- features/mbedtls/inc/mbedtls/arc4.h | 4 + features/mbedtls/inc/mbedtls/aria.h | 96 +- features/mbedtls/inc/mbedtls/asn1write.h | 28 + features/mbedtls/inc/mbedtls/base64.h | 9 + features/mbedtls/inc/mbedtls/bignum.h | 754 ++++++---- features/mbedtls/inc/mbedtls/blowfish.h | 137 +- features/mbedtls/inc/mbedtls/bn_mul.h | 30 +- features/mbedtls/inc/mbedtls/camellia.h | 208 +-- features/mbedtls/inc/mbedtls/ccm.h | 116 +- features/mbedtls/inc/mbedtls/certs.h | 6 + features/mbedtls/inc/mbedtls/chacha20.h | 48 +- features/mbedtls/inc/mbedtls/chachapoly.h | 83 +- features/mbedtls/inc/mbedtls/check_config.h | 51 +- features/mbedtls/inc/mbedtls/cipher.h | 257 ++-- .../mbedtls/inc/mbedtls/cipher_internal.h | 2 +- features/mbedtls/inc/mbedtls/cmac.h | 6 + features/mbedtls/inc/mbedtls/compat-1.3.h | 6 + features/mbedtls/inc/mbedtls/config.h | 263 +++- features/mbedtls/inc/mbedtls/ctr_drbg.h | 57 +- features/mbedtls/inc/mbedtls/debug.h | 36 + features/mbedtls/inc/mbedtls/des.h | 4 + features/mbedtls/inc/mbedtls/dhm.h | 170 ++- features/mbedtls/inc/mbedtls/ecdh.h | 257 +++- features/mbedtls/inc/mbedtls/ecdsa.h | 233 ++- features/mbedtls/inc/mbedtls/ecjpake.h | 148 +- features/mbedtls/inc/mbedtls/ecp.h | 511 ++++--- features/mbedtls/inc/mbedtls/ecp_internal.h | 6 + features/mbedtls/inc/mbedtls/error.h | 12 +- features/mbedtls/inc/mbedtls/gcm.h | 101 +- features/mbedtls/inc/mbedtls/havege.h | 6 + features/mbedtls/inc/mbedtls/hkdf.h | 6 + features/mbedtls/inc/mbedtls/hmac_drbg.h | 38 +- features/mbedtls/inc/mbedtls/md2.h | 4 + features/mbedtls/inc/mbedtls/md4.h | 4 + features/mbedtls/inc/mbedtls/md5.h | 4 + features/mbedtls/inc/mbedtls/net.h | 5 + features/mbedtls/inc/mbedtls/nist_kw.h | 6 + features/mbedtls/inc/mbedtls/padlock.h | 40 +- features/mbedtls/inc/mbedtls/pem.h | 6 + features/mbedtls/inc/mbedtls/pk.h | 138 +- features/mbedtls/inc/mbedtls/pkcs12.h | 10 + features/mbedtls/inc/mbedtls/pkcs5.h | 14 + features/mbedtls/inc/mbedtls/platform.h | 55 +- features/mbedtls/inc/mbedtls/platform_util.h | 86 +- features/mbedtls/inc/mbedtls/poly1305.h | 49 +- features/mbedtls/inc/mbedtls/psa_util.h | 246 +++- features/mbedtls/inc/mbedtls/ripemd160.h | 4 + features/mbedtls/inc/mbedtls/rsa.h | 536 ++++--- features/mbedtls/inc/mbedtls/sha1.h | 65 +- features/mbedtls/inc/mbedtls/sha256.h | 92 +- features/mbedtls/inc/mbedtls/sha512.h | 93 +- features/mbedtls/inc/mbedtls/ssl.h | 93 +- features/mbedtls/inc/mbedtls/ssl_cache.h | 9 +- .../mbedtls/inc/mbedtls/ssl_ciphersuites.h | 24 + features/mbedtls/inc/mbedtls/ssl_cookie.h | 6 + features/mbedtls/inc/mbedtls/ssl_internal.h | 44 +- features/mbedtls/inc/mbedtls/ssl_ticket.h | 10 +- features/mbedtls/inc/mbedtls/version.h | 10 +- features/mbedtls/inc/mbedtls/x509.h | 10 +- features/mbedtls/inc/mbedtls/x509_crl.h | 4 +- features/mbedtls/inc/mbedtls/x509_crt.h | 96 +- features/mbedtls/inc/mbedtls/x509_csr.h | 8 + features/mbedtls/inc/mbedtls/xtea.h | 4 + features/mbedtls/src/Makefile | 2 +- features/mbedtls/src/aes.c | 121 +- features/mbedtls/src/aria.c | 57 +- features/mbedtls/src/asn1write.c | 97 +- features/mbedtls/src/bignum.c | 342 ++++- features/mbedtls/src/blowfish.c | 58 +- features/mbedtls/src/camellia.c | 70 +- features/mbedtls/src/ccm.c | 37 + features/mbedtls/src/chacha20.c | 48 +- features/mbedtls/src/chachapoly.c | 111 +- features/mbedtls/src/cipher.c | 156 ++- features/mbedtls/src/ctr_drbg.c | 182 ++- features/mbedtls/src/debug.c | 66 +- features/mbedtls/src/dhm.c | 58 +- features/mbedtls/src/ecdh.c | 411 +++++- features/mbedtls/src/ecdsa.c | 86 +- features/mbedtls/src/ecjpake.c | 40 +- features/mbedtls/src/ecp.c | 196 ++- features/mbedtls/src/ecp_curves.c | 8 + features/mbedtls/src/entropy_poll.c | 57 +- features/mbedtls/src/error.c | 24 +- features/mbedtls/src/gcm.c | 45 +- features/mbedtls/src/hmac_drbg.c | 124 +- features/mbedtls/src/nist_kw.c | 4 +- features/mbedtls/src/pem.c | 6 +- features/mbedtls/src/pk.c | 91 +- features/mbedtls/src/pk_wrap.c | 26 +- features/mbedtls/src/pkcs12.c | 4 + features/mbedtls/src/pkcs5.c | 17 +- features/mbedtls/src/pkparse.c | 53 +- features/mbedtls/src/pkwrite.c | 90 +- features/mbedtls/src/platform.c | 73 +- features/mbedtls/src/platform_util.c | 1 + features/mbedtls/src/poly1305.c | 48 +- features/mbedtls/src/rsa.c | 466 +++++- features/mbedtls/src/sha1.c | 24 + features/mbedtls/src/sha256.c | 25 + features/mbedtls/src/sha512.c | 25 + features/mbedtls/src/ssl_cache.c | 62 +- features/mbedtls/src/ssl_ciphersuites.c | 57 +- features/mbedtls/src/ssl_cli.c | 416 ++++-- features/mbedtls/src/ssl_srv.c | 110 +- features/mbedtls/src/ssl_ticket.c | 104 +- features/mbedtls/src/ssl_tls.c | 1243 ++++++++++++----- features/mbedtls/src/version_features.c | 27 + features/mbedtls/src/x509.c | 2 +- features/mbedtls/src/x509_crt.c | 83 +- features/mbedtls/src/x509_csr.c | 15 +- features/mbedtls/src/x509write_crt.c | 32 +- features/mbedtls/src/x509write_csr.c | 12 +- 116 files changed, 8078 insertions(+), 3024 deletions(-) diff --git a/features/mbedtls/VERSION.txt b/features/mbedtls/VERSION.txt index 249c0cd89b..23e318506b 100644 --- a/features/mbedtls/VERSION.txt +++ b/features/mbedtls/VERSION.txt @@ -1 +1 @@ -mbedtls-2.15.1 +development diff --git a/features/mbedtls/inc/mbedtls/aes.h b/features/mbedtls/inc/mbedtls/aes.h index cfb20c4fc0..94e7282d36 100644 --- a/features/mbedtls/inc/mbedtls/aes.h +++ b/features/mbedtls/inc/mbedtls/aes.h @@ -121,7 +121,7 @@ typedef struct mbedtls_aes_xts_context * It must be the first API called before using * the context. * - * \param ctx The AES context to initialize. + * \param ctx The AES context to initialize. This must not be \c NULL. */ void mbedtls_aes_init( mbedtls_aes_context *ctx ); @@ -129,6 +129,8 @@ void mbedtls_aes_init( mbedtls_aes_context *ctx ); * \brief This function releases and clears the specified AES context. * * \param ctx The AES context to clear. + * If this is \c NULL, this function does nothing. + * Otherwise, the context must have been at least initialized. */ void mbedtls_aes_free( mbedtls_aes_context *ctx ); @@ -139,7 +141,7 @@ void mbedtls_aes_free( mbedtls_aes_context *ctx ); * It must be the first API called before using * the context. * - * \param ctx The AES XTS context to initialize. + * \param ctx The AES XTS context to initialize. This must not be \c NULL. */ void mbedtls_aes_xts_init( mbedtls_aes_xts_context *ctx ); @@ -147,6 +149,8 @@ void mbedtls_aes_xts_init( mbedtls_aes_xts_context *ctx ); * \brief This function releases and clears the specified AES XTS context. * * \param ctx The AES XTS context to clear. + * If this is \c NULL, this function does nothing. + * Otherwise, the context must have been at least initialized. */ void mbedtls_aes_xts_free( mbedtls_aes_xts_context *ctx ); #endif /* MBEDTLS_CIPHER_MODE_XTS */ @@ -155,7 +159,9 @@ void mbedtls_aes_xts_free( mbedtls_aes_xts_context *ctx ); * \brief This function sets the encryption key. * * \param ctx The AES context to which the key should be bound. + * It must be initialized. * \param key The encryption key. + * This must be a readable buffer of size \p keybits bits. * \param keybits The size of data passed in bits. Valid options are: *