Manuel Pégourié-Gonnard
b747c6cf9b
Add basic first tests for MTU setting
...
For now, just check that it causes us to fragment. More tests are coming in
follow-up commits to ensure we respect the exact value set, including when
renegotiating.
2018-08-16 10:01:47 +02:00
Manuel Pégourié-Gonnard
637e234d9f
Merge remote-tracking branch 'public/pr/1915' into iotssl-165-dtls-hs-fragmentation-new
...
* public/pr/1915:
Adapt ChangeLog
Fix mbedtls_ssl_get_record_expansion() for ChaChaPoly and CBC
2018-08-16 10:01:21 +02:00
Manuel Pégourié-Gonnard
9468ff1966
Implement support for MTU setting
2018-08-16 10:01:10 +02:00
Manuel Pégourié-Gonnard
0b1d9b2c75
Declare ssl_conf_mtu()
2018-08-16 10:01:10 +02:00
Manuel Pégourié-Gonnard
01ec4af023
Add ChangeLog entry
2018-08-16 10:01:10 +02:00
Manuel Pégourié-Gonnard
2cb17e201b
Make handshake fragmentation follow max_frag_len
...
Note: no interop tests in ssl-opt.sh for now, as some of them make us run into
bugs in (the CI's default versions of) OpenSSL and GnuTLS, so interop tests
will be added later once the situation is clarified. <- TODO
2018-08-16 10:01:10 +02:00
Manuel Pégourié-Gonnard
28f4beab1c
Start implementing fragmentation
2018-08-16 10:01:10 +02:00
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