MD API deprecation: ChangeLog updates

Use the updated names for the new functions (xxx_ret instead of xxx_ext).

List the new deprecations in the appropriate sections.

Credit the independent report of the misuse of zeroizing to reset a
hash context in entropy.c.
diff --git a/ChangeLog b/ChangeLog
index 31b6f98..e60ca14 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -40,6 +40,11 @@
      (e.g., signing with a public key).
    * Direct manipulation of structure fields of RSA contexts is deprecated.
      Users are advised to use the extended RSA API instead.
+   * Deprecate usage of message digest functions that return void
+     (mbedtls_<MODULE>_starts, mbedtls_<MODULE>_update,
+     mbedtls_<MODULE>_finish and mbedtls_<MODULE>_process where <MODULE> is
+     any of MD2, MD4, MD5, SHA1, SHA256, SHA512) in favor of functions
+     that can return an error code.
 
 API Changes
    * Extend RSA interface by multiple functions allowing structure-
@@ -51,19 +56,14 @@
      purpose or CRT and/or blinding.
    * The configuration option MBEDTLS_RSA_ALT can be used to define alternative
      implementations of the RSA interface declared in rsa.h.
-   * The following functions in the MD2, MD4, MD5, SHA1, SHA256 and SHA512
-     modules have been deprecated and replaced as shown below. The new
-     functions change the return type from void to int to allow returning error
-     codes when using MBEDTLS_<MODULE>_ALT.
-     mbedtls_<MODULE>_starts() -> mbedtls_<MODULE>_starts_ext()
-     mbedtls_<MODULE>_update() -> mbedtls_<MODULE>_update_ext()
-     mbedtls_<MODULE>_finish() -> mbedtls_<MODULE>_finish_ext()
+   * The following functions in the message digest modules (MD2, MD4, MD5,
+     SHA1, SHA256, SHA512) have been deprecated and replaced as shown below.
+     The new functions change the return type from void to int to allow
+     returning error codes when using MBEDTLS_<MODULE>_ALT.
+     mbedtls_<MODULE>_starts() -> mbedtls_<MODULE>_starts_ret()
+     mbedtls_<MODULE>_update() -> mbedtls_<MODULE>_update_ret()
+     mbedtls_<MODULE>_finish() -> mbedtls_<MODULE>_finish_ret()
      mbedtls_<MODULE>_process() -> mbedtls_internal_<MODULE>_process()
-     The type of the function pointers in the mbedtls_md_info_t struct have
-     also been modified taking into account the functions return code. Every
-     usage of the deprecated functions was updated. Furthermore, the MD return
-     codes are checked for error after every usage, except in the ssl_tls.c
-     module.
 
 Bugfix
    * Fix ssl_parse_record_header() to silently discard invalid DTLS records
@@ -118,8 +118,9 @@
      mbedtls_sha512_starts() in the mbedtls_entropy_init() function.
    * Fix the entropy.c module to ensure that mbedtls_sha256_init() or
      mbedtls_sha512_init() is called before operating on the relevant context
-     structure. Also, ensure that message digest contexts are freed when
-     calling mbedtls_entropy_free().
+     structure. Do not assume that zeroizing a context is a correct way to
+     reset it. Found independently by ccli8 on Github.
+   * In mbedtls_entropy_free(), properly free the message digest context.
 
 Changes
    * Extend cert_write example program by options to set the CRT version
@@ -132,6 +133,10 @@
    * Only run AES-192 self-test if AES-192 is available. Fixes #963.
    * Tighten the RSA PKCS#1 v1.5 signature verification code and remove the
      undeclared dependency of the RSA module on the ASN.1 module.
+   * Update all internal usage of deprecated message digest functions to the
+     new ones with return codes. In particular, this modifies the
+     mbedtls_md_info_t structure. Propagate errors from these functions
+     everywhere except some locations in the ssl_tls.c module.
 
 = mbed TLS 2.6.0 branch released 2017-08-10