Skip to content

Commit

Permalink
Revert "Temporarily revert this month's updates & changes to cURL and…
Browse files Browse the repository at this point in the history
… mbedTLS"

This is planned; refer to the description of commit afd6c2a for details. Actually, in the meanwhile, botder has found a proper fix for the SSL bug.
Even though for good measure server builds were let to generate, a rebase with the fix will follow this "Revert the revert", and later builds will also have fixed fetchRemote (https), but without downgraded cURL & mbedTLS which would otherwise be a security risk.

This reverts commit afd6c2a.
  • Loading branch information
Dutchman101 committed Jun 10, 2024
1 parent afd6c2a commit a0d7c33
Show file tree
Hide file tree
Showing 523 changed files with 124,247 additions and 68,394 deletions.
13,489 changes: 6,912 additions & 6,577 deletions vendor/curl/CHANGES

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion vendor/curl/COPYING
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
COPYRIGHT AND PERMISSION NOTICE

Copyright (c) 1996 - 2023, Daniel Stenberg, <[email protected]>, and many
Copyright (c) 1996 - 2024, Daniel Stenberg, <[email protected]>, and many
contributors, see the THANKS file.

All rights reserved.
Expand Down
875 changes: 481 additions & 394 deletions vendor/curl/RELEASE-NOTES

Large diffs are not rendered by default.

86 changes: 50 additions & 36 deletions vendor/curl/include/curl/curl.h
Original file line number Diff line number Diff line change
Expand Up @@ -631,6 +631,8 @@ typedef enum {
CURLE_PROXY, /* 97 - proxy handshake error */
CURLE_SSL_CLIENTCERT, /* 98 - client-side certificate required */
CURLE_UNRECOVERABLE_POLL, /* 99 - poll/select returned fatal error */
CURLE_TOO_LARGE, /* 100 - a value/data met its maximum */
CURLE_ECH_REQUIRED, /* 101 - ECH tried but failed */
CURL_LAST /* never use! */
} CURLcode;

