Skip to content

Commit 696508e

Browse files
committed
Update cURL to v8.15.0 to fix its security issue (CVE-2025-5399)
Fix notepad-plus-plus/notepad-plus-plus#16921
1 parent bc1a70e commit 696508e

File tree

1,732 files changed

+66437
-69193
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,732 files changed

+66437
-69193
lines changed

curl/CMake/CurlSymbolHiding.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,17 @@ if(CURL_HIDDEN_SYMBOLS)
4343
set(CURL_EXTERN_SYMBOL "__attribute__((__visibility__(\"default\")))")
4444
set(CURL_CFLAG_SYMBOLS_HIDE "-fvisibility=hidden")
4545
elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU")
46-
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
46+
if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 3.4)
4747
# Note: This is considered buggy prior to 4.0 but the autotools do not care, so let us ignore that fact
4848
set(CURL_HIDES_PRIVATE_SYMBOLS TRUE)
4949
set(CURL_EXTERN_SYMBOL "__attribute__((__visibility__(\"default\")))")
5050
set(CURL_CFLAG_SYMBOLS_HIDE "-fvisibility=hidden")
5151
endif()
52-
elseif(CMAKE_C_COMPILER_ID MATCHES "SunPro" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 8.0)
52+
elseif(CMAKE_C_COMPILER_ID MATCHES "SunPro" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0)
5353
set(CURL_HIDES_PRIVATE_SYMBOLS TRUE)
5454
set(CURL_EXTERN_SYMBOL "__global")
5555
set(CURL_CFLAG_SYMBOLS_HIDE "-xldscope=hidden")
56-
elseif(CMAKE_C_COMPILER_ID MATCHES "Intel" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 9.0) # Requires 9.1.045
56+
elseif(CMAKE_C_COMPILER_ID MATCHES "Intel" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0) # Requires 9.1.045
5757
set(CURL_HIDES_PRIVATE_SYMBOLS TRUE)
5858
set(CURL_EXTERN_SYMBOL "__attribute__((__visibility__(\"default\")))")
5959
set(CURL_CFLAG_SYMBOLS_HIDE "-fvisibility=hidden")

curl/CMake/CurlTests.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ int main(void)
203203
#ifdef HAVE_UNISTD_H
204204
# include <unistd.h>
205205
#endif
206-
#ifdef HAVE_SYS_SOCKET_H
206+
#ifndef _WIN32
207207
# include <sys/socket.h>
208208
#endif
209209
#ifdef HAVE_SYS_IOCTL_H
@@ -230,7 +230,7 @@ int main(void)
230230
#ifdef HAVE_UNISTD_H
231231
# include <unistd.h>
232232
#endif
233-
#ifdef HAVE_SYS_SOCKET_H
233+
#ifndef _WIN32
234234
# include <sys/socket.h>
235235
#endif
236236
#ifdef HAVE_SYS_IOCTL_H
@@ -257,7 +257,7 @@ int main(void)
257257
#ifdef HAVE_SYS_TYPES_H
258258
# include <sys/types.h>
259259
#endif
260-
#ifdef HAVE_SYS_SOCKET_H
260+
#ifndef _WIN32
261261
# include <sys/socket.h>
262262
#endif
263263
int main(void)

curl/CMake/FindBrotli.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ endif()
5151

5252
if(BROTLI_FOUND)
5353
set(Brotli_FOUND TRUE)
54+
set(BROTLI_VERSION "${BROTLI_libbrotlicommon_VERSION}")
5455
string(REPLACE ";" " " BROTLI_CFLAGS "${BROTLI_CFLAGS}")
5556
message(STATUS "Found Brotli (via pkg-config): ${BROTLI_INCLUDE_DIRS} (found version \"${BROTLI_VERSION}\")")
5657
else()

curl/CMake/FindGSS.cmake

Lines changed: 61 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -52,19 +52,23 @@ set(_gss_root_hints
5252
"$ENV{GSS_ROOT_DIR}"
5353
)
5454

