mbedtls/visualc/VS2010
Gilles Peskine 84867cffdd Don't use dynamic pointer dispatch in md
In the generic message digest abstraction, instead of storing method
pointers in the per-algorithm data structure and using wrapper
functions as those methods, call the per-algorithm function directly.

This saves some code size (2336B -> 2043B for md with all algorithms
enabled on M0+ with gcc -Os). This should also make it easier to
optimize the case when a single algorithm is supported. In addition,
this is a very slight security improvement since it removes one
opportunity for a buffer overflow to directly turn into letting the
attacker overwrite a pointer to a function pointer.

This commit does not modify the documented API. However, it removes
the possibility for users to define their own hash implementations and
use them by building their own md_info.

Changing mbedtls_md_context to contain a md type identifier rather
than a pointer to an info structure would save a few more bytes and a
few more runtime memory accesses, but would be a major API break since
a lot of code uses `const mbedtls_md_info *` to keep track of which
hash is in use.
2019-07-22 11:35:15 +02:00
..
aescrypt2.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
benchmark.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
crypt_and_hash.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
crypto_examples.vcxproj Add visualc files generated by generate_visualc_files.pl 2018-09-14 10:02:25 +01:00
dh_genprime.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
ecdh_curve25519.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
ecdsa.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
gen_entropy.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
gen_key.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
gen_random_ctr_drbg.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
gen_random_havege.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
generic_sum.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
hello.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
key_app.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
key_app_writer.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
key_ladder_demo.vcxproj Add visualc files generated by generate_visualc_files.pl 2018-09-14 10:02:25 +01:00
mbedTLS.sln Remove programs that depend on TLS or X.509 2019-04-25 11:46:08 +01:00
mbedTLS.vcxproj Don't use dynamic pointer dispatch in md 2019-07-22 11:35:15 +02:00
mpi_demo.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
pem2der.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
pk_decrypt.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
pk_encrypt.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
pk_sign.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
pk_verify.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
psa_constant_names.vcxproj Add visualc files generated by generate_visualc_files.pl 2018-09-14 10:02:25 +01:00
query_compile_time_config.vcxproj query_config: Move to programs/test 2019-03-11 16:48:36 +00:00
rsa_decrypt.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
rsa_encrypt.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
rsa_genkey.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
rsa_sign.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
rsa_sign_pss.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
rsa_verify.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
rsa_verify_pss.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
selftest.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
strerror.vcxproj Have Visual Studio handle linking to mbedTLS.lib internally 2018-02-21 13:33:15 +00:00
zeroize.vcxproj Add platform_utils and zeroize to visualc files 2018-04-17 10:03:44 -05:00