Skip to content

Commit 66ebffd

Browse files
committed
Update cURL to 8.8.0
1 parent 3f736e0 commit 66ebffd

File tree

212 files changed

+27328
-19991
lines changed

Some content is hidden

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

212 files changed

+27328
-19991
lines changed

vendor/curl/CHANGES

Lines changed: 6912 additions & 6577 deletions
Large diffs are not rendered by default.

vendor/curl/COPYING

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
COPYRIGHT AND PERMISSION NOTICE
22

3-
Copyright (c) 1996 - 2023, Daniel Stenberg, <daniel@haxx.se>, and many
3+
Copyright (c) 1996 - 2024, Daniel Stenberg, <daniel@haxx.se>, and many
44
contributors, see the THANKS file.
55

66
All rights reserved.

vendor/curl/RELEASE-NOTES

Lines changed: 481 additions & 394 deletions
Large diffs are not rendered by default.

vendor/curl/include/curl/curl.h

Lines changed: 50 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,8 @@ typedef enum {
631631
CURLE_PROXY, /* 97 - proxy handshake error */
632632
CURLE_SSL_CLIENTCERT, /* 98 - client-side certificate required */
633633
CURLE_UNRECOVERABLE_POLL, /* 99 - poll/select returned fatal error */
634+
CURLE_TOO_LARGE, /* 100 - a value/data met its maximum */
635+
CURLE_ECH_REQUIRED, /* 101 - ECH tried but failed */
634636
CURL_LAST /* never use! */
635637
} CURLcode;
636638

