diff options
Diffstat (limited to '0003-archlinux-compat-Replace-mbedTLS-by-OpenSSL-for-CURL.patch')
-rw-r--r-- | 0003-archlinux-compat-Replace-mbedTLS-by-OpenSSL-for-CURL.patch | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/0003-archlinux-compat-Replace-mbedTLS-by-OpenSSL-for-CURL.patch b/0003-archlinux-compat-Replace-mbedTLS-by-OpenSSL-for-CURL.patch new file mode 100644 index 000000000000..65916e32f21f --- /dev/null +++ b/0003-archlinux-compat-Replace-mbedTLS-by-OpenSSL-for-CURL.patch @@ -0,0 +1,87 @@ +From 8d0a62e99852b81851f2eb92ce64f8a931fdd42e Mon Sep 17 00:00:00 2001 +From: KokaKiwi <kokakiwi+git@kokakiwi.net> +Date: Mon, 10 Jan 2022 15:48:20 +0100 +Subject: [PATCH 3/3] archlinux-compat: Replace mbedTLS by OpenSSL for CURL + +--- + plugins/libimhex/CMakeLists.txt | 6 ++++-- + plugins/libimhex/source/helpers/net.cpp | 20 ++++++++++++-------- + 2 files changed, 16 insertions(+), 10 deletions(-) + +diff --git a/plugins/libimhex/CMakeLists.txt b/plugins/libimhex/CMakeLists.txt +index d2c1bd4..56dd879 100644 +--- a/plugins/libimhex/CMakeLists.txt ++++ b/plugins/libimhex/CMakeLists.txt +@@ -82,6 +82,7 @@ endif() + + + find_package(mbedTLS 2.26.0 REQUIRED) ++find_package(OpenSSL REQUIRED) + configurePython() + + pkg_search_module(MAGIC libmagic>=5.39) +@@ -155,7 +156,7 @@ endif () + add_library(libimhex SHARED ${LIBIMHEX_SOURCES}) + set_target_properties(libimhex PROPERTIES POSITION_INDEPENDENT_CODE ON) + +-target_include_directories(libimhex PUBLIC include ${XDGPP_INCLUDE_DIRS} ${MBEDTLS_INCLUDE_DIRS} ${CAPSTONE_INCLUDE_DIRS} ${MAGIC_INCLUDE_DIRS} ${Python_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS} ${FMT_INCLUDE_DIRS} ${CURL_INCLUDE_DIRS} ${YARA_INCLUDE_DIRS}) ++target_include_directories(libimhex PUBLIC include ${XDGPP_INCLUDE_DIRS} ${MBEDTLS_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIRS} ${CAPSTONE_INCLUDE_DIRS} ${MAGIC_INCLUDE_DIRS} ${Python_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS} ${FMT_INCLUDE_DIRS} ${CURL_INCLUDE_DIRS} ${YARA_INCLUDE_DIRS}) + target_link_directories(libimhex PUBLIC ${MBEDTLS_LIBRARY_DIR} ${CAPSTONE_LIBRARY_DIRS} ${MAGIC_LIBRARY_DIRS}) + + if (APPLE) +@@ -163,4 +164,5 @@ if (APPLE) + target_link_libraries(libimhex PUBLIC ${FOUNDATION}) + endif () + +-target_link_libraries(libimhex PUBLIC imgui nfd magic ${CAPSTONE_LIBRARIES} LLVMDemangle microtar ${NLOHMANN_JSON_LIBRARIES} ${YARA_LIBRARIES} ${LIBCURL_LIBRARIES} ${MBEDTLS_LIBRARIES} ${FMT_LIBRARIES} ${Python_LIBRARIES} libromfs) ++target_link_libraries(libimhex PUBLIC imgui nfd magic ${CAPSTONE_LIBRARIES} LLVMDemangle microtar ++ ${NLOHMANN_JSON_LIBRARIES} ${YARA_LIBRARIES} ${LIBCURL_LIBRARIES} ${MBEDTLS_LIBRARIES} ${OPENSSL_LIBRARIES} ${FMT_LIBRARIES} ${Python_LIBRARIES} libromfs) +diff --git a/plugins/libimhex/source/helpers/net.cpp b/plugins/libimhex/source/helpers/net.cpp +index 7b304a4..2a39bec 100644 +--- a/plugins/libimhex/source/helpers/net.cpp ++++ b/plugins/libimhex/source/helpers/net.cpp +@@ -6,7 +6,7 @@ + #include <filesystem> + #include <cstdio> + +-#include <mbedtls/ssl.h> ++#include <openssl/ssl.h> + + #include <curl/curl.h> + #include <nlohmann/json.hpp> +@@ -50,15 +50,19 @@ namespace hex { + } + + static CURLcode sslCtxFunction(CURL *ctx, void *sslctx, void *userdata) { +- auto* cfg = static_cast<mbedtls_ssl_config*>(sslctx); +- +- static mbedtls_x509_crt crt; +- mbedtls_x509_crt_init(&crt); ++ SSL_CTX *opensslctx = static_cast<SSL_CTX*>(sslctx); + + auto cacert = romfs::get("cacert.pem"); +- mbedtls_x509_crt_parse(&crt, reinterpret_cast<const u8*>(cacert.data()), cacert.size()); ++ BIO *bio = BIO_new_mem_buf(reinterpret_cast<const u8*>(cacert.data()), cacert.size()); ++ ++ X509 *cert = nullptr; ++ PEM_read_bio_X509(bio, &cert, 0, nullptr); ++ ++ X509_STORE *store = SSL_CTX_get_cert_store(opensslctx); ++ X509_STORE_add_cert(store, cert); + +- mbedtls_ssl_conf_ca_chain(cfg, &crt, nullptr); ++ X509_free(cert); ++ BIO_free(bio); + + return CURLE_OK; + } +@@ -243,4 +247,4 @@ namespace hex { + return { }; + } + +-} +\ No newline at end of file ++} +-- +2.34.1 + |