Simon Butcher
10438e17fc
Merge remote-tracking branch 'public/pr/1683' into development
2018-06-05 11:43:10 +01:00
Simon Butcher
6e962b2762
Fix file permissions for ssl.h
...
Correct the file permissions for ssl.h which were inadvertently made executable
in PR#1402
2018-06-05 10:25:04 +01:00
Manuel Pégourié-Gonnard
94175a50f7
Refresh generated file
2018-06-04 12:42:17 +02:00
Manuel Pégourié-Gonnard
d2db09f435
Fix typo in documentation
2018-06-04 12:31:12 +02:00
Manuel Pégourié-Gonnard
9c82e2ce49
Fix some whitespace issues
2018-06-04 12:30:16 +02:00
Manuel Pégourié-Gonnard
e533b22153
Fix ordering and repetitions in config.h
2018-06-04 12:23:19 +02:00
Manuel Pégourié-Gonnard
3dc62a0a9b
chachapoly: force correct mode for integrated API
...
Allowing DECRYPT with crypt_and_tag is a risk as people might fail to check
the tag correctly (or at all). So force them to use auth_decrypt() instead.
See also https://github.com/ARMmbed/mbedtls/pull/1668
2018-06-04 12:18:19 +02:00
Manuel Pégourié-Gonnard
26c3b0a4b1
Fix return type of internal function
...
Fixes incomplete change in f4f01b6b7a
2018-06-04 12:06:23 +02:00
Simon Butcher
eb6ed719e3
Merge remote-tracking branch 'public/pr/1267' into development
2018-06-01 19:28:18 +01:00
Simon Butcher
2041a31ca8
Merge remote-tracking branch 'public/pr/1402' into development
2018-06-01 19:27:23 +01:00
Simon Butcher
246cb05a92
Merge remote-tracking branch 'public/pr/1410' into development
2018-06-01 19:25:56 +01:00
Simon Butcher
b02f7893f6
Merge remote-tracking branch 'public/pr/1470' into development
2018-06-01 19:20:25 +01:00
Simon Butcher
ba9199458d
Merge remote-tracking branch 'public/pr/1604' into development
2018-06-01 19:15:40 +01:00
Simon Butcher
d72700a8ed
Add ChangeLog entry for PR#1651
2018-06-01 19:11:55 +01:00
Simon Butcher
8edf2a37f7
Merge remote-tracking branch 'public/pr/1654' into development
2018-06-01 19:06:00 +01:00
Gilles Peskine
02b9329f2b
Fix MSan build without MBEDTLS_TIMING_C
...
When MBEDTLS_TIMING_C was not defined in config.h, but the MemSan
memory sanitizer was activated, entropy_poll.c used memset without
declaring it. Fix this by including string.h unconditionally.
2018-06-01 18:19:59 +02:00
Darryl Green
0daf4caaf8
Add test vectors for CCM*
2018-05-31 10:05:35 +01:00
Janos Follath
4c579391b1
CCM*: Remove superfluous braces
2018-05-30 13:58:38 +01:00
Janos Follath
143b319773
CCM*: Make documentation consistent
2018-05-30 13:57:29 +01:00
Janos Follath
997e85c049
CCM*: Remove nested if
2018-05-29 11:59:22 +01:00
Janos Follath
6b4bd3dcc4
CCM*: Improve documentation
2018-05-29 11:59:22 +01:00
Janos Follath
95ab93d417
CCM*: Add minimal tests
2018-05-29 11:59:22 +01:00
Janos Follath
b5734a28d9
CCM*: Add implementation
2018-05-29 11:59:22 +01:00
Janos Follath
5dc8cfa8f1
CCM*: Add public API
...
Interface for CCM* (described in IEEE Std 802.15.4.).
2018-05-29 11:59:22 +01:00
Azim Khan
45b79cf12b
Treat warnings as errors for IAR
...
Fix IAR compiler warnings
Two warnings have been fixed:
1. code 'if( len <= 0xFFFFFFFF )' gave warning 'pointless integer comparison'.
This was fixed by wraping the condition in '#if SIZE_MAX > 0xFFFFFFFF'.
2. code 'diff |= A[i] ^ B[i];' gave warning 'the order of volatile accesses is undefined in'.
This was fixed by read the volatile data in temporary variables before the computation.
Explain IAR warning on volatile access
Consistent use of CMAKE_C_COMPILER_ID
2018-05-25 14:54:14 +01:00
Zach van Rijn
e7d3f8e2ea
Fix MicroBlaze register typo.
2018-05-25 08:02:18 -04:00
Manuel Pégourié-Gonnard
be78b07015
chachapoly: warn against piecewise decryption
2018-05-24 19:33:59 +02:00
Manuel Pégourié-Gonnard
fa0c47d4c8
Fix typo in doc and copy missing warning
2018-05-24 19:02:06 +02:00
Manuel Pégourié-Gonnard
f4f01b6b7a
Check return values from lower modules
...
The cast to void was motivated by the assumption that the functions only
return non-zero when passed bad arguments, but that might not be true of
alternative implementation, for example on hardware failure.
2018-05-24 18:50:18 +02:00
Manuel Pégourié-Gonnard
1729789075
Misc style adjustments
...
- fix some whitespace
- fix most overlong lines
- remove some superfluous parentheses
- s/result/ret/ for consistency with the rest of the library
2018-05-24 18:50:18 +02:00
Manuel Pégourié-Gonnard
98fae6d800
ChaCha20: move working state from ctx to stack
...
No need to keep it around.
2018-05-24 17:38:31 +02:00
Manuel Pégourié-Gonnard
9620f9b99e
Rm mbedtls_ prefix form static functions
...
- prefix is no necessary for static ids and makes lines longer
- most often omitted (even though we're not fully consistent)
2018-05-24 17:04:02 +02:00
Manuel Pégourié-Gonnard
c22e61a081
Add ifdef for selftest in header file
...
See https://github.com/ARMmbed/mbedtls/pull/975
2018-05-24 16:54:57 +02:00
Manuel Pégourié-Gonnard
fb78c90138
Use recently-introduced platform_util module
2018-05-24 16:54:57 +02:00
Manuel Pégourié-Gonnard
39f25616b3
Fix edit mistake in cipher_wrap.c
...
Error was from 08c337d058
2018-05-24 14:06:02 +02:00
Manuel Pégourié-Gonnard
3798b6be6b
Add some error codes and merge others
...
- need HW failure codes too
- re-use relevant poly codes for chachapoly to save on limited space
Values were chosen to leave 3 free slots at the end of the NET odd range.
2018-05-24 13:37:31 +02:00
Manuel Pégourié-Gonnard
234e1cef73
cipher: add stream test vectors for chacha20(poly1305)
2018-05-24 13:37:31 +02:00
Manuel Pégourié-Gonnard
32902e6eae
cipher: handle ChaCha20 as a stream cipher
...
That's what it is. So we shouldn't set a block size != 1.
While at it, move call to chachapoly_update() closer to the one for GCM, as
they are similar (AEAD).
2018-05-24 13:37:31 +02:00
Manuel Pégourié-Gonnard
c0dfcd4bf1
Simplify selftest functions using macros
...
This reduces clutter, making the functions more readable.
Also, it makes lcov see each line as covered. This is not cheating, as the
lines that were previously seen as not covered are not supposed to be reached
anyway (failing branches of the selftests).
Thanks to this and previous test suite enhancements, lcov now sees chacha20.c
and poly1305.c at 100% line coverage, and for chachapoly.c only two lines are
not covered (error returns from lower-level module that should never happen
except perhaps if an alternative implementation returns an unexpected error).
2018-05-24 13:37:31 +02:00
Manuel Pégourié-Gonnard
ceb1225d46
chachapoly: add test for state flow
2018-05-24 13:37:31 +02:00
Manuel Pégourié-Gonnard
444f711216
poly1305: add test with multiple small fragments
...
This exercises the code path where data is just appended to the waiting queue
while it isn't empty.
2018-05-24 13:37:31 +02:00
Manuel Pégourié-Gonnard
59d2c30eba
chachapoly: add test for parameter validation
...
Also fix two bugs found by the new tests.
Also remove redundant test case dependency declarations while at it.
2018-05-24 13:37:31 +02:00
Manuel Pégourié-Gonnard
a8fa8b8f96
poly1305: add test for parameter validation
...
Also fix two validation bugs found while adding the tests.
Also handle test dependencies the right way while at it.
2018-05-24 13:37:31 +02:00
Manuel Pégourié-Gonnard
2aca236881
chacha20: add test for parameter validation
2018-05-24 13:37:31 +02:00
Manuel Pégourié-Gonnard
fce88b2533
Fix selftest verbosity in test suites
2018-05-24 13:37:31 +02:00
Manuel Pégourié-Gonnard
69767d1c7b
cipher: add chachapoly test vector + unauth case
2018-05-24 13:37:31 +02:00
Manuel Pégourié-Gonnard
1465602ee1
poly1305: fix bug in starts() and add test for it
2018-05-24 13:37:31 +02:00
Manuel Pégourié-Gonnard
55c0d096b7
chacha20: fix bug in starts() and add test for it
...
Previously the streaming API would fail when encrypting multiple messages with
the same key.
2018-05-24 13:37:31 +02:00
Manuel Pégourié-Gonnard
7296771194
chachapoly: add test with unauthentic data
2018-05-24 13:37:31 +02:00
Manuel Pégourié-Gonnard
528524bf3c
Reduce size of buffers in test suites
2018-05-24 13:37:31 +02:00