mbedtls/library
Hanno Becker 9eddaebda5 Provide standalone version of ssl_encrypt_buf
The previous version of the record encryption function
`ssl_encrypt_buf` takes the entire SSL context as an argument,
while intuitively, it should only depend on the current security
parameters and the record buffer.

Analyzing the exact dependencies, it turned out that in addition
to the currently active `ssl_transform` instance and the record
information, the encryption function needs access to
- the negotiated protocol version, and
- the status of the encrypt-then-MAC extension.

This commit moves these two fields into `ssl_transform` and
changes the signature of `ssl_encrypt_buf` to only use an instance
of `ssl_transform` and an instance of the new `ssl_record` type.
The `ssl_context` instance is *solely* kept for the debugging macros
which need an SSL context instance.

The benefit of the change is twofold:
1) It avoids the need of the MPS to deal with instances of
   `ssl_context`. The MPS should only work with records and
   opaque security parameters, which is what the change in
   this commit makes progress towards.
2) It significantly eases testing of the encryption function:
   independent of any SSL context, the encryption function can
   be passed some record buffer to encrypt alongside some arbitrary
   choice of parameters, and e.g. be checked to not overflow the
   provided memory.
2019-04-25 12:58:21 +01:00
..
.gitignore Split libs with make + general make cleanups 2015-06-25 10:59:56 +02:00
aes.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
aesni.c Warn if using a memory sanitizer on AESNI 2018-04-05 15:37:38 +02:00
arc4.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
aria.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
asn1parse.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
asn1write.c Add new function mbedtls_asn1_write_named_bitstring() 2019-02-28 09:36:30 +00:00
base64.c Add comment to integer overflow fix in base64.c 2017-02-15 23:31:07 +02:00
bignum.c Merge remote-tracking branch 'origin/pr/2405' into development 2019-04-05 14:08:49 +01:00
blowfish.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
camellia.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
ccm.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
certs.c Use certificates from data_files and refer them 2019-02-12 15:30:26 +02:00
chacha20.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
chachapoly.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
cipher_wrap.c Wrap lines at 80 columns 2019-04-02 10:07:28 -07:00
cipher.c Wrap lines at 80 columns 2019-04-02 10:07:28 -07:00
cmac.c Merge remote-tracking branch 'public/pr/1390' into development 2018-06-27 10:51:47 +01:00
CMakeLists.txt Update library version to 2.17.0 2019-03-19 16:12:55 +00:00
ctr_drbg.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
debug.c Merge remote-tracking branch 'origin/pr/1818' into development 2019-03-05 16:27:38 +00:00
des.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
dhm.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
ecdh.c Fix ECDH secret export for Mongomery curves 2019-02-26 16:49:52 +00:00
ecdsa.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
ecjpake.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
ecp_curves.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
ecp.c ECP: remove extra whitespaces 2019-02-26 17:02:37 +00:00
entropy_poll.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
entropy.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
error.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
gcm.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
havege.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
hkdf.c Fix issue if salt = NULL and salt_len !=0 in mbedtls_hkdf_extract() 2018-07-23 10:34:47 -07:00
hmac_drbg.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
Makefile Merge development commit f352f7 into development-psa 2019-02-01 07:03:03 -05:00
md2.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
md4.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
md5.c Fix Lucky 13 cache attack on MD/SHA padding 2018-07-05 10:47:00 +02:00
md_wrap.c New MD API: rename functions from _ext to _ret 2018-01-22 11:54:42 +01:00
md.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
memory_buffer_alloc.c Fix braces in mbedtls_memory_buffer_alloc_status() 2018-06-12 16:56:04 +01:00
net_sockets.c Merge remote-tracking branch 'public/pr/1198' into development 2018-07-24 17:20:17 +01:00
nist_kw.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
oid.c Add certificate policy oid x509 extension 2019-04-16 13:26:54 +03:00
padlock.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
pem.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
pk_wrap.c Fix outdated comment in ecdsa_verify_wrap() 2019-01-29 08:26:15 +00:00
pk.c pk: restructure precondition check 2019-02-05 05:09:05 -05:00
pkcs5.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
pkcs11.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
pkcs12.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
pkparse.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
pkwrite.c Merge development-psa commit 80b5662 into development-psa-merged branch 2019-02-05 06:02:51 -05:00
platform_util.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
platform.c Merge remote-tracking branch 'origin/pr/1551' into development 2019-01-30 13:24:55 +00:00
poly1305.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
ripemd160.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
rsa_internal.c Bignum: Deprecate mbedtls_mpi_is_prime() 2018-10-09 16:36:53 +01:00
rsa.c rsa: Enable use of zero-length null output 2019-02-11 03:39:51 -05:00
sha1.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
sha256.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
sha512.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
ssl_cache.c Remove peer CRT from cache if !MBEDTLS_SSL_KEEP_PEER_CERTIFICATE 2019-02-26 14:38:09 +00:00
ssl_ciphersuites.c Reduce priority of 3DES ciphersuites 2019-03-01 10:19:27 +01:00
ssl_cli.c Remove ciphersuite_info from ssl_transform 2019-04-25 12:58:21 +01:00
ssl_cookie.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
ssl_srv.c Remove ciphersuite_info from ssl_transform 2019-04-25 12:58:21 +01:00
ssl_ticket.c Fix typo in SSL ticket documentation 2019-02-26 14:38:09 +00:00
ssl_tls.c Provide standalone version of ssl_encrypt_buf 2019-04-25 12:58:21 +01:00
threading.c Don't declare and define gmtime()-mutex on Windows platforms 2018-09-06 12:09:56 +01:00
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/2532' into development 2019-04-16 14:42:11 +01:00
version.c Fix missing void argument declarations #678 2016-11-04 23:05:56 +01:00
x509_create.c Break overly long line in library/x509_create.c 2018-11-02 10:52:38 +00:00
x509_crl.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
x509_crt.c Merge remote-tracking branch 'origin/pr/2532' into development 2019-04-16 14:42:11 +01:00
x509_csr.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
x509.c Merge remote-tracking branch 'origin/pr/2106' into development 2019-04-05 13:47:06 +01:00
x509write_crt.c Add new function mbedtls_asn1_write_named_bitstring() 2019-02-28 09:36:30 +00:00
x509write_csr.c Add new function mbedtls_asn1_write_named_bitstring() 2019-02-28 09:36:30 +00:00
xtea.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00