55+
set(_gss_CFLAGS "")
56+
set(_gss_LIBRARY_DIRS "")
57+
5558
# Try to find library using system pkg-config if user did not specify root dir
5659
if(NOT GSS_ROOT_DIR AND NOT "$ENV{GSS_ROOT_DIR}")
5760
if(CURL_USE_PKGCONFIG)
5861
find_package(PkgConfig QUIET)
59-
pkg_search_module(_GSS ${_gnu_modname} ${_mit_modname} ${_heimdal_modname})
60-
list(APPEND _gss_root_hints "${_GSS_PREFIX}")
62+
pkg_search_module(_gss ${_gnu_modname} ${_mit_modname} ${_heimdal_modname})
63+
list(APPEND _gss_root_hints "${_gss_PREFIX}")
64+
set(_gss_version "${_gss_VERSION}")
6165
endif()
6266
if(WIN32)
6367
list(APPEND _gss_root_hints "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MIT\\Kerberos;InstallDir]")
6468
endif()
6569
endif()
6670

67-
if(NOT _GSS_FOUND) # Not found by pkg-config. Let us take more traditional approach.
71+
if(NOT _gss_FOUND) # Not found by pkg-config. Let us take more traditional approach.
6872
find_file(_gss_configure_script
6973
NAMES
7074
"krb5-config"
@@ -85,25 +89,29 @@ if(NOT _GSS_FOUND) # Not found by pkg-config. Let us take more traditional appr
8589
)
8690

8791
if(_gss_configure_script)
92+
93+
set(_gss_INCLUDE_DIRS "")
94+
set(_gss_LIBRARIES "")
95+
8896
execute_process(
8997
COMMAND ${_gss_configure_script} "--cflags" "gssapi"
90-
OUTPUT_VARIABLE _GSS_CFLAGS
98+
OUTPUT_VARIABLE _gss_cflags_raw
9199
RESULT_VARIABLE _gss_configure_failed
92100
OUTPUT_STRIP_TRAILING_WHITESPACE
93101
)
94-
message(STATUS "FindGSS krb5-config --cflags: ${_GSS_CFLAGS}")
102+
message(STATUS "FindGSS krb5-config --cflags: ${_gss_cflags_raw}")
95103
if(NOT _gss_configure_failed) # 0 means success
96-
# Should also work in an odd case when multiple directories are given
97-
string(STRIP "${_GSS_CFLAGS}" _GSS_CFLAGS)
98-
string(REGEX REPLACE " +-I" ";" _GSS_CFLAGS "${_GSS_CFLAGS}")
99-
string(REGEX REPLACE " +-([^I][^ \\t;]*)" ";-\\1" _GSS_CFLAGS "${_GSS_CFLAGS}")
104+
# Should also work in an odd case when multiple directories are given.
105+
string(STRIP "${_gss_cflags_raw}" _gss_cflags_raw)
106+
string(REGEX REPLACE " +-(I)" ";-\\1" _gss_cflags_raw "${_gss_cflags_raw}")
107+
string(REGEX REPLACE " +-([^I][^ \\t;]*)" ";-\\1" _gss_cflags_raw "${_gss_cflags_raw}")
100108

101-
foreach(_flag IN LISTS _GSS_CFLAGS)
109+
foreach(_flag IN LISTS _gss_cflags_raw)
102110
if(_flag MATCHES "^-I")
103-
string(REGEX REPLACE "^-I" "" _val "${_flag}")
104-
list(APPEND _GSS_INCLUDE_DIRS "${_val}")
111+
string(REGEX REPLACE "^-I" "" _flag "${_flag}")
112+
list(APPEND _gss_INCLUDE_DIRS "${_flag}")
105113
else()
106-
list(APPEND _GSS_CFLAGS "${_flag}")
114+
list(APPEND _gss_CFLAGS "${_flag}")
107115
endif()
108116
endforeach()
109117
endif()
@@ -117,32 +125,32 @@ if(NOT _GSS_FOUND) # Not found by pkg-config. Let us take more traditional appr
117125
message(STATUS "FindGSS krb5-config --libs: ${_gss_lib_flags}")
118126

