diff --git a/Android.mk b/Android.mk index eea55bd46..d7bcfac11 100644 --- a/Android.mk +++ b/Android.mk @@ -193,6 +193,7 @@ LOCAL_SRC_FILES := \ third_party/mbedtls/repo/library/md_wrap.c \ third_party/mbedtls/repo/library/memory_buffer_alloc.c \ third_party/mbedtls/repo/library/platform.c \ + third_party/mbedtls/repo/library/platform_util.c \ third_party/mbedtls/repo/library/sha256.c \ third_party/mbedtls/repo/library/bignum.c \ third_party/mbedtls/repo/library/ccm.c \ diff --git a/etc/visual-studio/mbedtls.vcxproj b/etc/visual-studio/mbedtls.vcxproj index 76e9c6bb8..8b077cfd2 100644 --- a/etc/visual-studio/mbedtls.vcxproj +++ b/etc/visual-studio/mbedtls.vcxproj @@ -71,6 +71,7 @@ + diff --git a/etc/visual-studio/mbedtls.vcxproj.filters b/etc/visual-studio/mbedtls.vcxproj.filters index 4c41a0c12..c03e1ab5d 100644 --- a/etc/visual-studio/mbedtls.vcxproj.filters +++ b/etc/visual-studio/mbedtls.vcxproj.filters @@ -64,6 +64,9 @@ Source Files\repo\library + + Source Files\repo\library + Source Files\repo\library diff --git a/etc/visual-studio/mbedtls_k.vcxproj b/etc/visual-studio/mbedtls_k.vcxproj index 38503a9ac..a0cc2801e 100644 --- a/etc/visual-studio/mbedtls_k.vcxproj +++ b/etc/visual-studio/mbedtls_k.vcxproj @@ -74,6 +74,7 @@ + diff --git a/etc/visual-studio/mbedtls_k.vcxproj.filters b/etc/visual-studio/mbedtls_k.vcxproj.filters index 342f99839..2ca617131 100644 --- a/etc/visual-studio/mbedtls_k.vcxproj.filters +++ b/etc/visual-studio/mbedtls_k.vcxproj.filters @@ -64,6 +64,9 @@ Source Files\repo\library + + Source Files\repo\library + Source Files\repo\library diff --git a/third_party/mbedtls/Makefile.am b/third_party/mbedtls/Makefile.am index 4c4dc5753..4b4158749 100644 --- a/third_party/mbedtls/Makefile.am +++ b/third_party/mbedtls/Makefile.am @@ -67,6 +67,7 @@ libmbedcrypto_a_SOURCES = \ repo/library/pk_wrap.c \ repo/library/pkparse.c \ repo/library/platform.c \ + repo/library/platform_util.c \ repo/library/sha256.c \ repo/library/ssl_cookie.c \ repo/library/ssl_ciphersuites.c \ diff --git a/third_party/mbedtls/mbedtls-config.h b/third_party/mbedtls/mbedtls-config.h index 306338519..ff0cf0ddd 100644 --- a/third_party/mbedtls/mbedtls-config.h +++ b/third_party/mbedtls/mbedtls-config.h @@ -54,7 +54,21 @@ __inline int windows_kernel_snprintf(char * s, size_t n, const char * format, .. va_end( argp ); return ret; } -#define MBEDTLS_PLATFORM_STD_SNPRINTF windows_kernel_snprintf +#define MBEDTLS_PLATFORM_STD_SNPRINTF windows_kernel_snprintf + +#define MBEDTLS_PLATFORM_ZEROIZE_ALT +__inline void mbedtls_platform_zeroize( void *buf, size_t len) +{ + uint8_t *p = (uint8_t *)buf; + while ( len-- ) + { + *p++ = 0; + } +} +#endif + +#ifndef _WIN32 +#define MBEDTLS_PLATFORM_SNPRINTF_MACRO snprintf #endif #if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) && !defined(_KERNEL_MODE)