mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-17 19:50:47 +08:00
b40de44891
This fixes a HIGH severity vulnerability: https://daniel.haxx.se/blog/2023/10/11/curl-8-4-0/ See also: https://daniel.haxx.se/blog/2023/10/11/how-i-made-a-heap-overflow-in-curl/ Resolves: https://github.com/microsoft/vcpkg/issues/34281
62 lines
2.0 KiB
Diff
62 lines
2.0 KiB
Diff
diff --git a/CMake/curl-config.cmake.in b/CMake/curl-config.cmake.in
|
|
index 056907c..c89c686 100644
|
|
--- a/CMake/curl-config.cmake.in
|
|
+++ b/CMake/curl-config.cmake.in
|
|
@@ -31,6 +31,16 @@ if(@USE_ZLIB@)
|
|
find_dependency(ZLIB @ZLIB_VERSION_MAJOR@)
|
|
endif()
|
|
|
|
+if("@USE_ARES@")
|
|
+ find_dependency(c-ares CONFIG)
|
|
+endif()
|
|
+if("@USE_LIBSSH2@")
|
|
+ find_dependency(Libssh2 CONFIG)
|
|
+endif()
|
|
+if("@HAVE_BROTLI@")
|
|
+ find_dependency(unofficial-brotli CONFIG)
|
|
+endif()
|
|
+
|
|
include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake")
|
|
check_required_components("@PROJECT_NAME@")
|
|
|
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 049ac34..cc0fe19 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -178,7 +178,8 @@ set(CURL_LIBS "")
|
|
|
|
if(ENABLE_ARES)
|
|
set(USE_ARES 1)
|
|
- find_package(CARES REQUIRED)
|
|
+ find_package(CARES NAMES c-ares CONFIG REQUIRED)
|
|
+ set(CARES_LIBRARY c-ares::cares)
|
|
list(APPEND CURL_LIBS ${CARES_LIBRARY})
|
|
endif()
|
|
|
|
@@ -590,7 +591,9 @@ endif()
|
|
option(CURL_BROTLI "Set to ON to enable building curl with brotli support." OFF)
|
|
set(HAVE_BROTLI OFF)
|
|
if(CURL_BROTLI)
|
|
- find_package(Brotli REQUIRED)
|
|
+ find_package(BROTLI NAMES unofficial-brotli REQUIRED)
|
|
+ set(BROTLI_INCLUDE_DIRS "")
|
|
+ set(BROTLI_LIBRARIES "unofficial::brotli::brotlidec")
|
|
if(BROTLI_FOUND)
|
|
set(HAVE_BROTLI ON)
|
|
set(CURL_LIBS "${BROTLI_LIBRARIES};${CURL_LIBS}") # For 'ld' linker. Emulate `list(PREPEND ...)` to stay compatible with <v3.15 CMake.
|
|
@@ -873,7 +876,13 @@ mark_as_advanced(CURL_USE_LIBSSH2)
|
|
set(USE_LIBSSH2 OFF)
|
|
|
|
if(CURL_USE_LIBSSH2)
|
|
- find_package(LibSSH2)
|
|
+ find_package(LIBSSH2 NAMES Libssh2 REQUIRED)
|
|
+ if(TARGET Libssh2::libssh2_shared)
|
|
+ set(LIBSSH2_LIBRARY Libssh2::libssh2_shared)
|
|
+ else()
|
|
+ set(LIBSSH2_LIBRARY Libssh2::libssh2_static)
|
|
+ endif()
|
|
+ get_target_property(LIBSSH2_INCLUDE_DIR "${LIBSSH2_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES)
|
|
if(LIBSSH2_FOUND)
|
|
list(APPEND CURL_LIBS ${LIBSSH2_LIBRARY})
|
|
list(APPEND CMAKE_REQUIRED_INCLUDES "${LIBSSH2_INCLUDE_DIR}")
|