boringssl/include/openssl
Brian Smith ac9404c3a8 Improve crypto/digest/md32_common.h mechanism.
The documentation in md32_common.h is now (more) correct with respect
to the most important details of the layout of |HASH_CTX|. The
documentation explaining why sha512.c doesn't use md32_common.h is now
more accurate as well.

Before, the C implementations of HASH_BLOCK_DATA_ORDER took a pointer
to the |HASH_CTX| and the assembly language implementations took a
pointer to the hash state |h| member of |HASH_CTX|. (This worked
because |h| is always the first member of |HASH_CTX|.) Now, the C
implementations take a pointer directly to |h| too.

The definitions of |MD4_CTX|, |MD5_CTX|, and |SHA1_CTX| were changed to
be consistent with |SHA256_CTX| and |SHA512_CTX| in storing the hash
state in an array. This will break source compatibility with any
external code that accesses the hash state directly, but will not
affect binary compatibility.

The second parameter of |HASH_BLOCK_DATA_ORDER| is now of type
|const uint8_t *|; previously it was |void *| and all implementations
had a |uint8_t *data| variable to access it as an array of bytes.

This change paves the way for future refactorings such as automatically
generating the |*_Init| functions and/or sharing one I-U-F
implementation across all digest algorithms.

Change-Id: I6e9dd09ff057c67941021d324a4fa1d39f58b0db
Reviewed-on: https://boringssl-review.googlesource.com/6405
Reviewed-by: Adam Langley <agl@google.com>
2015-11-04 00:01:09 +00:00
..
aead.h Correct the spelling of "primitive". 2015-11-03 21:47:19 +00:00
aes.h Fix documentation typo. 2015-07-01 21:33:29 +00:00
arm_arch.h Allow ARM capabilities to be set at compile time. 2015-10-20 22:40:15 +00:00
asn1_mac.h Ditch remaining filename comments from public headers and ssl/ 2015-10-20 18:40:05 +00:00
asn1.h Ditch remaining filename comments from public headers and ssl/ 2015-10-20 18:40:05 +00:00
asn1t.h Ditch remaining filename comments from public headers and ssl/ 2015-10-20 18:40:05 +00:00
base64.h Deprecate basically the entire base64 implementation. 2015-09-28 21:53:39 +00:00
base.h Unwind DH_METHOD and DSA_METHOD. 2015-11-03 22:54:36 +00:00
bio.h Better handle IPv6. 2015-10-26 21:06:01 +00:00
blowfish.h
bn.h Make BN_mod_exp_mont_consttime take a const context. 2015-11-03 01:58:12 +00:00
buf.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
buffer.h
bytestring.h Convert ssl3_send_client_hello to CBB. 2015-10-20 17:56:19 +00:00
cast.h
chacha.h Change |CRYPTO_chacha_20| to use 96-bit nonces, 32-bit counters. 2015-10-26 23:58:46 +00:00
cipher.h Re-add |EVP_des_ede|, which is ECB. 2015-08-20 21:33:21 +00:00
cmac.h Style: fix some header guards 2015-10-26 18:47:51 +00:00
conf.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
cpu.h iOS builds use the static ARM CPU configuration. 2015-10-28 17:25:25 +00:00
crypto.h Add no-op functions |CRYPTO_malloc_init| and |ENGINE_load_builtin_engines|. 2015-10-27 16:41:40 +00:00
des.h Fix shared library build on OS X. 2015-10-26 23:39:47 +00:00
dh.h Unwind DH_METHOD and DSA_METHOD. 2015-11-03 22:54:36 +00:00
digest.h Documentation typo. 2015-09-28 22:18:40 +00:00
dsa.h Unwind DH_METHOD and DSA_METHOD. 2015-11-03 22:54:36 +00:00
dtls1.h
ec_key.h Fix o2i_ECPublicKey documentation. 2015-07-20 20:39:43 +00:00
ec.h Change the type of |EC_GROUP_get_degree| and friends to |unsigned|. 2015-10-27 16:48:04 +00:00
ecdh.h Clean up |ECDH_compute_key|. 2015-10-27 17:00:25 +00:00
ecdsa.h Fix several minor points noticed by Kenny. 2015-09-24 22:08:50 +00:00
engine.h Unwind DH_METHOD and DSA_METHOD. 2015-11-03 22:54:36 +00:00
err.h Don't bother sampling __func__. 2015-11-03 22:50:59 +00:00
evp.h Revert "pound-define EVP_R_BAD_DECRYPT CIPHER_R_BAD_DECRYPT." 2015-08-05 12:16:11 -07:00
ex_data.h Correct various documentation typos 2015-06-10 22:06:01 +00:00
hkdf.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
hmac.h Remove HMAC_CTX_set_flags. 2015-06-02 01:07:07 +00:00
lhash_macros.h
lhash.h Style: fix some header guards 2015-10-26 18:47:51 +00:00
md4.h Improve crypto/digest/md32_common.h mechanism. 2015-11-04 00:01:09 +00:00
md5.h Improve crypto/digest/md32_common.h mechanism. 2015-11-04 00:01:09 +00:00
mem.h Fix some typos in license headers. 2015-07-29 19:23:51 +00:00
obj_mac.h Remove fake RLE compression OID. 2015-05-27 21:49:39 +00:00
obj.h Style: fix some header guards 2015-10-26 18:47:51 +00:00
objects.h
opensslfeatures.h
opensslv.h
ossl_typ.h
pem.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
pkcs7.h
pkcs8.h Add |PKCS12_verify_mac|. 2015-09-29 20:30:35 +00:00
pkcs12.h
poly1305.h Fix several minor points noticed by Kenny. 2015-09-24 22:08:50 +00:00
pqueue.h
rand.h Buffer reads of urandom, if you promise no forking. 2015-09-09 01:02:54 +00:00
rc4.h
rsa.h Free BN_MONT_CTX in generic code. 2015-11-03 23:39:41 +00:00
safestack.h
sha.h Improve crypto/digest/md32_common.h mechanism. 2015-11-04 00:01:09 +00:00
srtp.h Fold srtp.h into ssl.h. 2015-09-14 23:59:37 +00:00
ssl3.h Add server-side support for asynchronous RSA decryption. 2015-10-26 20:26:20 +00:00
ssl.h Add ssl_renegotiate_ignore. 2015-11-03 21:58:13 +00:00
stack_macros.h Implement custom extensions. 2015-07-31 01:12:00 +00:00
stack.h Drop DEFINE_STACK_OF. 2015-08-05 21:30:08 +00:00
thread.h Readd CRYPTO_{LOCK|UNLOCK|READ|WRITE}. 2015-05-27 15:48:29 -07:00
time_support.h Style: fix some header guards 2015-10-26 18:47:51 +00:00
tls1.h Fix even more ChaCha20 rename deadlocks. 2015-10-28 21:09:46 +00:00
type_check.h
x509_vfy.h Ditch remaining filename comments from public headers and ssl/ 2015-10-20 18:40:05 +00:00
x509.h Ditch remaining filename comments from public headers and ssl/ 2015-10-20 18:40:05 +00:00
x509v3.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00