119127
if(NOT _gss_configure_failed) # 0 means success
120-
# This script gives us libraries and link directories. Blah. We have to deal with it.
128+
# This script gives us libraries and link directories.
121129
string(STRIP "${_gss_lib_flags}" _gss_lib_flags)
122130
string(REGEX REPLACE " +-(L|l)" ";-\\1" _gss_lib_flags "${_gss_lib_flags}")
123131
string(REGEX REPLACE " +-([^Ll][^ \\t;]*)" ";-\\1" _gss_lib_flags "${_gss_lib_flags}")
124132

125133
foreach(_flag IN LISTS _gss_lib_flags)
126134
if(_flag MATCHES "^-l")
127-
string(REGEX REPLACE "^-l" "" _val "${_flag}")
128-
list(APPEND _GSS_LIBRARIES "${_val}")
135+
string(REGEX REPLACE "^-l" "" _flag "${_flag}")
136+
list(APPEND _gss_LIBRARIES "${_flag}")
129137
elseif(_flag MATCHES "^-L")
130-
string(REGEX REPLACE "^-L" "" _val "${_flag}")
131-
list(APPEND _GSS_LIBRARY_DIRS "${_val}")
138+
string(REGEX REPLACE "^-L" "" _flag "${_flag}")
139+
list(APPEND _gss_LIBRARY_DIRS "${_flag}")
132140
endif()
133141
endforeach()
134142
endif()
135143

136144
execute_process(
137145
COMMAND ${_gss_configure_script} "--version"
138-
OUTPUT_VARIABLE _GSS_VERSION
146+
OUTPUT_VARIABLE _gss_version
139147
RESULT_VARIABLE _gss_configure_failed
140148
OUTPUT_STRIP_TRAILING_WHITESPACE
141149
)
142150

143151
# Older versions may not have the "--version" parameter. In this case we just do not care.
144152
if(_gss_configure_failed)
145-
set(_GSS_VERSION 0)
153+
set(_gss_version 0)
146154
endif()
147155

