Make utils module part of the platform

This commit is contained in:
Andres Amaya Garcia 2018-04-17 09:16:30 -05:00
parent ae8e306973
commit 904e1efb8c
4 changed files with 38 additions and 26 deletions

View file

@ -57,7 +57,7 @@ set(src_crypto
version.c
version_features.c
xtea.c
utils.c
platform_util.c
)
set(src_x509

View file

@ -66,7 +66,7 @@ OBJS_CRYPTO= aes.o aesni.o arc4.o \
sha1.o sha256.o sha512.o \
threading.o timing.o version.o \
version_features.o xtea.o \
utils.o
platform_util.o
OBJS_X509= certs.o pkcs11.o x509.o \
x509_create.o x509_crl.o x509_crt.o \

View file

@ -1,5 +1,6 @@
/*
* Mbed TLS utility functions
* Common and shared functions used by multiple modules in the Mbed TLS
* library.
*
* Copyright (C) 2018, Arm Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0
@ -30,12 +31,12 @@
#include <stddef.h>
#include <string.h>
#if !defined(MBEDTLS_UTILS_ZEROIZE_ALT)
#if !defined(MBEDTLS_PLATFORM_ZEROIZE_ALT)
/*
* This implementation should never be optimized out by the compiler
*
* This implementation for mbedtls_zeroize() was inspired from Colin Percival's
* blog article at:
* This implementation for mbedtls_platform_zeroize() was inspired from Colin
* Percival's blog article at:
*
* http://www.daemonology.net/blog/2014-09-04-how-to-zero-a-buffer.html
*
@ -50,17 +51,17 @@
* if( memset_func != memset )
* memset_func( buf, 0, len );
*
* Note that it is extremely difficult to guarantee that mbedtls_zeroize()
* will not be optimized out by aggressive compilers in a portable way. For
* this reason, Mbed TLS also provides the configuration option
* MBEDTLS_UTILS_ZEROIZE_ALT, which allows users to configure
* mbedtls_zeroize() to use a suitable implementation for their platform and
* needs.
* Note that it is extremely difficult to guarantee that
* mbedtls_platform_zeroize() will not be optimized out by aggressive compilers
* in a portable way. For this reason, Mbed TLS also provides the configuration
* option MBEDTLS_PLATFORM_ZEROIZE_ALT, which allows users to configure
* mbedtls_platform_zeroize() to use a suitable implementation for their
* platform and needs.
*/
static void * (* const volatile memset_func)( void *, int, size_t ) = memset;
void mbedtls_zeroize( void *buf, size_t len )
void mbedtls_platform_zeroize( void *buf, size_t len )
{
memset_func( buf, 0, len );
}
#endif /* MBEDTLS_UTILS_ZEROIZE_ALT */
#endif /* MBEDTLS_PLATFORM_ZEROIZE_ALT */