Origin: upstream, 9b22fbfd520938b3aba684740095dbbeb449b733
From: Bastian Germann <bage@debian.org>
Date: Tue, 30 May 2023 23:40:51 +0200
Subject: testsuite: Replace MD5 with OpenSSL EVP implementation

Signed-off-by: Bastian Germann <bage@debian.org>
---
 utils/testsuite.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/utils/testsuite.c b/utils/testsuite.c
index 79e861d2..da333cfb 100644
--- a/utils/testsuite.c
+++ b/utils/testsuite.c
@@ -67,6 +67,8 @@
 #include <saslutil.h>
 #include <prop.h>
 
+#include <openssl/evp.h>
+
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
@@ -2708,7 +2710,7 @@ void create_ids(void)
 #ifdef DO_SASL_CHECKAPOP
     int i;
     const char challenge[] = "<1896.697170952@cyrus.andrew.cmu.edu>";
-    MD5_CTX ctx;
+    EVP_MD_CTX *ctx = EVP_MD_CTX_new();
     unsigned char digest[16];
     char digeststr[33];
 #endif
@@ -2760,10 +2762,10 @@ void create_ids(void)
 
     /* Test sasl_checkapop */
 #ifdef DO_SASL_CHECKAPOP
-    _sasl_MD5Init(&ctx);
-    _sasl_MD5Update(&ctx,(const unsigned char *)challenge,strlen(challenge));
-    _sasl_MD5Update(&ctx,(const unsigned char *)password,strlen(password));
-    _sasl_MD5Final(digest, &ctx);
+    EVP_DigestInit(ctx, EVP_md5());
+    EVP_DigestUpdate(ctx,(const unsigned char *)challenge,strlen(challenge));
+    EVP_DigestUpdate(ctx,(const unsigned char *)password,strlen(password));
+    EVP_DigestFinal(ctx, digest, NULL);
                             
     /* convert digest from binary to ASCII hex */
     for (i = 0; i < 16; i++)
