diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5f071b0b5..ffb51bc17 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -84,7 +84,7 @@ jobs: - name: Prepare vcpkg uses: lukka/run-vcpkg@v11 with: - vcpkgGitCommitId: e4644bd15436d406bba71928d086c809e5c9ca45 + vcpkgGitCommitId: 42452c3443af90de4b650a958e359eb1fe62f1ae vcpkgJsonGlob: ./vcpkg.json runVcpkgInstall: true env: @@ -186,7 +186,7 @@ jobs: - name: Prepare vcpkg uses: lukka/run-vcpkg@v11 with: - vcpkgGitCommitId: e4644bd15436d406bba71928d086c809e5c9ca45 + vcpkgGitCommitId: 42452c3443af90de4b650a958e359eb1fe62f1ae vcpkgJsonGlob: ./vcpkg.json runVcpkgInstall: true runVcpkgFormatString: "[`install`, `--recurse`, `--clean-after-build`, `--x-install-root`, `$[env.VCPKG_INSTALLED_DIR]`, `--triplet`, `$[env.VCPKG_DEFAULT_TRIPLET]`, `--x-feature`, `tests`]" diff --git a/CMakePresets.json b/CMakePresets.json index 69504a8fe..b49ec6bfb 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -92,6 +92,11 @@ "CMAKE_DISABLE_FIND_PACKAGE_Python3": "YES", "BUILD_SHARED_LIBS": "NO", "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" + }, + "environment": { + "VCPKG_ROOT": "$env{HOME}/Projects/vcpkg", + "ANDROID_NDK_ROOT": "$env{HOME}/Library/Android/sdk/ndk/27.2.12479018", + "ANDROID_NDK_HOME": "$env{ANDROID_NDK_ROOT}" } }, { diff --git a/prepare_osx_build_environment.sh b/prepare_osx_build_environment.sh index a89d278f3..b2bf7ee58 100755 --- a/prepare_osx_build_environment.sh +++ b/prepare_osx_build_environment.sh @@ -1,8 +1,8 @@ #!/bin/sh set -e -OPENSSL_DIR=openssl-3.0.15 -XMLSEC_DIR=xmlsec1-1.3.6 +OPENSSL_DIR=openssl-3.0.16 +XMLSEC_DIR=xmlsec1-1.3.7 ARGS="$@" case "$@" in diff --git a/vcpkg-ports/openssl/portfile.cmake b/vcpkg-ports/openssl/portfile.cmake index a0ae89361..812fb9f19 100644 --- a/vcpkg-ports/openssl/portfile.cmake +++ b/vcpkg-ports/openssl/portfile.cmake @@ -11,7 +11,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO openssl/openssl REF "openssl-${VERSION}" - SHA512 d6f10f0f07dfa29d6d3f8a82d32c316a9c1ae3f54ecccfd11be0a5e01402779061c9389207968b3da4a67efd8d19b1695f6a1c45fde0d0f4e7b267a316ddb59c + SHA512 db5a6ac8b0bfe51076de1449f5b8502d5810c000cbc7a6f4e8e6866cfa756b1840b318038c3dee368cdd1763568984627daa48ec8f7dbccd65ea60f450b7d141 PATCHES disable-apps.patch command-line-length.patch diff --git a/vcpkg-ports/openssl/vcpkg.json b/vcpkg-ports/openssl/vcpkg.json index fe26de18b..04d34a374 100644 --- a/vcpkg-ports/openssl/vcpkg.json +++ b/vcpkg-ports/openssl/vcpkg.json @@ -1,6 +1,6 @@ { "name": "openssl", - "version": "3.0.15", + "version": "3.0.16", "description": "OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.", "homepage": "https://www.openssl.org", "license": "Apache-2.0", diff --git a/vcpkg-ports/xmlsec/CMakeLists.txt b/vcpkg-ports/xmlsec/CMakeLists.txt index bbd9ea9d2..1e9c01f16 100644 --- a/vcpkg-ports/xmlsec/CMakeLists.txt +++ b/vcpkg-ports/xmlsec/CMakeLists.txt @@ -84,18 +84,19 @@ add_compile_definitions(_REENTRANT) set_target_properties(xmlsec1 xmlsec1-openssl PROPERTIES VERSION ${XMLSEC_VERSION_MAJOR}.${XMLSEC_VERSION_MINOR}) -set(XMLSEC_CORE_CFLAGS "") +set(XMLSEC_CORE_CFLAGS XMLSEC_NO_XSLT XMLSEC_CRYPTO_OPENSSL) if(NOT BUILD_SHARED_LIBS) - set(XMLSEC_CORE_CFLAGS "-DLIBXML_STATIC -DXMLSEC_STATIC -DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING") - target_compile_definitions(xmlsec1 PUBLIC XMLSEC_STATIC XMLSEC_NO_CRYPTO_DYNAMIC_LOADING) + list(APPEND XMLSEC_CORE_CFLAGS XMLSEC_STATIC XMLSEC_NO_CRYPTO_DYNAMIC_LOADING) endif() -set(XMLSEC_OPENSSL_CFLAGS ${XMLSEC_CORE_CFLAGS}) +set(XMLSEC_OPENSSL_CFLAGS XMLSEC_NO_MD5 XMLSEC_NO_RIPEMD160 XMLSEC_NO_GOST XMLSEC_NO_GOST2012) target_compile_definitions(xmlsec1 PRIVATE $<$:XMLSEC_DL_WIN32> - PUBLIC XMLSEC_NO_XSLT XMLSEC_CRYPTO_OPENSSL + PUBLIC ${XMLSEC_CORE_CFLAGS} +) +target_compile_definitions(xmlsec1-openssl + PUBLIC ${XMLSEC_OPENSSL_CFLAGS} ) -target_compile_definitions(xmlsec1-openssl PUBLIC XMLSEC_NO_GOST XMLSEC_NO_GOST2012) install(TARGETS xmlsec1 xmlsec1-openssl EXPORT unofficial-xmlsec-targets @@ -153,11 +154,12 @@ set(libdir ${prefix}/${CMAKE_INSTALL_LIBDIR}) set(includedir ${prefix}/${CMAKE_INSTALL_INCLUDEDIR}) set(VERSION ${XMLSEC_VERSION}) set(LIBXML_MIN_VERSION ${LIBXML2_VERSION_STRING}) -set(OPENSSL_LIBS "-lcrypto") -set(XMLSEC_CORE_CFLAGS "${XMLSEC_CORE_CFLAGS} -DXMLSEC_DL_LIBLTDL=1 -I\${includedir}/xmlsec1 -DXMLSEC_CRYPTO_OPENSSL=1") +list(JOIN XMLSEC_CORE_CFLAGS " -D" XMLSEC_CORE_CFLAGS) +set(XMLSEC_CORE_CFLAGS "-D${XMLSEC_CORE_CFLAGS} -I\${includedir}/xmlsec1") set(XMLSEC_CORE_LIBS "-lxmlsec1 -lltdl") -set(XMLSEC_OPENSSL_CFLAGS "${XMLSEC_OPENSSL_CFLAGS} -I\${includedir}/xmlsec1") -set(XMLSEC_OPENSSL_LIBS "-L\${libdir} -lxmlsec1-openssl ${XMLSEC_CORE_LIBS} ${OPENSSL_LIBS}") +list(JOIN XMLSEC_OPENSSL_CFLAGS " -D" XMLSEC_OPENSSL_CFLAGS) +set(XMLSEC_OPENSSL_CFLAGS "${XMLSEC_CORE_CFLAGS} -D${XMLSEC_OPENSSL_CFLAGS}") +set(XMLSEC_OPENSSL_LIBS "-L\${libdir} -lxmlsec1-openssl ${XMLSEC_CORE_LIBS} -lcrypto") configure_file(${PROJECT_SOURCE_DIR}/xmlsec.pc.in ${PROJECT_BINARY_DIR}/xmlsec1.pc @ONLY) configure_file(${PROJECT_SOURCE_DIR}/xmlsec-openssl.pc.in ${PROJECT_BINARY_DIR}/xmlsec1-openssl.pc @ONLY) diff --git a/vcpkg-ports/xmlsec/portfile.cmake b/vcpkg-ports/xmlsec/portfile.cmake index 47b0d6577..e8c1b1a14 100644 --- a/vcpkg-ports/xmlsec/portfile.cmake +++ b/vcpkg-ports/xmlsec/portfile.cmake @@ -5,7 +5,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lsh123/xmlsec REF "${release_tag}" - SHA512 6e41c35042e5a74e135cfb7468aa5c09b3c9ba684ab2431ecedce950f7c99c92fc8765c1c8c2ddfd87718bd00f4a287028227da1e987f2ef17ce2594356e81af + SHA512 28130c10d79f652e3533e6ede5fdaab0f6db5a4bbaaca4713b62df9af2ae2d5314acf82d01f344f87faf95c12099fd77e0858cbe5232a96de1d531e6284ede1b HEAD_REF master PATCHES pkgconfig_fixes.patch diff --git a/vcpkg-ports/xmlsec/vcpkg.json b/vcpkg-ports/xmlsec/vcpkg.json index c504e7733..719aea949 100644 --- a/vcpkg-ports/xmlsec/vcpkg.json +++ b/vcpkg-ports/xmlsec/vcpkg.json @@ -1,6 +1,6 @@ { "name": "xmlsec", - "version": "1.3.6", + "version": "1.3.7", "description": "XML Security Library is a C library based on LibXML2. The library supports major XML security standards.", "homepage": "https://www.aleksey.com/xmlsec/", "license": "X11 AND MPL-1.1", diff --git a/vcpkg-ports/xmlsec/xmlsec1-1.3.5.legacy.patch b/vcpkg-ports/xmlsec/xmlsec1-1.3.5.legacy.patch index 7b13e583a..afcc0dee7 100644 --- a/vcpkg-ports/xmlsec/xmlsec1-1.3.5.legacy.patch +++ b/vcpkg-ports/xmlsec/xmlsec1-1.3.5.legacy.patch @@ -1,5 +1,5 @@ ---- xmlsec1-1.3.5.orig/src/openssl/signatures.c 2024-07-18 22:53:55 -+++ xmlsec1-1.3.5/src/openssl/signatures.c 2024-07-24 00:04:16 +--- xmlsec1-1.3.7.orig/src/openssl/signatures.c 2025-02-11 16:33:03 ++++ xmlsec1-1.3.7/src/openssl/signatures.c 2025-02-12 15:32:02 @@ -35,6 +35,7 @@ #ifdef XMLSEC_OPENSSL_API_300 #include @@ -8,7 +8,7 @@ #include "../cast_helpers.h" #include "openssl_compat.h" -@@ -920,15 +921,22 @@ +@@ -921,15 +922,22 @@ "ret=%d", ret); goto error; } @@ -33,15 +33,17 @@ if(ret <= 0) { xmlSecOpenSSLError2("EVP_PKEY_CTX_set_signature_md", xmlSecTransformGetName(transform), "ret=%d", ret); -@@ -981,11 +989,16 @@ +@@ -983,6 +991,9 @@ xmlSecByte dgst[EVP_MAX_MD_SIZE]; unsigned int dgstSize = sizeof(dgst); EVP_PKEY_CTX *pKeyCtx = NULL; -- unsigned char * fixedData = NULL; -+ unsigned char * fixedData = NULL, * recvData = NULL; ++ unsigned char * recvData = NULL; ++ size_t recvDataLen = 0; + const unsigned char * recvDataPtr; + #if !defined(XMLSEC_NO_DSA) || !defined(XMLSEC_NO_EC) + unsigned char * fixedData = NULL; int fixedDataLen = 0; -+ size_t recvDataLen = 0; +@@ -990,6 +1001,9 @@ unsigned int dataLen; int ret; int res = -1; @@ -51,7 +53,7 @@ xmlSecAssert2(xmlSecOpenSSLEvpSignatureCheckId(transform), -1); xmlSecAssert2(transform->operation == xmlSecTransformOperationVerify, -1); -@@ -1017,8 +1030,51 @@ +@@ -1021,8 +1035,51 @@ switch(ctx->mode) { case xmlSecOpenSSLEvpSignatureMode_RsaPadding: @@ -104,16 +106,18 @@ XMLSEC_SAFE_CAST_SIZE_TO_UINT(dataSize, dataLen, goto done, xmlSecTransformGetName(transform)); ret = EVP_PKEY_verify(pKeyCtx, (xmlSecByte*)data, dataLen, dgst, dgstSize); break; -@@ -1073,9 +1129,15 @@ +@@ -1077,11 +1134,17 @@ res = 0; done: + if(sig != NULL) { + X509_SIG_free(sig); + } + #if !defined(XMLSEC_NO_DSA) || !defined(XMLSEC_NO_EC) if(fixedData != NULL) { OPENSSL_free(fixedData); } + #endif + if(recvData != NULL) { + OPENSSL_free(recvData); + } diff --git a/vcpkg.json b/vcpkg.json index 4afb815ee..340575e8f 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -1,6 +1,5 @@ { "name": "libdigidocpp", - "version": "4.2.0", "dependencies": [ { "name": "libxml2", @@ -12,7 +11,7 @@ "features": { "tests": { "description": "Build tests", "dependencies": ["boost-test"] } }, - "builtin-baseline": "e4644bd15436d406bba71928d086c809e5c9ca45", + "builtin-baseline": "42452c3443af90de4b650a958e359eb1fe62f1ae", "vcpkg-configuration": { "overlay-triplets": ["./vcpkg-triplets"], "overlay-ports": [