Expand Down Expand Up @@ -810,7 +812,10 @@ typedef enum {
#define CURLAUTH_GSSAPI CURLAUTH_NEGOTIATE
#define CURLAUTH_NTLM (((unsigned long)1)<<3)
#define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4)
#ifndef CURL_NO_OLDIES
/* functionality removed since 8.8.0 */
#define CURLAUTH_NTLM_WB (((unsigned long)1)<<5)
#endif
#define CURLAUTH_BEARER (((unsigned long)1)<<6)
#define CURLAUTH_AWS_SIGV4 (((unsigned long)1)<<7)
#define CURLAUTH_ONLY (((unsigned long)1)<<31)
Expand Down Expand Up @@ -1845,7 +1850,8 @@ typedef enum {
/* allow GSSAPI credential delegation */
CURLOPT(CURLOPT_GSSAPI_DELEGATION, CURLOPTTYPE_VALUES, 210),

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

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

/* millisecond version */
CURLOPT(CURLOPT_SERVER_RESPONSE_TIMEOUT_MS, CURLOPTTYPE_LONG, 324),

/* set ECH configuration */
CURLOPT(CURLOPT_ECH, CURLOPTTYPE_STRINGPOINT, 325),

CURLOPT_LASTENTRY /* the last unused */
} CURLoption;

Expand Down Expand Up @@ -2306,30 +2318,26 @@ enum CURL_NETRC_OPTION {
CURL_NETRC_LAST
};

enum {
CURL_SSLVERSION_DEFAULT,
CURL_SSLVERSION_TLSv1, /* TLS 1.x */
CURL_SSLVERSION_SSLv2,
CURL_SSLVERSION_SSLv3,
CURL_SSLVERSION_TLSv1_0,
CURL_SSLVERSION_TLSv1_1,
CURL_SSLVERSION_TLSv1_2,
CURL_SSLVERSION_TLSv1_3,

CURL_SSLVERSION_LAST /* never use, keep last */
};
#define CURL_SSLVERSION_DEFAULT 0
#define CURL_SSLVERSION_TLSv1 1 /* TLS 1.x */
#define CURL_SSLVERSION_SSLv2 2
#define CURL_SSLVERSION_SSLv3 3
#define CURL_SSLVERSION_TLSv1_0 4
#define CURL_SSLVERSION_TLSv1_1 5
#define CURL_SSLVERSION_TLSv1_2 6
#define CURL_SSLVERSION_TLSv1_3 7

enum {
CURL_SSLVERSION_MAX_NONE = 0,
CURL_SSLVERSION_MAX_DEFAULT = (CURL_SSLVERSION_TLSv1 << 16),
CURL_SSLVERSION_MAX_TLSv1_0 = (CURL_SSLVERSION_TLSv1_0 << 16),
CURL_SSLVERSION_MAX_TLSv1_1 = (CURL_SSLVERSION_TLSv1_1 << 16),
CURL_SSLVERSION_MAX_TLSv1_2 = (CURL_SSLVERSION_TLSv1_2 << 16),
CURL_SSLVERSION_MAX_TLSv1_3 = (CURL_SSLVERSION_TLSv1_3 << 16),
#define CURL_SSLVERSION_LAST 8 /* never use, keep last */

#define CURL_SSLVERSION_MAX_NONE 0
#define CURL_SSLVERSION_MAX_DEFAULT (CURL_SSLVERSION_TLSv1 << 16)
#define CURL_SSLVERSION_MAX_TLSv1_0 (CURL_SSLVERSION_TLSv1_0 << 16)
#define CURL_SSLVERSION_MAX_TLSv1_1 (CURL_SSLVERSION_TLSv1_1 << 16)
#define CURL_SSLVERSION_MAX_TLSv1_2 (CURL_SSLVERSION_TLSv1_2 << 16)
#define CURL_SSLVERSION_MAX_TLSv1_3 (CURL_SSLVERSION_TLSv1_3 << 16)

/* never use, keep last */
CURL_SSLVERSION_MAX_LAST = (CURL_SSLVERSION_LAST << 16)
};
#define CURL_SSLVERSION_MAX_LAST (CURL_SSLVERSION_LAST << 16)

enum CURL_TLSAUTH {
CURL_TLSAUTH_NONE,
Expand Down Expand Up @@ -2932,7 +2940,9 @@ typedef enum {
CURLINFO_CAPATH = CURLINFO_STRING + 62,
CURLINFO_XFER_ID = CURLINFO_OFF_T + 63,
CURLINFO_CONN_ID = CURLINFO_OFF_T + 64,
CURLINFO_LASTONE = 64
CURLINFO_QUEUE_TIME_T = CURLINFO_OFF_T + 65,
CURLINFO_USED_PROXY = CURLINFO_LONG + 66,
CURLINFO_LASTONE = 66
} CURLINFO;

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

typedef enum {
CURLVERSION_FIRST,
CURLVERSION_SECOND,
CURLVERSION_THIRD,
CURLVERSION_FOURTH,
CURLVERSION_FIFTH,
CURLVERSION_SIXTH,
CURLVERSION_SEVENTH,
CURLVERSION_EIGHTH,
CURLVERSION_NINTH,
CURLVERSION_TENTH,
CURLVERSION_ELEVENTH,
CURLVERSION_FIRST, /* 7.10 */
CURLVERSION_SECOND, /* 7.11.1 */
CURLVERSION_THIRD, /* 7.12.0 */
CURLVERSION_FOURTH, /* 7.16.1 */
CURLVERSION_FIFTH, /* 7.57.0 */
CURLVERSION_SIXTH, /* 7.66.0 */
CURLVERSION_SEVENTH, /* 7.70.0 */
CURLVERSION_EIGHTH, /* 7.72.0 */
CURLVERSION_NINTH, /* 7.75.0 */
CURLVERSION_TENTH, /* 7.77.0 */
CURLVERSION_ELEVENTH, /* 7.87.0 */
CURLVERSION_TWELFTH, /* 8.8.0 */
CURLVERSION_LAST /* never actually use this */
} CURLversion;

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

struct curl_version_info_data {
CURLversion age; /* age of the returned struct */
Expand Down Expand Up @@ -3107,6 +3118,9 @@ struct curl_version_info_data {
/* These fields were added in CURLVERSION_ELEVENTH */
/* feature_names is terminated by an entry with a NULL feature name */
const char * const *feature_names;

/* These fields were added in CURLVERSION_TWELFTH */
const char *rtmp_version; /* human readable string. */
};
typedef struct curl_version_info_data curl_version_info_data;

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

/*
/*
* NAME curl_version_info()
*
* DESCRIPTION
Expand Down
8 changes: 4 additions & 4 deletions vendor/curl/include/curl/curlver.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@

/* This is the version number of the libcurl package from which this header
file origins: */
#define LIBCURL_VERSION "8.5.0"
#define LIBCURL_VERSION "8.8.0"

/* The numeric version number is also available "in parts" by using these
defines: */
#define LIBCURL_VERSION_MAJOR 8
#define LIBCURL_VERSION_MINOR 5
#define LIBCURL_VERSION_MINOR 8
#define LIBCURL_VERSION_PATCH 0

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

/*
* This is the date and time when the full source package was created. The
Expand All @@ -70,7 +70,7 @@
*
* "2007-11-23"
*/
#define LIBCURL_TIMESTAMP "2023-12-06"
#define LIBCURL_TIMESTAMP "2024-05-22"

#define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|(z))
#define CURL_AT_LEAST_VERSION(x,y,z) \
Expand Down
18 changes: 13 additions & 5 deletions vendor/curl/include/curl/mprintf.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,27 @@ extern "C" {

#if (defined(__GNUC__) || defined(__clang__)) && \
defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
!defined(__MINGW32__) && !defined(CURL_NO_FMT_CHECKS)
#define CURL_TEMP_PRINTF(a,b) __attribute__ ((format(printf, a, b)))
!defined(CURL_NO_FMT_CHECKS)
#if defined(__MINGW32__) && !defined(__clang__)
#define CURL_TEMP_PRINTF(fmt, arg) \
__attribute__((format(gnu_printf, fmt, arg)))
#else
#define CURL_TEMP_PRINTF(a,b)
#define CURL_TEMP_PRINTF(fmt, arg) \
__attribute__((format(printf, fmt, arg)))
#endif
#else
#define CURL_TEMP_PRINTF(fmt, arg)
#endif

CURL_EXTERN int curl_mprintf(const char *format, ...) CURL_TEMP_PRINTF(1, 2);
CURL_EXTERN int curl_mprintf(const char *format, ...)
CURL_TEMP_PRINTF(1, 2);
CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...)
CURL_TEMP_PRINTF(2, 3);
CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...)
CURL_TEMP_PRINTF(2, 3);
CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength,
const char *format, ...) CURL_TEMP_PRINTF(3, 4);
const char *format, ...)
CURL_TEMP_PRINTF(3, 4);
CURL_EXTERN int curl_mvprintf(const char *format, va_list args)
CURL_TEMP_PRINTF(1, 0);
CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args)
Expand Down
14 changes: 14 additions & 0 deletions vendor/curl/include/curl/multi.h
Original file line number Diff line number Diff line change
Expand Up @@ -464,6 +464,20 @@ typedef int (*curl_push_callback)(CURL *parent,
struct curl_pushheaders *headers,
void *userp);

