From c5cfafd64bc52fd8e146aa25188bcbcd4202ffeb Mon Sep 17 00:00:00 2001 From: crueter Date: Sun, 22 Feb 2026 18:31:57 -0500 Subject: [PATCH] Switch ro to a simpler impl Signed-off-by: crueter --- externals/cpmfile.json | 3 +++ src/core/hle/service/ro/ro.cpp | 17 ++++------------- 2 files changed, 7 insertions(+), 13 deletions(-) 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++) {