148156
execute_process(
@@ -165,17 +173,17 @@ if(NOT _GSS_FOUND) # Not found by pkg-config. Let us take more traditional appr
165173

166174
else() # Either there is no config script or we are on a platform that does not provide one (Windows?)
167175

168-
find_path(_GSS_INCLUDE_DIRS NAMES "gssapi/gssapi.h"
176+
find_path(_gss_INCLUDE_DIRS NAMES "gssapi/gssapi.h"
169177
HINTS
170178
${_gss_root_hints}
171179
PATH_SUFFIXES
172180
"include"
173181
"inc"
174182
)
175183

176-
if(_GSS_INCLUDE_DIRS) # jay, we have found something
184+
if(_gss_INCLUDE_DIRS) # jay, we have found something
177185
cmake_push_check_state()
178-
list(APPEND CMAKE_REQUIRED_INCLUDES "${_GSS_INCLUDE_DIRS}")
186+
list(APPEND CMAKE_REQUIRED_INCLUDES "${_gss_INCLUDE_DIRS}")
179187
check_include_files("gssapi/gssapi_generic.h;gssapi/gssapi_krb5.h" _gss_have_mit_headers)
180188

181189
if(_gss_have_mit_headers)
@@ -193,25 +201,25 @@ if(NOT _GSS_FOUND) # Not found by pkg-config. Let us take more traditional appr
193201
cmake_pop_check_state()
194202
else()
195203
# I am not convinced if this is the right way but this is what autotools do at the moment
196-
find_path(_GSS_INCLUDE_DIRS NAMES "gssapi.h"
204+
find_path(_gss_INCLUDE_DIRS NAMES "gssapi.h"
197205
HINTS
198206
${_gss_root_hints}
199207
PATH_SUFFIXES
200208
"include"
201209
"inc"
202210
)
203211

204-
if(_GSS_INCLUDE_DIRS)
212+
if(_gss_INCLUDE_DIRS)
205213
set(GSS_FLAVOUR "Heimdal")
206214
else()
207-
find_path(_GSS_INCLUDE_DIRS NAMES "gss.h"
215+
find_path(_gss_INCLUDE_DIRS NAMES "gss.h"
208216
HINTS
209217
${_gss_root_hints}
210218
PATH_SUFFIXES
211219
"include"
212220
)
213221

214-
if(_GSS_INCLUDE_DIRS)
222+
if(_gss_INCLUDE_DIRS)
215223
set(GSS_FLAVOUR "GNU")
216224
set(GSS_PC_REQUIRES "gss")
217225
endif()
@@ -222,7 +230,7 @@ if(NOT _GSS_FOUND) # Not found by pkg-config. Let us take more traditional appr
222230
if(GSS_FLAVOUR)
223231
set(_gss_libdir_suffixes "")
224232
set(_gss_libdir_hints ${_gss_root_hints})
225-
get_filename_component(_gss_calculated_potential_root "${_GSS_INCLUDE_DIRS}" DIRECTORY)
233+
get_filename_component(_gss_calculated_potential_root "${_gss_INCLUDE_DIRS}" DIRECTORY)
226234
list(APPEND _gss_libdir_hints ${_gss_calculated_potential_root})
227235

228236
if(WIN32)
@@ -256,7 +264,7 @@ if(NOT _GSS_FOUND) # Not found by pkg-config. Let us take more traditional appr
256264
endif()
257265
endif()
258266

259-
find_library(_GSS_LIBRARIES NAMES ${_gss_libname}
267+
find_library(_gss_LIBRARIES NAMES ${_gss_libname}
260268
HINTS
261269
${_gss_libdir_hints}
262270
PATH_SUFFIXES
@@ -265,36 +273,36 @@ if(NOT _GSS_FOUND) # Not found by pkg-config. Let us take more traditional appr
265273
endif()
266274
endif()
267275
else()
268-
# _GSS_MODULE_NAME set since CMake 3.16
269-
if(_GSS_MODULE_NAME STREQUAL _gnu_modname OR _GSS_${_gnu_modname}_VERSION)
276+
# _gss_MODULE_NAME set since CMake 3.16
277+
if(_gss_MODULE_NAME STREQUAL _gnu_modname OR _gss_${_gnu_modname}_VERSION)
270278
set(GSS_FLAVOUR "GNU")
271279
set(GSS_PC_REQUIRES "gss")
272-
if(NOT _GSS_VERSION) # for old CMake versions?
273-
set(_GSS_VERSION ${_GSS_${_gnu_modname}_VERSION})
280+
if(NOT _gss_version) # for old CMake versions?
281+
set(_gss_version ${_gss_${_gnu_modname}_VERSION})
274282
endif()
275-
elseif(_GSS_MODULE_NAME STREQUAL _mit_modname OR _GSS_${_mit_modname}_VERSION)
283+
elseif(_gss_MODULE_NAME STREQUAL _mit_modname OR _gss_${_mit_modname}_VERSION)
276284
set(GSS_FLAVOUR "MIT")
277285
set(GSS_PC_REQUIRES "mit-krb5-gssapi")
278-
if(NOT _GSS_VERSION) # for old CMake versions?
279-
set(_GSS_VERSION ${_GSS_${_mit_modname}_VERSION})
286+
if(NOT _gss_version) # for old CMake versions?
287+
set(_gss_version ${_gss_${_mit_modname}_VERSION})
280288
endif()
281289
else()
282290
set(GSS_FLAVOUR "Heimdal")
283291
set(GSS_PC_REQUIRES "heimdal-gssapi")
284-
if(NOT _GSS_VERSION) # for old CMake versions?
285-
set(_GSS_VERSION ${_GSS_${_heimdal_modname}_VERSION})
292+
if(NOT _gss_version) # for old CMake versions?
293+
set(_gss_version ${_gss_${_heimdal_modname}_VERSION})
286294
endif()
287295
endif()
288-
message(STATUS "Found GSS/${GSS_FLAVOUR} (via pkg-config): ${_GSS_INCLUDE_DIRS} (found version \"${_GSS_VERSION}\")")
296+
message(STATUS "Found GSS/${GSS_FLAVOUR} (via pkg-config): ${_gss_INCLUDE_DIRS} (found version \"${_gss_version}\")")
289297
endif()
290298

291-
string(REPLACE ";" " " _GSS_CFLAGS "${_GSS_CFLAGS}")
299+
string(REPLACE ";" " " _gss_CFLAGS "${_gss_CFLAGS}")
292300

293-
set(GSS_INCLUDE_DIRS ${_GSS_INCLUDE_DIRS})
294-
set(GSS_LIBRARIES ${_GSS_LIBRARIES})
295-
set(GSS_LIBRARY_DIRS ${_GSS_LIBRARY_DIRS})
296-
set(GSS_CFLAGS ${_GSS_CFLAGS})
297-
set(GSS_VERSION ${_GSS_VERSION})
301+
set(GSS_INCLUDE_DIRS ${_gss_INCLUDE_DIRS})
302+
set(GSS_LIBRARIES ${_gss_LIBRARIES})
303+
set(GSS_LIBRARY_DIRS ${_gss_LIBRARY_DIRS})
304+
set(GSS_CFLAGS ${_gss_CFLAGS})
305+
set(GSS_VERSION ${_gss_version})
298306

299307
if(GSS_FLAVOUR)
300308
if(NOT GSS_VERSION AND GSS_FLAVOUR STREQUAL "Heimdal")
@@ -346,12 +354,12 @@ find_package_handle_standard_args(GSS
346354
)
347355

348356
mark_as_advanced(
349-
_GSS_CFLAGS
350-
_GSS_FOUND
351-
_GSS_INCLUDE_DIRS
352-
_GSS_LIBRARIES
353-
_GSS_LIBRARY_DIRS
354-
_GSS_MODULE_NAME
355-
_GSS_PREFIX
356-
_GSS_VERSION
357+
_gss_CFLAGS
358+
_gss_FOUND
359+
_gss_INCLUDE_DIRS
360+
_gss_LIBRARIES
361+
_gss_LIBRARY_DIRS
362+
_gss_MODULE_NAME
363+
_gss_PREFIX
364+
_gss_version
357365
)

curl/CMake/FindLDAP.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ if(CURL_USE_PKGCONFIG AND
5050
endif()
5151

5252
if(LDAP_FOUND)
53+
set(LDAP_VERSION "${LDAP_ldap_VERSION}")
5354
string(REPLACE ";" " " LDAP_CFLAGS "${LDAP_CFLAGS}")
5455
message(STATUS "Found LDAP (via pkg-config): ${LDAP_INCLUDE_DIRS} (found version \"${LDAP_VERSION}\")")
5556
else()

curl/CMake/FindLibgsasl.cmake

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,12 @@ else()
6666
endif()
6767

6868
include(FindPackageHandleStandardArgs)
69-
find_package_handle_standard_args(Libgsasl
70-
REQUIRED_VARS
71-
LIBGSASL_INCLUDE_DIR
72-
LIBGSASL_LIBRARY
73-
VERSION_VAR
74-
LIBGSASL_VERSION
69+
find_package_handle_standard_args(Libgsasl
70+
REQUIRED_VARS
71+
LIBGSASL_INCLUDE_DIR
72+
LIBGSASL_LIBRARY
73+
VERSION_VAR
74+
LIBGSASL_VERSION
7575
)
7676

7777
if(LIBGSASL_FOUND)

curl/CMake/FindMbedTLS.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ endif()
5959

6060
if(MBEDTLS_FOUND)
6161
set(MbedTLS_FOUND TRUE)
62+
set(MBEDTLS_VERSION "${MBEDTLS_mbedtls_VERSION}")
6263
string(REPLACE ";" " " MBEDTLS_CFLAGS "${MBEDTLS_CFLAGS}")
6364
message(STATUS "Found MbedTLS (via pkg-config): ${MBEDTLS_INCLUDE_DIRS} (found version \"${MBEDTLS_VERSION}\")")
6465
else()

0 commit comments

Comments
 (0)