/*
* Name: curl_multi_waitfds()
*
* Desc: Ask curl for fds for polling. The app can use these to poll on.
* We want curl_multi_perform() called as soon as one of them are
* ready. Passing zero size allows to get just a number of fds.
*
* Returns: CURLMcode type, general multi error code.
*/
CURL_EXTERN CURLMcode curl_multi_waitfds(CURLM *multi,
struct curl_waitfd *ufds,
unsigned int size,
unsigned int *fd_count);

#ifdef __cplusplus
} /* end of extern "C" */
#endif
Expand Down
12 changes: 1 addition & 11 deletions vendor/curl/include/curl/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -184,9 +184,8 @@
# define CURL_FORMAT_CURL_OFF_TU PRIu64
# define CURL_SUFFIX_CURL_OFF_T LL
# define CURL_SUFFIX_CURL_OFF_TU ULL
# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
# define CURL_TYPEOF_CURL_SOCKLEN_T int
# define CURL_PULL_SYS_TYPES_H 1
# define CURL_PULL_WS2TCPIP_H 1

#elif defined(__VMS)
# if defined(__VAX)
Expand Down Expand Up @@ -417,15 +416,6 @@
#define CURL_PULL_SYS_POLL_H
#endif


/* CURL_PULL_WS2TCPIP_H is defined above when inclusion of header file */
/* ws2tcpip.h is required here to properly make type definitions below. */
#ifdef CURL_PULL_WS2TCPIP_H
# include <winsock2.h>
# include <windows.h>
# include <ws2tcpip.h>
#endif

/* CURL_PULL_SYS_TYPES_H is defined above when inclusion of header file */
/* sys/types.h is required here to properly make type definitions below. */
#ifdef CURL_PULL_SYS_TYPES_H
Expand Down
1 change: 1 addition & 0 deletions vendor/curl/include/curl/typecheck-gcc.h
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,7 @@ CURLWARNING(_curl_easy_getinfo_err_curl_off_t,
(option) == CURLOPT_DNS_LOCAL_IP6 || \
(option) == CURLOPT_DNS_SERVERS || \
(option) == CURLOPT_DOH_URL || \
(option) == CURLOPT_ECH || \
(option) == CURLOPT_EGDSOCKET || \
(option) == CURLOPT_FTP_ACCOUNT || \
(option) == CURLOPT_FTP_ALTERNATIVE_TO_USER || \
Expand Down
4 changes: 4 additions & 0 deletions vendor/curl/include/curl/urlapi.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ typedef enum {
CURLUE_BAD_SLASHES, /* 28 */
CURLUE_BAD_USER, /* 29 */
CURLUE_LACKS_IDN, /* 30 */
CURLUE_TOO_LARGE, /* 31 */
CURLUE_LAST
} CURLUcode;

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

typedef struct Curl_URL CURLU;

Expand Down
Loading

0 comments on commit a0d7c33

Please sign in to comment.