Commit 147fa097 authored by Manuel Pégourié-Gonnard's avatar Manuel Pégourié-Gonnard
Browse files

Reintroduce md_init_ctx compatibility wrapper

parent abb67446
...@@ -6,7 +6,8 @@ Features ...@@ -6,7 +6,8 @@ Features
* Support for DTLS 1.0 and 1.2 (RFC 6347). * Support for DTLS 1.0 and 1.2 (RFC 6347).
API Changes API Changes
* md_init_ctx() gained a new argument for optional hmac usage * md_init_ctx() is deprecated in favour of md_setup(), that adds a third
argument (allowing memory savings if HMAC is not used)
* Removed individual mdX_hmac and shaX_hmac functions (use generic * Removed individual mdX_hmac and shaX_hmac functions (use generic
md_hmac functions from md.h) md_hmac functions from md.h)
* Change md_info_t into an opaque structure (use md_get_xxx() accessors). * Change md_info_t into an opaque structure (use md_get_xxx() accessors).
......
...@@ -125,6 +125,31 @@ void md_init( md_context_t *ctx ); ...@@ -125,6 +125,31 @@ void md_init( md_context_t *ctx );
*/ */
void md_free( md_context_t *ctx ); void md_free( md_context_t *ctx );
#if ! defined(POLARSSL_DEPRECATED_REMOVED)
#if defined(POLARSSL_DEPRECATED_WARNING)
#define DEPRECATED __attribute__((deprecated))
#else
#define DEPRECATED
#endif
/**
* \brief Initialises and fills the message digest context structure
* with the appropriate values.
*
* \deprecated Superseded by md_setup() in 2.0.0
*
* \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() later.
* \param md_info message digest to use.
*
* \returns \c 0 on success, \c POLARSSL_ERR_MD_BAD_INPUT_DATA on
* parameter failure, \c POLARSSL_ERR_MD_ALLOC_FAILED if
* allocation of the digest-specific context failed.
*/
int md_init_ctx( md_context_t *ctx, const md_info_t *md_info ) DEPRECATED;
#undef DEPRECATED
#endif /* POLARSSL_DEPRECATED_REMOVED */
/** /**
* \brief Initialises and fills the message digest context structure * \brief Initialises and fills the message digest context structure
* with the appropriate values. * with the appropriate values.
......
...@@ -199,7 +199,14 @@ void md_free( md_context_t *ctx ) ...@@ -199,7 +199,14 @@ void md_free( md_context_t *ctx )
polarssl_zeroize( ctx, sizeof( md_context_t ) ); polarssl_zeroize( ctx, sizeof( md_context_t ) );
} }
int md_setup( md_context_t *ctx, const md_info_t *md_info, int hmac ) #if ! defined(POLARSSL_DEPRECATED_REMOVED)
int md_init_ctx( md_context_t *ctx, const md_info_t *md_info )
{
return md_setup( ctx, md_info, 1 );
}
#endif
int md_setup( md_context_t *ctx, const md_info_t *md_info, int hmac )
{ {
if( md_info == NULL || ctx == NULL ) if( md_info == NULL || ctx == NULL )
return( POLARSSL_ERR_MD_BAD_INPUT_DATA ); return( POLARSSL_ERR_MD_BAD_INPUT_DATA );
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment