Manuel Pégourié-Gonnard
66d396826a
Merge remote-tracking branch 'public/pr/1516' into development-proposed
...
* public/pr/1516:
Update sha512.h
2018-04-18 16:13:52 +02:00
Manuel Pégourié-Gonnard
bb93c04aab
Merge remote-tracking branch 'public/pr/1515' into development-proposed
...
* public/pr/1515:
Update sha256.h
Update sha256.h
2018-04-18 16:13:52 +02:00
Gilles Peskine
b80f04eb67
Merge remote-tracking branch 'upstream-public/pr/1514' into development-proposed
2018-04-18 16:13:30 +02:00
Gilles Peskine
2e1934ac0c
Fix comment formatting to pacify check-names.sh
2018-04-18 16:08:26 +02:00
Manuel Pégourié-Gonnard
a9377336be
Merge remote-tracking branch 'public/pr/1513' into development-proposed
...
* public/pr/1513:
Update rsa.h
Update rsa.h
Update rsa.h
2018-04-18 11:58:53 +02:00
Manuel Pégourié-Gonnard
0392bff1b9
Merge remote-tracking branch 'public/pr/1512' into development-proposed
...
* public/pr/1512:
Update md.h
Update md.h
2018-04-18 11:57:50 +02:00
Manuel Pégourié-Gonnard
b3a8fe7285
Merge remote-tracking branch 'public/pr/1509' into development-proposed
...
* public/pr/1509:
Update ecdh.h
Update ecdh.h
2018-04-18 11:56:49 +02:00
Manuel Pégourié-Gonnard
01d72df113
Merge remote-tracking branch 'public/pr/1508' into development-proposed
...
* public/pr/1508:
Update ctr_drbg.h
Update ctr_drbg.h
2018-04-18 11:55:30 +02:00
Manuel Pégourié-Gonnard
7153496395
Merge remote-tracking branch 'public/pr/1507' into development-proposed
...
* public/pr/1507:
Update cmac.h
Update cmac.h
2018-04-18 11:54:42 +02:00
Manuel Pégourié-Gonnard
c265a25f4f
Merge remote-tracking branch 'public/pr/1503' into development-proposed
...
* public/pr/1503:
Update aes.h
Update aes.h
2018-04-18 11:48:10 +02:00
Rose Zadik
fa1fe36e08
Update dhm.h
...
Minor fix based on review comments
2018-04-18 10:09:31 +01:00
Rose Zadik
ee96359d89
Update dhm.h
...
Changes based on review comments
2018-04-18 09:46:12 +01:00
Andrzej Kurek
f13ca9536c
Test suites: print error on failed platform_setup
...
Return encountered errors instead of covering them
Fix return value on the broken snprintf implementation
2018-04-18 04:14:31 -04:00
Mohammad Azim Khan
e5b5bd7a40
Allocate a unique err code for MBEDTLS_ERR_AES_BAD_INPUT_DATA
2018-04-17 23:29:47 +01:00
Mohammad Azim Khan
3f7f8170d6
Check invalid nc_off
...
Uninitialized nc_off value >0xf passed by the caller can cause array out-of-bound.
2018-04-17 23:18:40 +01:00
Andres Amaya Garcia
14a8b59d7b
Fix doxygen error for MBEDTLS_PLATFORM_ZEROIZE_ALT
2018-04-17 16:56:12 +01:00
Rose Zadik
379b95ca9b
Update ccm.h
...
Updated return values for mbedtls_ccm_auth_decrypt().
2018-04-17 16:43:00 +01:00
Rose Zadik
477dce15bc
Update ccm.h
...
updated brief desc.
2018-04-17 16:31:22 +01:00
Andres Amaya Garcia
c58787f507
Update docs for MBEDTLS_PLATFORM_ZEROIZE_ALT in config.h
2018-04-17 10:21:45 -05:00
Andres Amaya Garcia
3ea559ea6c
Fix alignment in makefile
2018-04-17 10:17:22 -05:00
Andres Amaya Garcia
eecea0e281
Update zeroize test to use mbedtls_platform_zeroize()
2018-04-17 10:14:53 -05:00
Andres Amaya Garcia
9644983ae4
Add platform_utils and zeroize to visualc files
2018-04-17 10:03:44 -05:00
Andres Amaya Garcia
82934be144
Do not install zeroize program in CMakeLists
2018-04-17 10:02:17 -05:00
Andres Amaya Garcia
1f6301b3c8
Rename mbedtls_zeroize to mbedtls_platform_zeroize
2018-04-17 10:00:21 -05:00
Andres Amaya Garcia
904e1efb8c
Make utils module part of the platform
2018-04-17 10:00:11 -05:00
Rose Zadik
ec5d416cb2
Update ecdsa.h
...
minor fix based on review comments
2018-04-17 15:55:28 +01:00
Andres Amaya Garcia
ae8e306973
Fix docs typos for zeroize related features/test
2018-04-17 09:21:49 -05:00
Andres Amaya Garcia
757cd72edf
Update license headers year and branding
2018-04-17 09:21:49 -05:00
Andres Amaya Garcia
42defd10a6
Improve docs for zeroize.c and test_zeroize.gdb
2018-04-17 09:21:49 -05:00
Andres Amaya Garcia
1e8ea5fa68
Improve docs for mbedtls_zeroize() and add refs
2018-04-17 09:21:49 -05:00
Andres Amaya Garcia
6606d5c414
Add config.h docs for MBEDTLS_UTILS_ZEROIZE_ALT
2018-04-17 09:21:49 -05:00
Andres Amaya Garcia
1962405be1
Justify moving zeroize() to utils in ChangeLog
2018-04-17 09:21:49 -05:00
Andres Amaya Garcia
806f403a02
Improve detection of program exit code in gdb script
2018-04-17 09:19:05 -05:00
Andres Amaya Garcia
6e34e63eb3
Fix style in programs/test/zeroize.c
2018-04-17 09:19:05 -05:00
Andres Amaya Garcia
7111a0d13b
Change test_zeroize.gdb script breakpoint due to zeroize.c change
2018-04-17 09:19:05 -05:00
Andres Amaya Garcia
88f8f41e5a
Move zeroize func call to end of program in zeroize.c
2018-04-17 09:19:05 -05:00
Andres Amaya Garcia
0bd4237c2a
Fix formatting in utils.c file comment
2018-04-17 09:19:05 -05:00
Andres Amaya Garcia
ecd1891c51
Change mbedtls_zeroize() to prevent optimizations
...
Change mbedtls_zeroize() implementation to use memset() instead of a
custom implementation for performance reasons. Furthermore, we would
also like to prevent as much as we can compiler optimisations that
remove zeroization code.
The implementation of mbedtls_zeroize() now uses a volatile function
pointer to memset() as suggested by Colin Percival at:
http://www.daemonology.net/blog/2014-09-04-how-to-zero-a-buffer.html
2018-04-17 09:19:05 -05:00
Andres Amaya Garcia
2967381ccd
Extend zeroize tests to multiple optimizations
...
Extend the all.sh test to cover multiple compiler optimization levels.
At the momment, the test is run using gcc and clang.
2018-04-17 09:19:05 -05:00
Andres Amaya Garcia
24768bfa37
Improve test_zeroize.gdb breakpoint
...
Improve the position of the breakpoint to be set at a line of code that
is less likely to be optimised out by the compiler. Setting the breakpoint
at a place that can be easily optimised out by the compiler will cause the
gdb script to fail as it cannot match the source code line to the
compiled code. For this reason the breakpoint is now set at the fclose()
call which is very unlikely to be optimised out or there might be a
resource leak.
2018-04-17 09:19:05 -05:00
Andres Amaya Garcia
b1262a3bdb
Allow compile-time alternate to mbedtls_zeroize()
...
Add a new macro MBEDTLS_UTILS_ZEROIZE that allows users to configure
mbedtls_zeroize() to an alternative definition when defined. If the
macro is not defined, then mbed TLS will use the default definition of
the function.
2018-04-17 09:19:05 -05:00
Andres Amaya Garcia
e32df087fb
Remove individual copies of mbedtls_zeroize()
...
This commit removes all the static occurrencies of the function
mbedtls_zeroize() in each of the individual .c modules. Instead the
function has been moved to utils.h that is included in each of the
modules.
2018-04-17 09:19:05 -05:00
Andres Amaya Garcia
d0d7bf614e
Add gdb zeroize test when compiling with clang
2018-04-17 09:17:38 -05:00
Andres Amaya Garcia
f2d17929c0
Document test_zeroize.gdb script
2018-04-17 09:17:38 -05:00
Andres Amaya Garcia
c6b0abd5a6
Fix alignment of Makefiles
2018-04-17 09:17:38 -05:00
Andres Amaya Garcia
9a65b1de2a
Add utils.h ChangeLog entry
2018-04-17 09:17:38 -05:00
Andres Amaya Garcia
ddebc49f28
Add gdb script to test mbedtls_zeroize()
...
The gdb script loads the programs/test/zeroize program and feeds it as
imput its own source code. Then sets a breakpoint just before the last
program's return code and checks that every element in memory was
zeroized. Otherwise it signals a failure and terminates.
The test was added to all.sh.
2018-04-17 09:17:38 -05:00
Andres Amaya Garcia
5ab74a1401
Add programs/test/zeroize.c to test mbedtls_zeroize
...
The idea is to use the simple program that is expected to be modified
rarely to set a breakpoint in a specific line and check that the
function mbedtls_zeroize() does actually set the buffer to 0 and is not
optimised out by the compiler.
2018-04-17 09:17:38 -05:00
Andres Amaya Garcia
614d9c0667
Add a utils.h file that contains common functions
...
The new header contains common information across various mbed TLS
modules and avoids code duplication. To start, utils.h currently only
contains the mbedtls_zeroize() function.
2018-04-17 09:17:38 -05:00
Rose Zadik
21e2926736
Update rsa.h
...
minor change to the file's brief desc.
2018-04-17 14:08:56 +01:00