1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-07-22 04:01:53 +03:00
Commit Graph

9081 Commits

Author SHA1 Message Date
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
e5b5bd7a40 Allocate a unique err code for MBEDTLS_ERR_AES_BAD_INPUT_DATA 2018-04-17 23:29:47 +01:00
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
14a8b59d7b Fix doxygen error for MBEDTLS_PLATFORM_ZEROIZE_ALT 2018-04-17 16:56:12 +01:00
379b95ca9b Update ccm.h
Updated return values for mbedtls_ccm_auth_decrypt().
2018-04-17 16:43:00 +01:00
477dce15bc Update ccm.h
updated brief desc.
2018-04-17 16:31:22 +01:00
c58787f507 Update docs for MBEDTLS_PLATFORM_ZEROIZE_ALT in config.h 2018-04-17 10:21:45 -05:00
3ea559ea6c Fix alignment in makefile 2018-04-17 10:17:22 -05:00
eecea0e281 Update zeroize test to use mbedtls_platform_zeroize() 2018-04-17 10:14:53 -05:00
9644983ae4 Add platform_utils and zeroize to visualc files 2018-04-17 10:03:44 -05:00
82934be144 Do not install zeroize program in CMakeLists 2018-04-17 10:02:17 -05:00
1f6301b3c8 Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
904e1efb8c Make utils module part of the platform 2018-04-17 10:00:11 -05:00
ec5d416cb2 Update ecdsa.h
minor fix based on review comments
2018-04-17 15:55:28 +01:00
ae8e306973 Fix docs typos for zeroize related features/test 2018-04-17 09:21:49 -05:00
757cd72edf Update license headers year and branding 2018-04-17 09:21:49 -05:00
42defd10a6 Improve docs for zeroize.c and test_zeroize.gdb 2018-04-17 09:21:49 -05:00
1e8ea5fa68 Improve docs for mbedtls_zeroize() and add refs 2018-04-17 09:21:49 -05:00
6606d5c414 Add config.h docs for MBEDTLS_UTILS_ZEROIZE_ALT 2018-04-17 09:21:49 -05:00
1962405be1 Justify moving zeroize() to utils in ChangeLog 2018-04-17 09:21:49 -05:00
806f403a02 Improve detection of program exit code in gdb script 2018-04-17 09:19:05 -05:00
6e34e63eb3 Fix style in programs/test/zeroize.c 2018-04-17 09:19:05 -05:00
7111a0d13b Change test_zeroize.gdb script breakpoint due to zeroize.c change 2018-04-17 09:19:05 -05:00
88f8f41e5a Move zeroize func call to end of program in zeroize.c 2018-04-17 09:19:05 -05:00
0bd4237c2a Fix formatting in utils.c file comment 2018-04-17 09:19:05 -05:00
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
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
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
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
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
d0d7bf614e Add gdb zeroize test when compiling with clang 2018-04-17 09:17:38 -05:00
f2d17929c0 Document test_zeroize.gdb script 2018-04-17 09:17:38 -05:00
c6b0abd5a6 Fix alignment of Makefiles 2018-04-17 09:17:38 -05:00
9a65b1de2a Add utils.h ChangeLog entry 2018-04-17 09:17:38 -05:00
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
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
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
21e2926736 Update rsa.h
minor change to the file's brief desc.
2018-04-17 14:08:56 +01:00
f763f2bbc1 Update dhm.h
Minor documentation improvements:
*Standardized file brief description.
*Separated return statements.
*Reordered tags within documentation blocks so that params and returns are last in block.
*p_rng descriptions changed from "parameter" to "context".
*Suggest to specify issue for each return code, where multiple failure return codes are listed, or generalize.
*Minor improvements to parameter documentation proposed by eng.
2018-04-17 11:00:40 +01:00
d3c9bfcbeb Update ecp.h
Reviewed and standardized
2018-04-17 10:56:55 +01:00
ef87179842 Update ccm.h
updated failure returns to "A CCM or cipher-specific error code on failure."
2018-04-17 10:41:48 +01:00
6ee22a7d52 Update sha256.h
Minor fix based on review comments
2018-04-17 10:38:39 +01:00
92d66b88ae Update sha1.h
Changes based on review comments
2018-04-17 10:36:56 +01:00
f2ec288bf8 Update rsa.h
Changes based on review comments.
2018-04-17 10:27:25 +01:00
f3e4736131 Update md.h
Changes based on review comments
2018-04-16 16:31:16 +01:00
6a7ebc4c86 Update gcm.h
minor fix based on review comments
2018-04-16 16:11:49 +01:00
14d0d57c51 Update ecdsa.h
Minor changes based on review comments
2018-04-16 16:09:30 +01:00
7375b0f6c1 Update ecdh.h
Changs based on review comments
2018-04-16 16:04:57 +01:00
05d0e51bb1 Minor modifications for alt support in des and ecp
1. Add 3des context to be allowed for alternative defintion
2. Move some ecp structs, to disallow alternative definition of them,
as other modules rely on them
2018-04-16 17:40:04 +03:00
9464d7b6e3 Update platform.h
Implemented changes based on review comments
2018-04-16 15:28:35 +01:00