mbedtls/library
Hanno Becker 8b09b73cb1 Implement parsing of CID-based records
Previously, ssl_get_next_record() would fetch 13 Bytes for the
record header and hand over to ssl_parse_record_header() to parse
and validate these. With the introduction of CID-based records, the
record length is not known in advance, and parsing and validating
must happen at the same time. ssl_parse_record_header() is therefore
rewritten in the following way:
1. Fetch and validate record content type and version.
2. If the record content type indicates a record including a CID,
   adjust the record header pointers accordingly; here, we use the
   statically configured length of incoming CIDs, avoiding any
   elaborate CID parsing mechanism or dependency on the record
   epoch, as explained in the previous commit.
3. Fetch the rest of the record header (note: this doesn't actually
   fetch anything, but makes sure that the datagram fetched in the
   earlier call to ssl_fetch_input() contains enough data).
4. Parse and validate the rest of the record header as before.
2019-05-20 15:32:36 +01:00
..
.gitignore
aes.c Fix off-by-one in iv_off check and add tests 2018-12-18 12:22:40 +01:00
aesni.c
arc4.c
aria.c Implement parameter validation for ARIA module 2018-12-19 12:51:00 +00:00
asn1parse.c
asn1write.c Fix ASN1 bitstring writing 2019-02-11 21:13:33 +00:00
base64.c
bignum.c Fix typo 2019-03-06 13:51:30 +00:00
blowfish.c Implement parameter validation for Blowfish module 2018-12-19 12:52:59 +00:00
camellia.c Minor improvements to Camellia module and documentation 2018-12-19 13:42:05 +00:00
ccm.c Improve details of CCM parameter validation and documentation 2018-12-19 19:02:39 +01:00
certs.c Use certificates from data_files and refer them 2019-02-12 17:10:29 +02:00
chacha20.c Implement parameter validation for ChaCha/Poly modules 2018-12-18 15:30:30 +00:00
chachapoly.c Fix wrong conditional in free() functions 2018-12-18 15:30:30 +00:00
cipher_wrap.c
cipher.c Remove unnecessary parameter validation from the Cipher module 2018-12-19 17:34:58 +01:00
cmac.c
CMakeLists.txt Merge remote-tracking branch 'origin/pr/566' into baremetal 2019-05-09 16:59:02 +01:00
ctr_drbg.c Streamline mbedtls_xxx_drbg_update_seed_file 2018-11-26 19:26:22 +01:00
debug.c Merge remote-tracking branch 'origin/pr/1818' into mbedtls-2.16 2019-03-05 16:28:18 +00:00
des.c
dhm.c Merge remote-tracking branch 'public/pr/1721' into development-restricted 2018-12-20 12:37:13 +00:00
ecdh.c Fix mbedtls_ecdh_get_params with new ECDH context 2019-02-22 12:51:51 +01:00
ecdsa.c Return error code of underlying function. 2019-01-10 10:52:08 +02:00
ecjpake.c Minor fixes to ECJPAKE parameter validation 2018-12-19 09:48:50 +00:00
ecp_curves.c Implement parameter validation for ECP module 2018-12-18 13:00:48 +00:00
ecp.c Fix mbedtls_ecp_curve_info_from_name() for NULL input 2018-12-19 08:52:05 +00:00
entropy_poll.c Add missing bracket 2018-11-06 13:12:47 +00:00
entropy.c
error.c Merge remote-tracking branch 'public/pr/2271' into development 2018-12-20 12:15:08 +00:00
gcm.c Improve parameter validation in mbedtls_gcm_free() 2018-12-19 17:32:19 +01:00
havege.c
hkdf.c
hmac_drbg.c Streamline mbedtls_xxx_drbg_update_seed_file 2018-11-26 19:26:22 +01:00
Makefile Tinycrypt support for makefile builds 2019-04-25 11:00:41 +03:00
md2.c
md4.c
md5.c
md_wrap.c
md.c
memory_buffer_alloc.c
net_sockets.c
nist_kw.c Remove faulty cipher_finish calls from nist_kw 2018-12-20 12:15:40 +01:00
oid.c
padlock.c
pem.c
pk_wrap.c
pk.c Merge remote-tracking branch 'public/pr/1721' into development-restricted 2018-12-20 12:37:13 +00:00
pkcs5.c Guard mbedtls_pkcs5_pbes2() by MBEDTLS_ASN1_PARSE_C 2018-10-16 13:39:40 +01:00
pkcs11.c
pkcs12.c
pkparse.c pk_parse*keyfile: explicitly validate path=NULL 2018-12-19 17:37:02 +01:00
pkwrite.c PK parse/write: support keylen=0 correctly 2018-12-19 17:03:28 +01:00
platform_util.c Remove the library provided function of MBEDTLS_PARAM_FAILED 2018-12-11 12:28:56 +01:00
platform.c
poly1305.c Fix wrong conditional in free() functions 2018-12-18 15:30:30 +00:00
ripemd160.c
rsa_internal.c
rsa.c Merge remote-tracking branch 'public/pr/1721' into development-restricted 2018-12-20 12:37:13 +00:00
sha1.c Move SHA1_VALIDATE[_RET] outside of MBEDTLS_SHA1_ALT guard 2018-12-20 10:18:05 +00:00
sha256.c Move SHA256_VALIDATE[_RET] outside of MBEDTLS_SHA256_ALT guard 2018-12-20 10:24:29 +00:00
sha512.c Move SHA512_VALIDATE[_RET] outside of MBEDTLS_SHA512_ALT guard 2018-12-20 10:24:00 +00:00
ssl_cache.c
ssl_ciphersuites.c Reduce priority of 3DES ciphersuites 2019-03-01 10:29:13 +01:00
ssl_cli.c Set pointer to start of plaintext at record decryption time 2019-05-20 15:32:36 +01:00
ssl_cookie.c
ssl_srv.c Split mbedtls_ssl_hdr_len() in separate functions for in/out records 2019-05-20 15:32:36 +01:00
ssl_ticket.c Indentation fix 2018-10-25 16:07:16 +01:00
ssl_tls.c Implement parsing of CID-based records 2019-05-20 15:32:36 +01:00
threading.c
timing.c Merge remote-tracking branch 'public/pr/1777' into development-proposed 2018-11-04 18:51:36 +00:00
version_features.c Merge remote-tracking branch 'origin/pr/558' into baremetal 2019-05-09 17:03:18 +01:00
version.c
x509_create.c Break overly long line in library/x509_create.c 2018-11-02 10:52:38 +00:00
x509_crl.c
x509_crt.c Avoid MSVC compiler warning 2019-01-10 09:23:48 +00:00
x509_csr.c
x509.c x509.c: Fix potential memory leak in X.509 self test 2019-03-11 15:19:05 +02:00
x509write_crt.c Fix ASN1 bitstring writing 2019-02-11 21:13:33 +00:00
x509write_csr.c Fix ASN1 bitstring writing 2019-02-11 21:13:33 +00:00
xtea.c