Skip to content

Commit 4da9f59

Browse files
authored
Update libcurl to 8.11.1 with enabled websockets (#4588)
1 parent 92025f5 commit 4da9f59

File tree

13 files changed

+36
-34
lines changed

13 files changed

+36
-34
lines changed

ktor-client/ktor-client-curl/desktop/interop/include/curl/curl.h

+25-19
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,15 @@
3030
*/
3131

3232
#ifdef CURL_NO_OLDIES
33-
#define CURL_STRICTER
33+
#define CURL_STRICTER /* not used since 8.11.0 */
3434
#endif
3535

3636
/* Compile-time deprecation macros. */
37-
#if (defined(__GNUC__) && \
38-
((__GNUC__ > 12) || ((__GNUC__ == 12) && (__GNUC_MINOR__ >= 1 ))) || \
39-
defined(__IAR_SYSTEMS_ICC__)) && \
40-
!defined(__INTEL_COMPILER) && \
37+
#if (defined(__GNUC__) && \
38+
((__GNUC__ > 12) || ((__GNUC__ == 12) && (__GNUC_MINOR__ >= 1))) || \
39+
(defined(__clang__) && __clang_major__ >= 3) || \
40+
defined(__IAR_SYSTEMS_ICC__)) && \
41+
!defined(__INTEL_COMPILER) && \
4142
!defined(CURL_DISABLE_DEPRECATION) && !defined(BUILDING_LIBCURL)
4243
#define CURL_DEPRECATED(version, message) \
4344
__attribute__((deprecated("since " # version ". " message)))
@@ -113,13 +114,8 @@
113114
extern "C" {
114115
#endif
115116

116-
#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER)
117-
typedef struct Curl_easy CURL;
118-
typedef struct Curl_share CURLSH;
119-
#else
120117
typedef void CURL;
121118
typedef void CURLSH;
122-
#endif
123119

124120
/*
125121
* libcurl external API function linkage decorations.
@@ -253,12 +249,12 @@ typedef int (*curl_xferinfo_callback)(void *clientp,
253249
#endif
254250

255251
#ifndef CURL_MAX_WRITE_SIZE
256-
/* Tests have proven that 20K is a very bad buffer size for uploads on
257-
Windows, while 16K for some odd reason performed a lot better.
258-
We do the ifndef check to allow this value to easier be changed at build
259-
time for those who feel adventurous. The practical minimum is about
260-
400 bytes since libcurl uses a buffer of this size as a scratch area
261-
(unrelated to network send operations). */
252+
/* Tests have proven that 20K is a bad buffer size for uploads on Windows,
253+
while 16K for some odd reason performed a lot better. We do the ifndef
254+
check to allow this value to easier be changed at build time for those
255+
who feel adventurous. The practical minimum is about 400 bytes since
256+
libcurl uses a buffer of this size as a scratch area (unrelated to
257+
network send operations). */
262258
#define CURL_MAX_WRITE_SIZE 16384
263259
#endif
264260

@@ -555,14 +551,14 @@ typedef enum {
555551
CURLE_FTP_COULDNT_USE_REST, /* 31 - the REST command failed */
556552
CURLE_OBSOLETE32, /* 32 - NOT USED */
557553
CURLE_RANGE_ERROR, /* 33 - RANGE "command" did not work */
558-
CURLE_HTTP_POST_ERROR, /* 34 */
554+
CURLE_OBSOLETE34, /* 34 */
559555
CURLE_SSL_CONNECT_ERROR, /* 35 - wrong when connecting with SSL */
560556
CURLE_BAD_DOWNLOAD_RESUME, /* 36 - could not resume download */
561557
CURLE_FILE_COULDNT_READ_FILE, /* 37 */
562558
CURLE_LDAP_CANNOT_BIND, /* 38 */
563559
CURLE_LDAP_SEARCH_FAILED, /* 39 */
564560
CURLE_OBSOLETE40, /* 40 - NOT USED */
565-
CURLE_FUNCTION_NOT_FOUND, /* 41 - NOT USED starting with 7.53.0 */
561+
CURLE_OBSOLETE41, /* 41 - NOT USED starting with 7.53.0 */
566562
CURLE_ABORTED_BY_CALLBACK, /* 42 */
567563
CURLE_BAD_FUNCTION_ARGUMENT, /* 43 */
568564
CURLE_OBSOLETE44, /* 44 - NOT USED */
@@ -647,6 +643,12 @@ typedef enum {
647643
#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
648644
the obsolete stuff removed! */
649645

646+
/* removed in 7.53.0 */
647+
#define CURLE_FUNCTION_NOT_FOUND CURLE_OBSOLETE41
648+
649+
/* removed in 7.56.0 */
650+
#define CURLE_HTTP_POST_ERROR CURLE_OBSOLETE34
651+
650652
/* Previously obsolete error code reused in 7.38.0 */
651653
#define CURLE_OBSOLETE16 CURLE_HTTP2
652654

@@ -942,6 +944,9 @@ typedef enum {
942944
a client certificate for authentication. (Schannel) */
943945
#define CURLSSLOPT_AUTO_CLIENT_CERT (1<<5)
944946

947+
/* If possible, send data using TLS 1.3 early data */
948+
#define CURLSSLOPT_EARLYDATA (1<<6)
949+
945950
/* The default connection attempt delay in milliseconds for happy eyeballs.
946951
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 and happy-eyeballs-timeout-ms.d document
947952
this value, keep them in sync. */
@@ -2953,7 +2958,8 @@ typedef enum {
29532958
CURLINFO_QUEUE_TIME_T = CURLINFO_OFF_T + 65,
29542959
CURLINFO_USED_PROXY = CURLINFO_LONG + 66,
29552960
CURLINFO_POSTTRANSFER_TIME_T = CURLINFO_OFF_T + 67,
2956-
CURLINFO_LASTONE = 67
2961+
CURLINFO_EARLYDATA_SENT_T = CURLINFO_OFF_T + 68,
2962+
CURLINFO_LASTONE = 68
29572963
} CURLINFO;
29582964

29592965
/* CURLINFO_RESPONSE_CODE is the new name for the option previously known as

ktor-client/ktor-client-curl/desktop/interop/include/curl/curlver.h

+4-4
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.10.1"
35+
#define LIBCURL_VERSION "8.11.1"
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 10
40+
#define LIBCURL_VERSION_MINOR 11
4141
#define LIBCURL_VERSION_PATCH 1
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 0x080a01
62+
#define LIBCURL_VERSION_NUM 0x080b01
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 "2024-09-18"
73+
#define LIBCURL_TIMESTAMP "2024-12-11"
7474

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

ktor-client/ktor-client-curl/desktop/interop/include/curl/multi.h

+7-11
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,7 @@
5454
extern "C" {
5555
#endif
5656

57-
#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER)
58-
typedef struct Curl_multi CURLM;
59-
#else
6057
typedef void CURLM;
61-
#endif
6258

6359
typedef enum {
6460
CURLM_CALL_MULTI_PERFORM = -1, /* please call curl_multi_perform() or
@@ -248,13 +244,13 @@ CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle);
248244
* The data the returned pointer points to will not survive calling
249245
* curl_multi_cleanup().
250246
*
251-
* The 'CURLMsg' struct is meant to be very simple and only contain
252-
* very basic information. If more involved information is wanted,
253-
* we will provide the particular "transfer handle" in that struct
254-
* and that should/could/would be used in subsequent
255-
* curl_easy_getinfo() calls (or similar). The point being that we
256-
* must never expose complex structs to applications, as then we will
257-
* undoubtably get backwards compatibility problems in the future.
247+
* The 'CURLMsg' struct is meant to be simple and only contain basic
248+
* information. If more involved information is wanted, we will
249+
* provide the particular "transfer handle" in that struct and that
250+
* should/could/would be used in subsequent curl_easy_getinfo() calls
251+
* (or similar). The point being that we must never expose complex
252+
* structs to applications, as then we will undoubtably get backwards
253+
* compatibility problems in the future.
258254
*
259255
* Returns: A pointer to a filled-in struct, or NULL if it failed or ran out
260256
* of structs. It also writes the number of messages left in the
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)