mbedtls/include/mbedtls
Gilles Peskine 7f03d9ecc6 mbedtls_ssl_config: Replace bit-fields by separate bytes
This slightly increases the RAM consumption per context, but saves code
size on architectures with an instruction for direct byte access (which is
most of them).

Although this is technically an API break, in practice, a realistic
application won't break: it would have had to bypass API functions and rely
on the field size (e.g. relying on -1 == 1 in a 1-bit field).

Results (arm-none-eabi-gcc 7.3.1, build_arm_none_eabi_gcc_m0plus build):
library/ssl_cli.o: 19952 -> 19900 (diff: 52)
library/ssl_msg.o: 25810 -> 25798 (diff: 12)
library/ssl_srv.o: 22371 -> 22299 (diff: 72)
library/ssl_tls.o: 23274 -> 23038 (diff: 236)

Results (same architecture, config-suite-b.h + MBEDTLS_ECDH_LEGACY_CONTEXT +
MBEDTLS_ECP_RESTARTABLE):
library/ssl_cli.o: 2868 -> 2848 (diff: 20)
library/ssl_msg.o: 2916 -> 2924 (diff: -8)
library/ssl_srv.o: 3204 -> 3184 (diff: 20)
library/ssl_tls.o: 5860 -> 5756 (diff: 104)

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-11-16 18:56:49 +01:00
..
aes.h Change DES and AES functions to MBEDTLS_CHECK_RETURN_TYPICAL 2021-09-29 20:40:45 +02:00
aesni.h
arc4.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
aria.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
asn1.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
asn1write.h
base64.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
bignum.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
blowfish.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
bn_mul.h Fix aarch64 assembly for bignum multiplication 2021-09-24 09:47:01 +01:00
camellia.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
ccm.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
certs.h
chacha20.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
chachapoly.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
check_config.h Remove the duplicate code in mbedtls/include/mbedtls/check_config.h 2021-08-03 09:36:15 +02:00
cipher_internal.h
cipher.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
cmac.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
compat-1.3.h
config_psa.h Merge pull request #5117 from gilles-peskine-arm/psa-rsa-pss_any_salt-2.x 2021-10-29 16:36:46 +02:00
config.h Merge pull request #4845 from mstarzyk-mobica/ecb-alt-ret-2.2x 2021-10-14 12:11:04 +02:00
ctr_drbg.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
debug.h use proper formatting macros when using MinGW provided stdio 2021-05-12 08:50:36 -04:00
des.h Change DES and AES functions to MBEDTLS_CHECK_RETURN_TYPICAL 2021-09-29 20:40:45 +02:00
dhm.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
ecdh.h
ecdsa.h
ecjpake.h
ecp_internal.h
ecp.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
entropy_poll.h
entropy.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
error.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
gcm.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
havege.h
hkdf.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
hmac_drbg.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
md2.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
md4.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
md5.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
md_internal.h
md.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
memory_buffer_alloc.h
net_sockets.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
net.h
nist_kw.h
oid.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
padlock.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
pem.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
pk_internal.h
pk.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
pkcs5.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
pkcs11.h
pkcs12.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
platform_time.h
platform_util.h Fix typo in comment 2021-09-30 20:34:29 +02:00
platform.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
poly1305.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
psa_util.h Address review comments 2021-09-30 12:29:27 +02:00
ripemd160.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
rsa_internal.h
rsa.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
sha1.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
sha256.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
sha512.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
ssl_cache.h
ssl_ciphersuites.h
ssl_cookie.h
ssl_internal.h mbedtls_ssl_handshake_params: reorder fields to save code size 2021-11-16 17:44:31 +01:00
ssl_ticket.h Fix typos in C header files 2021-05-12 10:39:58 +02:00
ssl.h mbedtls_ssl_config: Replace bit-fields by separate bytes 2021-11-16 18:56:49 +01:00
threading.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
timing.h
version.h Bump Library Version Number 2021-07-01 17:52:07 +01:00
x509_crl.h
x509_crt.h Document more precisely what goes into the default profile 2021-06-07 21:24:26 +02:00
x509_csr.h
x509.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00
xtea.h Move MBEDTLS_ERR_xxx Doxygen comments before the definition 2021-08-02 22:57:46 +02:00