From 8ff62c1d40f88c56e99d66cb94fa588301be5e99 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sat, 8 Jul 2023 14:55:22 +0200 Subject: [PATCH] Core/Addons: moved away from deprecated OpenSSL methods --- src/server/game/Addons/AddonMgr.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/server/game/Addons/AddonMgr.cpp b/src/server/game/Addons/AddonMgr.cpp index 0597d1a874..9e8b894aec 100644 --- a/src/server/game/Addons/AddonMgr.cpp +++ b/src/server/game/Addons/AddonMgr.cpp @@ -21,6 +21,7 @@ #include "Log.h" #include "Timer.h" #include +#include namespace AddonMgr { @@ -37,6 +38,22 @@ namespace BannedAddonList m_bannedAddons; } +void MakeMD5(uint8 const* buf, uint32 length, uint8* md) +{ + EVP_MD_CTX* mdctx; + + // MD5_Init + mdctx = EVP_MD_CTX_new(); + EVP_DigestInit_ex(mdctx, EVP_md5(), nullptr); + + // MD5_Update + EVP_DigestUpdate(mdctx, buf, length); + + // MD5_Final + EVP_DigestFinal_ex(mdctx, md, &length); + EVP_MD_CTX_free(mdctx); +} + void LoadFromDB() { uint32 oldMSTime = getMSTime(); @@ -82,8 +99,8 @@ void LoadFromDB() std::string name = fields[1].GetString(); std::string version = fields[2].GetString(); - MD5(reinterpret_cast(name.c_str()), name.length(), addon.NameMD5); - MD5(reinterpret_cast(version.c_str()), version.length(), addon.VersionMD5); + MakeMD5(reinterpret_cast(name.c_str()), name.length(), addon.NameMD5); + MakeMD5(reinterpret_cast(version.c_str()), version.length(), addon.VersionMD5); m_bannedAddons.push_back(addon);