diff --git a/externals/cpmfile.json b/externals/cpmfile.json index 8344634ccb..9644647638 100644 --- a/externals/cpmfile.json +++ b/externals/cpmfile.json @@ -33,6 +33,9 @@ "find_args": "MODULE GLOBAL", "patches": [ "0001-mingw.patch" + ], + "options": [ + "HTTPLIB_REQUIRE_OPENSSL ON" ] }, "cpp-jwt": { diff --git a/src/core/hle/service/ro/ro.cpp b/src/core/hle/service/ro/ro.cpp index bfa2412e40..2058cec0d2 100644 --- a/src/core/hle/service/ro/ro.cpp +++ b/src/core/hle/service/ro/ro.cpp @@ -6,18 +6,16 @@ #include #include -#include -#include "common/scope_exit.h" #include "core/hle/kernel/k_process.h" -#include "core/hle/service/cmif_serialization.h" -#include "core/hle/service/ipc_helpers.h" +#include "core/hle/service/cmif_types.h" #include "core/hle/service/ro/ro.h" #include "core/hle/service/ro/ro_nro_utils.h" #include "core/hle/service/ro/ro_results.h" #include "core/hle/service/ro/ro_types.h" #include "core/hle/service/server_manager.h" +#include "core/hle/service/service.h" namespace Service::RO { @@ -183,15 +181,8 @@ struct ProcessContext { std::vector nro_data(size); m_process->GetMemory().ReadBlock(base_address, nro_data.data(), size); - EVP_MD_CTX *ctx = EVP_MD_CTX_new(); - ASSERT(ctx); - - EVP_DigestInit(ctx, EVP_sha256()); - EVP_DigestUpdate(ctx, nro_data.data(), nro_data.size()); - u32 length = 0; - EVP_DigestFinal_ex(ctx, hash.data(), &length); - - EVP_MD_CTX_free(ctx); + u32 hash_len = 0; + EVP_Digest(nro_data.data(), nro_data.size(), hash.data(), &hash_len, EVP_sha256(), nullptr); } for (size_t i = 0; i < MaxNrrInfos; i++) {