Adapt cipher and MD layer with _init() and _free()
diff --git a/include/polarssl/md.h b/include/polarssl/md.h
index 8de233a..81d8a2e 100644
--- a/include/polarssl/md.h
+++ b/include/polarssl/md.h
@@ -173,9 +173,25 @@
const md_info_t *md_info_from_type( md_type_t md_type );
/**
+ * \brief Initialize a md_context (as NONE)
+ */
+void md_init( md_context_t *ctx );
+
+/**
+ * \brief Free and clear the message-specific context of ctx.
+ * Freeing ctx itself remains the responsibility of the
+ * caller.
+ */
+void md_free( md_context_t *ctx );
+
+/**
* \brief Initialises and fills the message digest context structure
* with the appropriate values.
*
+ * \note Currently also clears structure. In future versions you
+ * will be required to call md_init() on the structure
+ * first.
+ *
* \param ctx context to initialise. May not be NULL. The
* digest-specific context (ctx->md_ctx) must be NULL. It will
* be allocated, and must be freed using md_free_ctx() later.
@@ -191,10 +207,11 @@
* \brief Free the message-specific context of ctx. Freeing ctx itself
* remains the responsibility of the caller.
*
+ * \note Deprecated: Redirects to md_free()
+ *
* \param ctx Free the message-specific context
*
- * \returns 0 on success, POLARSSL_ERR_MD_BAD_INPUT_DATA if parameter
- * verification fails.
+ * \returns 0
*/
int md_free_ctx( md_context_t *ctx );