mbedtls/include/mbedtls
Hanno Becker 3307b53413 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-29 10:58:15 +02:00
..
aes.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00
aesni.h Merge remote-tracking branch 'origin/pr/1375' into mbedtls-2.16 2019-01-30 16:09:08 +00:00
arc4.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00
aria.h Leave behaviour on NULL input unspecified in ARIA 2018-12-19 12:51:00 +00:00
asn1.h Merge remote-tracking branch 'upstream-restricted/pr/398' into development-restricted-proposed 2018-03-13 17:18:06 +01:00
asn1write.h Include configuration file to headers 2018-12-16 12:02:50 +02:00
base64.h Merge remote-tracking branch 'origin/pr/1375' into mbedtls-2.16 2019-01-30 16:09:08 +00:00
bignum.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00
blowfish.h Minor Blowfish documentation improvements 2018-12-19 15:48:37 +00:00
bn_mul.h Merge remote-tracking branch 'origin/pr/1375' into mbedtls-2.16 2019-01-30 16:09:08 +00:00
camellia.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00
ccm.h Merge remote-tracking branch 'origin/pr/1375' into mbedtls-2.16 2019-01-30 16:09:08 +00:00
certs.h Include configuration file to headers 2018-12-16 12:02:50 +02:00
chacha20.h Minor improvements to ChaCha20/Poly1305/ChaChaPoly documentation 2018-12-18 15:30:30 +00:00
chachapoly.h Minor improvements to ChaCha20/Poly1305/ChaChaPoly documentation 2018-12-18 15:30:30 +00:00
check_config.h Merge remote-tracking branch 'upstream-public/pr/2267' into development 2018-12-07 16:17:12 +00:00
cipher.h Fix include file path 2018-12-28 11:11:10 +08:00
cipher_internal.h Move definition to cipher.h 2018-07-01 10:22:53 +03:00
cmac.h Include configuration file to headers 2018-12-16 12:02:50 +02:00
compat-1.3.h Include configuration file to headers 2018-12-16 12:02:50 +02:00
config.h Fix documentation for 3DES removal 2019-03-01 10:29:49 +01:00
ctr_drbg.h Merge remote-tracking branch 'origin/pr/1375' into mbedtls-2.16 2019-01-30 16:09:08 +00:00
debug.h Debug: Add functions for ECDH contexts 2018-12-06 12:22:46 +00:00
des.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00
dhm.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00
ecdh.h Merge remote-tracking branch 'origin/pr/1375' into mbedtls-2.16 2019-01-30 16:09:08 +00:00
ecdsa.h Merge remote-tracking branch 'origin/pr/1375' into mbedtls-2.16 2019-01-30 16:09:08 +00:00
ecjpake.h Merge remote-tracking branch 'origin/pr/1375' into mbedtls-2.16 2019-01-30 16:09:08 +00:00
ecp.h Merge remote-tracking branch 'origin/pr/1375' into mbedtls-2.16 2019-01-30 16:09:08 +00:00
ecp_internal.h Include configuration file to headers 2018-12-16 12:02:50 +02:00
entropy.h Allow to forward declare of public structs #1215 2018-07-24 10:02:47 +02:00
entropy_poll.h Update Doxygen file blocks to remove copyright and license information 2018-01-23 15:44:39 +00:00
error.h Merge remote-tracking branch 'origin/pr/1375' into mbedtls-2.16 2019-01-30 16:09:08 +00:00
gcm.h Merge remote-tracking branch 'origin/pr/1375' into mbedtls-2.16 2019-01-30 16:09:08 +00:00
havege.h Include configuration file for all headers 2018-12-16 12:14:37 +02:00
hkdf.h Include configuration file for all headers 2018-12-16 12:14:37 +02:00
hmac_drbg.h Include configuration file to headers 2018-12-16 12:02:50 +02:00
md.h Deprecate hardware acceleration errors 2018-11-09 15:01:07 +00:00
md2.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00
md4.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00
md5.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00
md_internal.h Merge remote-tracking branch 'upstream-public/pr/1294' into development 2018-01-25 14:47:39 +00:00
memory_buffer_alloc.h Update Doxygen file blocks to remove copyright and license information 2018-01-23 15:44:39 +00:00
net.h Include configuration file to headers 2018-12-16 12:02:50 +02:00
net_sockets.h Merge remote-tracking branch 'upstream-public/pr/1861' into development 2018-08-10 11:17:14 +01:00
nist_kw.h Include configuration file for all headers 2018-12-16 12:14:37 +02:00
oid.h Merge remote-tracking branch 'upstream-public/pr/1861' into development 2018-08-10 11:17:14 +01:00
padlock.h Merge remote-tracking branch 'origin/pr/1375' into mbedtls-2.16 2019-01-30 16:09:08 +00:00
pem.h Include configuration file to headers 2018-12-16 12:02:50 +02:00
pk.h PK: document context validity requirements 2018-12-19 18:10:03 +01:00
pk_internal.h Merge branch 'development' into iotssl-1260-non-blocking-ecc-restricted 2018-06-13 09:52:54 +02:00
pkcs5.h Merge remote-tracking branch 'origin/pr/1375' into mbedtls-2.16 2019-01-30 16:09:08 +00:00
pkcs11.h Allow to forward declare of public structs #1215 2018-07-24 10:02:47 +02:00
pkcs12.h Include configuration file for all headers 2018-12-16 12:14:37 +02:00
platform.h Add common feature unavailable error 2018-11-09 13:57:37 +00:00
platform_time.h Update Doxygen file blocks to remove copyright and license information 2018-01-23 15:44:39 +00:00
platform_util.h Fix include file path 2018-12-28 11:11:10 +08:00
poly1305.h Fix include file path 2018-12-28 11:11:10 +08:00
ripemd160.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00
rsa.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00
rsa_internal.h Merge remote-tracking branch 'upstream-public/pr/1457' into development-proposed 2018-04-04 09:19:27 +02:00
sha1.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00
sha256.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00
sha512.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00
ssl.h Merge remote-tracking branch 'public/pr/2134' into development-restricted 2018-12-20 12:34:44 +00:00
ssl_cache.h Include configuration file for all headers 2018-12-16 12:14:37 +02:00
ssl_ciphersuites.h Include configuration file to headers 2018-12-16 12:02:50 +02:00
ssl_cookie.h Include configuration file to headers 2018-12-16 12:02:50 +02:00
ssl_internal.h Provide standalone version of ssl_encrypt_buf 2019-04-29 10:58:15 +02:00
ssl_ticket.h Include configuration file to headers 2018-12-16 12:02:50 +02:00
threading.h Deprecate hardware acceleration errors 2018-11-09 15:01:07 +00:00
timing.h Allow to forward declare of public structs #1215 2018-07-24 10:02:47 +02:00
version.h Update the version of the library to 2.16.0 2018-12-21 10:51:51 +00:00
x509.h Add MBEDTLS_SELF_TEST check in header files 2018-05-21 18:40:10 +03:00
x509_crl.h Update Doxygen file blocks to remove copyright and license information 2018-01-23 15:44:39 +00:00
x509_crt.h Merge remote-tracking branch 'upstream-public/pr/1982' into development 2018-12-06 15:54:21 +00:00
x509_csr.h Improve docs for ASN.1 bitstrings and their usage 2019-02-11 21:25:09 +00:00
xtea.h Merge remote-tracking branch 'public/pr/975' into mbedtls-2.16 2019-01-08 16:34:19 +00:00