Manuel Pégourié-Gonnard
87a346f64e
Always save flight first, (re)send later
...
This will allow fragmentation to always happen in the same place, always from
a buffer distinct from ssl->out_msg, and with the same way of resuming after
returning WANT_WRITE
2018-08-16 10:01:10 +02:00
Manuel Pégourié-Gonnard
9c3a8caa92
Clarify code a bit in write_handshake_msg()
...
- take advantage of the fact that we're only called for first send
- put all sanity checks at the top
- rename and constify shortcut variables
- improve comments
2018-08-16 10:00:35 +02:00
Manuel Pégourié-Gonnard
31c1586893
Start separating handshake from record writing
2018-08-16 10:00:27 +02:00
Hanno Becker
9dc3be7601
Improve wording in ChangeLog
2018-08-14 15:22:05 +01:00
Hanno Becker
361f254eab
Adapt ChangeLog
2018-08-13 16:36:58 +01:00
Hanno Becker
7864090ec1
Reset session_in/out pointers in ssl_session_reset_int()
...
Fixes #1941 .
2018-08-13 16:35:15 +01:00
Jaeden Amero
d8f41698d2
Merge remote-tracking branch 'upstream-public/pr/1598' into development
...
Add a Changelog entry
2018-08-10 11:23:15 +01:00
Jaeden Amero
03bd4847b3
Merge remote-tracking branch 'upstream-public/pr/1861' into development
...
Add Changelog entry
2018-08-10 11:17:14 +01:00
Jaeden Amero
cac0c1a250
Merge remote-tracking branch 'upstream-public/pr/1378' into development
2018-08-10 10:59:53 +01:00
Jaeden Amero
603aee0c46
Merge remote-tracking branch 'upstream-public/pr/1816' into development
2018-08-10 10:56:48 +01:00
Jaeden Amero
372b50b252
Add a ChangeLog entry for #1816
2018-08-10 10:56:31 +01:00
Jaeden Amero
f48163a960
Merge remote-tracking branch 'upstream-public/pr/1834' into development
2018-08-10 10:49:10 +01:00
Hanno Becker
448146407f
Adapt ChangeLog
2018-08-03 10:07:39 +01:00
Hanno Becker
5b559ac7ab
Fix mbedtls_ssl_get_record_expansion() for ChaChaPoly and CBC
...
`mbedtls_ssl_get_record_expansion()` is supposed to return the maximum
difference between the size of a protected record and the size of the
encapsulated plaintext.
It had the following two bugs:
(1) It did not consider the new ChaChaPoly ciphersuites, returning
the error code #MBEDTLS_ERR_SSL_INTERNAL_ERROR in this case.
(2) It did not correctly estimate the maximum record expansion in case
of CBC ciphersuites in (D)TLS versions 1.1 and higher, in which
case the ciphertext is prefixed by an explicit IV.
This commit fixes both bugs.
2018-08-03 10:07:35 +01:00
Simon Butcher
b363382ba4
Add ChangeLog entry for bug #1890
2018-07-30 22:10:48 +01:00
Simon Butcher
f1124c9963
Merge remote-tracking branch 'public/pr/1891' into HEAD
2018-07-30 22:06:25 +01:00
Ron Eldor
1b9b217abf
enforce input and output of ccm selftest on stack
...
In `mbedtls_ccm_self_test()`, enforce input and output
buffers sent to the ccm API to be contigous and aligned,
by copying the test vectors to buffers on the stack.
2018-07-30 11:29:26 +03:00
Simon Butcher
5f26b11ffa
Change test dependencies to RC4 from DES
...
Some tests were dependent on DES yet actually used RC4. Likely a copy and paste
error. This change fixes them.
2018-07-27 17:15:39 +01:00
Simon Butcher
c796573487
Add Chacha dependency to the stream cipher field
...
When MBEDTLS_ARC4_C and MBEDTLS_CIPHER_NULL_CIPHER were disabled, the stream
cipher function wasn't being include in the cipher struct, yet Chacha20 requires
it.
2018-07-27 17:13:39 +01:00
Angus Gratton
608a487b9c
Fix memory leak in ecp_mul_comb() if ecp_precompute_comb() fails
...
In ecp_mul_comb(), if (!p_eq_g && grp->T == NULL) and then ecp_precompute_comb() fails (which can
happen due to OOM), then the new array of points T will be leaked (as it's newly allocated, but
hasn't been asigned to grp->T yet).
Symptom was a memory leak in ECDHE key exchange under low memory conditions.
2018-07-27 09:15:34 +10:00
Simon Butcher
6c34268e20
Merge remote-tracking branch 'restricted/pr/501' into development-restricted
2018-07-26 14:24:56 +01:00
Simon Butcher
f11a7cda73
Clarify Changelog entries
...
Corrected the Changelog to move an entry in the wrong place after a merge, some
entries which were Changes not bugfixes, and corrected style issues.
2018-07-25 17:29:59 +01:00
Jaeden Amero
193c86425e
Update version to 2.12.0
2018-07-25 15:42:26 +01:00
Simon Butcher
37b9fd5df6
Merge remote-tracking branch 'restricted/pr/490' into development
2018-07-24 23:40:37 +01:00
Simon Butcher
34acd3c3d2
Merge remote-tracking branch 'public/pr/1868' into development
2018-07-24 17:21:11 +01:00
Simon Butcher
269e999a35
Remove unnecessary newlines in CONTRIBUTING.md
2018-07-24 17:21:00 +01:00
Simon Butcher
ee3ded0522
Merge remote-tracking branch 'public/pr/1832' into development
2018-07-24 17:20:45 +01:00
Simon Butcher
729d7814c8
Merge remote-tracking branch 'public/pr/779' into development
2018-07-24 17:20:36 +01:00
Simon Butcher
2c92949e0a
Merge remote-tracking branch 'public/pr/1198' into development
2018-07-24 17:20:17 +01:00
Simon Butcher
c88c627fba
Merge remote-tracking branch 'public/pr/1658' into development
2018-07-24 17:19:10 +01:00
Jaeden Amero
4ed32d065b
cpp_dummy_build: Add NIST key wrapping header
2018-07-24 16:51:09 +01:00
Ron Eldor
488fd08e11
Add aes KW OIDs as defined
...
Add the KW and KWP OIDs for aes, as defined in RFC 5649.
2018-07-24 16:43:20 +01:00
Ron Eldor
8dd03cd1aa
Add tests for the nist key wrapping feature
...
Add tests for Key wrapping.
Test vectors taken from the standards.
2018-07-24 16:43:20 +01:00
Ron Eldor
9cf0d53adc
Add ChangeLog
...
Add entry in ChangeLog for the Key Wrapping feature.
2018-07-24 16:43:20 +01:00
Ron Eldor
9ab746c7c9
Add selftests
...
Add selftests for key wrapping
2018-07-24 16:43:20 +01:00
Ron Eldor
cb349ac279
Implement the KW and KWP algorithm
...
1. Add kw to the Makefiles
2. Implement the algorithms as defined in SP800-38F, and RFC 3394.
2018-07-24 16:43:20 +01:00
Ron Eldor
466a57fbbe
Key wrapping API definition
...
Define the Key Wrapping API
2018-07-24 16:43:20 +01:00
Simon Butcher
5ca06c763c
Merge remote-tracking branch 'public/pr/1724' into development
2018-07-24 13:32:07 +01:00
Simon Butcher
fb3b0320d0
Merge remote-tracking branch 'public/pr/919' into development
2018-07-24 13:28:51 +01:00
Simon Butcher
ccb43df37e
Merge remote-tracking branch 'public/pr/927' into development
2018-07-24 13:06:54 +01:00
Simon Butcher
dad05b7fc9
Merge remote-tracking branch 'public/pr/1844' into development
2018-07-24 13:05:09 +01:00
Simon Butcher
05330541ea
Revise ChangeLog entry for empty data records fixes
2018-07-24 12:54:15 +01:00
Simon Butcher
116ac43d00
Merge remote-tracking branch 'public/pr/1852' into development
2018-07-24 12:18:59 +01:00
Simon Butcher
bdf80d0953
Merge remote-tracking branch 'public/pr/1810' into development
2018-07-24 12:12:27 +01:00
Simon Butcher
fced1f2fb3
Merge remote-tracking branch 'public/pr/1854' into development
2018-07-24 10:26:46 +01:00
Simon Butcher
ecb635efca
Add ChangeLog entry for #1098 fix.
2018-07-24 10:03:41 +01:00
Dawid Drozd
428cc52a73
Allow to forward declare of public structs #1215
...
Thanks to forward declare we can declare `struct` in our header file instead making #include
2018-07-24 10:02:47 +02:00
Simon Butcher
4072aaea73
Merge remote-tracking branch 'public/pr/1875' into development
2018-07-24 08:41:07 +01:00
Simon Butcher
a7b35434e6
Merge remote-tracking branch 'public/pr/1871' into development
2018-07-24 08:26:13 +01:00
Simon Butcher
6965f771de
Fix use of Knowledge Base in documentation
...
Made the use of 'Knowledge Base' consistent in the CONTRIBUTING.md and
README.md files.
2018-07-23 23:59:24 +01:00