@@ -810,7 +812,10 @@ typedef enum {
810812
#define CURLAUTH_GSSAPI CURLAUTH_NEGOTIATE
811813
#define CURLAUTH_NTLM (((unsigned long)1)<<3)
812814
#define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4)
815+
#ifndef CURL_NO_OLDIES
816+
/* functionality removed since 8.8.0 */
813817
#define CURLAUTH_NTLM_WB (((unsigned long)1)<<5)
818+
#endif
814819
#define CURLAUTH_BEARER (((unsigned long)1)<<6)
815820
#define CURLAUTH_AWS_SIGV4 (((unsigned long)1)<<7)
816821
#define CURLAUTH_ONLY (((unsigned long)1)<<31)
@@ -1845,7 +1850,8 @@ typedef enum {
18451850
/* allow GSSAPI credential delegation */
18461851
CURLOPT(CURLOPT_GSSAPI_DELEGATION, CURLOPTTYPE_VALUES, 210),
18471852

1848-
/* Set the name servers to use for DNS resolution */
1853+
/* Set the name servers to use for DNS resolution.
1854+
* Only supported by the c-ares DNS backend */
18491855
CURLOPT(CURLOPT_DNS_SERVERS, CURLOPTTYPE_STRINGPOINT, 211),
18501856

18511857
/* Time-out accept operations (currently for FTP only) after this amount
@@ -2201,6 +2207,12 @@ typedef enum {
22012207
/* set a specific client IP for HAProxy PROXY protocol header? */
22022208
CURLOPT(CURLOPT_HAPROXY_CLIENT_IP, CURLOPTTYPE_STRINGPOINT, 323),
22032209

2210+
/* millisecond version */
2211+
CURLOPT(CURLOPT_SERVER_RESPONSE_TIMEOUT_MS, CURLOPTTYPE_LONG, 324),
2212+
2213+
/* set ECH configuration */
2214+
CURLOPT(CURLOPT_ECH, CURLOPTTYPE_STRINGPOINT, 325),
2215+
22042216
CURLOPT_LASTENTRY /* the last unused */
22052217
} CURLoption;
22062218

@@ -2306,30 +2318,26 @@ enum CURL_NETRC_OPTION {
23062318
CURL_NETRC_LAST
23072319
};
23082320

2309-
enum {
2310-
CURL_SSLVERSION_DEFAULT,
2311-
CURL_SSLVERSION_TLSv1, /* TLS 1.x */
2312-
CURL_SSLVERSION_SSLv2,
2313-
CURL_SSLVERSION_SSLv3,
2314-
CURL_SSLVERSION_TLSv1_0,
2315-
CURL_SSLVERSION_TLSv1_1,
2316-
CURL_SSLVERSION_TLSv1_2,
2317-
CURL_SSLVERSION_TLSv1_3,
2318-
2319-
CURL_SSLVERSION_LAST /* never use, keep last */
2320-
};
2321+
#define CURL_SSLVERSION_DEFAULT 0
2322+
#define CURL_SSLVERSION_TLSv1 1 /* TLS 1.x */
2323+
#define CURL_SSLVERSION_SSLv2 2
2324+
#define CURL_SSLVERSION_SSLv3 3
2325+
#define CURL_SSLVERSION_TLSv1_0 4
2326+
#define CURL_SSLVERSION_TLSv1_1 5
2327+
#define CURL_SSLVERSION_TLSv1_2 6
2328+
#define CURL_SSLVERSION_TLSv1_3 7
23212329

2322-
enum {
2323-
CURL_SSLVERSION_MAX_NONE = 0,
2324-
CURL_SSLVERSION_MAX_DEFAULT = (CURL_SSLVERSION_TLSv1 << 16),
2325-
CURL_SSLVERSION_MAX_TLSv1_0 = (CURL_SSLVERSION_TLSv1_0 << 16),
2326-
CURL_SSLVERSION_MAX_TLSv1_1 = (CURL_SSLVERSION_TLSv1_1 << 16),
2327-
CURL_SSLVERSION_MAX_TLSv1_2 = (CURL_SSLVERSION_TLSv1_2 << 16),
2328-
CURL_SSLVERSION_MAX_TLSv1_3 = (CURL_SSLVERSION_TLSv1_3 << 16),
2330+
#define CURL_SSLVERSION_LAST 8 /* never use, keep last */
2331+
2332+
#define CURL_SSLVERSION_MAX_NONE 0
2333+
#define CURL_SSLVERSION_MAX_DEFAULT (CURL_SSLVERSION_TLSv1 << 16)
2334+
#define CURL_SSLVERSION_MAX_TLSv1_0 (CURL_SSLVERSION_TLSv1_0 << 16)
2335+
#define CURL_SSLVERSION_MAX_TLSv1_1 (CURL_SSLVERSION_TLSv1_1 << 16)
2336+
#define CURL_SSLVERSION_MAX_TLSv1_2 (CURL_SSLVERSION_TLSv1_2 << 16)
2337+
#define CURL_SSLVERSION_MAX_TLSv1_3 (CURL_SSLVERSION_TLSv1_3 << 16)
23292338

23302339
/* never use, keep last */
2331-
CURL_SSLVERSION_MAX_LAST = (CURL_SSLVERSION_LAST << 16)
2332-
};
2340+
#define CURL_SSLVERSION_MAX_LAST (CURL_SSLVERSION_LAST << 16)
23332341

23342342
enum CURL_TLSAUTH {
23352343
CURL_TLSAUTH_NONE,
@@ -2932,7 +2940,9 @@ typedef enum {
29322940
CURLINFO_CAPATH = CURLINFO_STRING + 62,
29332941
CURLINFO_XFER_ID = CURLINFO_OFF_T + 63,
29342942
CURLINFO_CONN_ID = CURLINFO_OFF_T + 64,
2935-
CURLINFO_LASTONE = 64
2943+
CURLINFO_QUEUE_TIME_T = CURLINFO_OFF_T + 65,
2944+
CURLINFO_USED_PROXY = CURLINFO_LONG + 66,
2945+
CURLINFO_LASTONE = 66
29362946
} CURLINFO;
29372947

29382948
/* CURLINFO_RESPONSE_CODE is the new name for the option previously known as
@@ -3028,17 +3038,18 @@ CURL_EXTERN CURLSHcode curl_share_cleanup(CURLSH *share);
30283038
*/
30293039

30303040
typedef enum {
3031-
CURLVERSION_FIRST,
3032-
CURLVERSION_SECOND,
3033-
CURLVERSION_THIRD,
3034-
CURLVERSION_FOURTH,
3035-
CURLVERSION_FIFTH,
3036-
CURLVERSION_SIXTH,
3037-
CURLVERSION_SEVENTH,
3038-
CURLVERSION_EIGHTH,
3039-
CURLVERSION_NINTH,
3040-
CURLVERSION_TENTH,
3041-
CURLVERSION_ELEVENTH,
3041+
CURLVERSION_FIRST, /* 7.10 */
3042+
CURLVERSION_SECOND, /* 7.11.1 */
3043+
CURLVERSION_THIRD, /* 7.12.0 */
3044+
CURLVERSION_FOURTH, /* 7.16.1 */
3045+
CURLVERSION_FIFTH, /* 7.57.0 */
3046+
CURLVERSION_SIXTH, /* 7.66.0 */
3047+
CURLVERSION_SEVENTH, /* 7.70.0 */
3048+
CURLVERSION_EIGHTH, /* 7.72.0 */
3049+
CURLVERSION_NINTH, /* 7.75.0 */
3050+
CURLVERSION_TENTH, /* 7.77.0 */
3051+
CURLVERSION_ELEVENTH, /* 7.87.0 */
3052+
CURLVERSION_TWELFTH, /* 8.8.0 */
30423053
CURLVERSION_LAST /* never actually use this */
30433054
} CURLversion;
30443055

@@ -3047,7 +3058,7 @@ typedef enum {
30473058
meant to be a built-in version number for what kind of struct the caller
30483059
expects. If the struct ever changes, we redefine the NOW to another enum
30493060
from above. */
3050-
#define CURLVERSION_NOW CURLVERSION_ELEVENTH
3061+
#define CURLVERSION_NOW CURLVERSION_TWELFTH
30513062

30523063
struct curl_version_info_data {
30533064
CURLversion age; /* age of the returned struct */
@@ -3107,6 +3118,9 @@ struct curl_version_info_data {
31073118
/* These fields were added in CURLVERSION_ELEVENTH */
31083119
/* feature_names is terminated by an entry with a NULL feature name */
31093120
const char * const *feature_names;
3121+
3122+
/* These fields were added in CURLVERSION_TWELFTH */
3123+
const char *rtmp_version; /* human readable string. */
31103124
};
31113125
typedef struct curl_version_info_data curl_version_info_data;
31123126

@@ -3147,7 +3161,7 @@ typedef struct curl_version_info_data curl_version_info_data;
31473161
#define CURL_VERSION_GSASL (1<<29) /* libgsasl is supported */
31483162
#define CURL_VERSION_THREADSAFE (1<<30) /* libcurl API is thread-safe */
31493163

3150-
/*
3164+
/*
31513165
* NAME curl_version_info()
31523166
*
31533167
* DESCRIPTION

vendor/curl/include/curl/curlver.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@
3232

3333
/* This is the version number of the libcurl package from which this header
3434
file origins: */
35-
#define LIBCURL_VERSION "8.5.0"
35+
#define LIBCURL_VERSION "8.8.0"
3636

3737
/* The numeric version number is also available "in parts" by using these
3838
defines: */
3939
#define LIBCURL_VERSION_MAJOR 8
40-
#define LIBCURL_VERSION_MINOR 5
40+
#define LIBCURL_VERSION_MINOR 8
4141
#define LIBCURL_VERSION_PATCH 0
4242

4343
/* This is the numeric version of the libcurl version number, meant for easier
@@ -59,7 +59,7 @@
5959
CURL_VERSION_BITS() macro since curl's own configure script greps for it
6060
and needs it to contain the full number.
6161
*/
62-
#define LIBCURL_VERSION_NUM 0x080500
62+
#define LIBCURL_VERSION_NUM 0x080800
6363

6464
/*
6565
* This is the date and time when the full source package was created. The
@@ -70,7 +70,7 @@
7070
*
7171
* "2007-11-23"
7272
*/
73-
#define LIBCURL_TIMESTAMP "2023-12-06"
73+
#define LIBCURL_TIMESTAMP "2024-05-22"
7474

7575
#define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|(z))
7676
#define CURL_AT_LEAST_VERSION(x,y,z) \

vendor/curl/include/curl/mprintf.h

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,27 @@ extern "C" {
3434

3535
#if (defined(__GNUC__) || defined(__clang__)) && \
3636
defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
37-
!defined(__MINGW32__) && !defined(CURL_NO_FMT_CHECKS)
38-
#define CURL_TEMP_PRINTF(a,b) __attribute__ ((format(printf, a, b)))
37+
!defined(CURL_NO_FMT_CHECKS)
38+
#if defined(__MINGW32__) && !defined(__clang__)
39+
#define CURL_TEMP_PRINTF(fmt, arg) \
40+
__attribute__((format(gnu_printf, fmt, arg)))
3941
#else
40-
#define CURL_TEMP_PRINTF(a,b)
42+
#define CURL_TEMP_PRINTF(fmt, arg) \
43+
__attribute__((format(printf, fmt, arg)))
44+
#endif
45+
#else
46+
#define CURL_TEMP_PRINTF(fmt, arg)
4147
#endif
4248

43-
CURL_EXTERN int curl_mprintf(const char *format, ...) CURL_TEMP_PRINTF(1, 2);
49+
CURL_EXTERN int curl_mprintf(const char *format, ...)
50+
CURL_TEMP_PRINTF(1, 2);
4451
CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...)
4552
CURL_TEMP_PRINTF(2, 3);
4653
CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...)
4754
CURL_TEMP_PRINTF(2, 3);
4855
CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength,
49-
const char *format, ...) CURL_TEMP_PRINTF(3, 4);
56+
const char *format, ...)
57+
CURL_TEMP_PRINTF(3, 4);
5058
CURL_EXTERN int curl_mvprintf(const char *format, va_list args)
5159
CURL_TEMP_PRINTF(1, 0);
5260
CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args)

