From 6e1e005221f06950b118b53f1f95706f391ed357 Mon Sep 17 00:00:00 2001 From: Max Lv Date: Tue, 27 Feb 2018 11:01:36 +0800 Subject: [PATCH] Fix #1908 --- src/crypto.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/crypto.c b/src/crypto.c index df608cea..1a654484 100644 --- a/src/crypto.c +++ b/src/crypto.c @@ -33,6 +33,7 @@ #include #include +#include #include #include "base64.h" @@ -102,7 +103,19 @@ crypto_md5(const unsigned char *d, size_t n, unsigned char *md) if (md == NULL) { md = m; } +#if MBEDTLS_VERSION_NUMBER >= 0x02070000 + mbedtls_md5_context md5; + mbedtls_md5_init(&md5); + if (mbedtls_md5_starts_ret(&md5) != 0) + FATAL("Failed to initialize MD5 context"); + if (mbedtls_md5_update_ret(&md5, d, n) != 0) + FATAL("Failed to update MD5 sum"); + if (mbedtls_md5_finish_ret(&md5, md) != 0) + FATAL("Failed to generate MD5 hash"); + mbedtls_md5_free(&md5); +#else mbedtls_md5(d, n, md); +#endif return md; }