vendor/curl/include/curl/multi.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,20 @@ typedef int (*curl_push_callback)(CURL *parent,
464464
struct curl_pushheaders *headers,
465465
void *userp);
466466

467+
/*
468+
* Name: curl_multi_waitfds()
469+
*
470+
* Desc: Ask curl for fds for polling. The app can use these to poll on.
471+
* We want curl_multi_perform() called as soon as one of them are
472+
* ready. Passing zero size allows to get just a number of fds.
473+
*
474+
* Returns: CURLMcode type, general multi error code.
475+
*/
476+
CURL_EXTERN CURLMcode curl_multi_waitfds(CURLM *multi,
477+
struct curl_waitfd *ufds,
478+
unsigned int size,
479+
unsigned int *fd_count);
480+
467481
#ifdef __cplusplus
468482
} /* end of extern "C" */
469483
#endif

vendor/curl/include/curl/system.h

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -184,9 +184,8 @@
184184
# define CURL_FORMAT_CURL_OFF_TU PRIu64
185185
# define CURL_SUFFIX_CURL_OFF_T LL
186186
# define CURL_SUFFIX_CURL_OFF_TU ULL
187-
# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
187+
# define CURL_TYPEOF_CURL_SOCKLEN_T int
188188
# define CURL_PULL_SYS_TYPES_H 1
189-
# define CURL_PULL_WS2TCPIP_H 1
190189

191190
#elif defined(__VMS)
192191
# if defined(__VAX)
@@ -417,15 +416,6 @@
417416
#define CURL_PULL_SYS_POLL_H
418417
#endif
419418

420-
421-
/* CURL_PULL_WS2TCPIP_H is defined above when inclusion of header file */
422-
/* ws2tcpip.h is required here to properly make type definitions below. */
423-
#ifdef CURL_PULL_WS2TCPIP_H
424-
# include <winsock2.h>
425-
# include <windows.h>
426-
# include <ws2tcpip.h>
427-
#endif
428-
429419
/* CURL_PULL_SYS_TYPES_H is defined above when inclusion of header file */
430420
/* sys/types.h is required here to properly make type definitions below. */
431421
#ifdef CURL_PULL_SYS_TYPES_H

vendor/curl/include/curl/typecheck-gcc.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,7 @@ CURLWARNING(_curl_easy_getinfo_err_curl_off_t,
275275
(option) == CURLOPT_DNS_LOCAL_IP6 || \
276276
(option) == CURLOPT_DNS_SERVERS || \
277277
(option) == CURLOPT_DOH_URL || \
278+
(option) == CURLOPT_ECH || \
278279
(option) == CURLOPT_EGDSOCKET || \
279280
(option) == CURLOPT_FTP_ACCOUNT || \
280281
(option) == CURLOPT_FTP_ALTERNATIVE_TO_USER || \

vendor/curl/include/curl/urlapi.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ typedef enum {
6363
CURLUE_BAD_SLASHES, /* 28 */
6464
CURLUE_BAD_USER, /* 29 */
6565
CURLUE_LACKS_IDN, /* 30 */
66+
CURLUE_TOO_LARGE, /* 31 */
6667
CURLUE_LAST
6768
} CURLUcode;
6869

@@ -98,6 +99,9 @@ typedef enum {
9899
#define CURLU_ALLOW_SPACE (1<<11) /* Allow spaces in the URL */
99100
#define CURLU_PUNYCODE (1<<12) /* get the host name in punycode */
100101
#define CURLU_PUNY2IDN (1<<13) /* punycode => IDN conversion */
102+
#define CURLU_GET_EMPTY (1<<14) /* allow empty queries and fragments
103+
when extracting the URL or the
104+
components */
101105

102106
typedef struct Curl_URL CURLU;
103107

0 commit comments

Comments
 (0)