Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/workflows/build-lib-x64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,20 @@ jobs:
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2

- name: Verify dependency inputs
shell: pwsh
run: |
$dependencies = @(
@('curl/libcurl.lib', 'ce95938a2ab28c117c060d0d230627e4394f2816e6bf0278582f4cc16f5252ff', 'https://curl.se/download/curl-8.23.0.zip', '85477fe11408471285f38a601e7c6f53470d13be9a5a316919b071ad02e68213'),
@('curl/zlib.lib', 'cb8f44532898db105798fcfa2e063ead4b4488ff9806782a8d3d0f410014e8c6', 'https://zlib.net/zlib132.zip', 'e8bf55f3017aa181690990cb58a994e77885da140609fc8f94abe9b65d2cae28'),
@('libsodium/libsodium.lib', '975fe3ea19d4c78ae8b3ac12fc9212063fea7edadbb6307f089f52febdafa371', 'https://download.libsodium.org/libsodium/releases/libsodium-1.0.20-stable-msvc.zip', 'ebaa204fdfcedc51dc1ee1bbd03c8d552a14b3372f87f94e44c71a8533f77df4')
)
foreach ($dependency in $dependencies) {
$actual = (Get-FileHash -LiteralPath $dependency[0] -Algorithm SHA256).Hash.ToLowerInvariant()
if ($actual -cne $dependency[1]) { throw "Unexpected dependency binary: $($dependency[0])" }
Write-Output "Verified $($dependency[0]); upstream archive $($dependency[2]); source SHA256 $($dependency[3])"
}

- name: Build library_x64.lib (Release|x64)
run: >
msbuild .\library.vcxproj
Expand Down
558 changes: 556 additions & 2 deletions .github/workflows/ci.yml

Large diffs are not rendered by default.

598 changes: 432 additions & 166 deletions auth.cpp

Large diffs are not rendered by default.

192 changes: 175 additions & 17 deletions auth.hpp

Large diffs are not rendered by default.

930 changes: 522 additions & 408 deletions curl/curl.h

Large diffs are not rendered by default.

24 changes: 11 additions & 13 deletions curl/curlver.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,23 +32,22 @@

/* This is the version number of the libcurl package from which this header
file origins: */
#define LIBCURL_VERSION "8.10.1-DEV"
#define LIBCURL_VERSION "8.23.0"

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

#define LIBCURL_VERSION_MINOR 23
#define LIBCURL_VERSION_PATCH 0
/* This is the numeric version of the libcurl version number, meant for easier
parsing and comparisons by programs. The LIBCURL_VERSION_NUM define will
always follow this syntax:
parsing and comparisons by programs. The LIBCURL_VERSION_NUM define always
follows this syntax:

0xXXYYZZ

Where XX, YY and ZZ are the main version, release and patch numbers in
hexadecimal (using 8 bits each). All three numbers are always represented
using two digits. 1.2 would appear as "0x010200" while version 9.11.7
using two digits. Version 1.2 would appear as "0x010200" while 9.11.7
appears as "0x090b07".

This 6-digit (24 bits) hexadecimal number does not show pre-release number,
Expand All @@ -57,9 +56,8 @@

Note: This define is the full hex number and _does not_ use the
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 0x080a01
and needs it to contain the full number. */
#define LIBCURL_VERSION_NUM 0x081700

/*
* This is the date and time when the full source package was created. The
Expand All @@ -70,10 +68,10 @@
*
* "2007-11-23"
*/
#define LIBCURL_TIMESTAMP "[unreleased]"
#define LIBCURL_TIMESTAMP "2026-10-14"

#define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|(z))
#define CURL_AT_LEAST_VERSION(x,y,z) \
#define CURL_VERSION_BITS(x, y, z) ((x) << 16 | (y) << 8 | (z))
#define CURL_AT_LEAST_VERSION(x, y, z) \
(LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z))

#endif /* CURLINC_CURLVER_H */
16 changes: 7 additions & 9 deletions curl/easy.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
* SPDX-License-Identifier: curl
*
***************************************************************************/
#ifdef __cplusplus
#ifdef __cplusplus
extern "C" {
#endif

Expand All @@ -50,15 +50,14 @@ CURL_EXTERN void curl_easy_cleanup(CURL *curl);
*
* Request internal information from the curl session with this function.
* The third argument MUST be pointing to the specific type of the used option
* which is documented in each manpage of the option. The data pointed to
* will be filled in accordingly and can be relied upon only if the function
* which is documented in each man page of the option. The data pointed to
* is filled in accordingly and can be relied upon only if the function
* returns CURLE_OK. This function is intended to get used *AFTER* a performed
* transfer, all results from this function are undefined until the transfer
* is completed.
*/
CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...);


/*
* NAME curl_easy_duphandle()
*
Expand All @@ -67,7 +66,7 @@ CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...);
* Creates a new curl session handle with the same options set for the handle
* passed in. Duplicating a handle could only be a matter of cloning data and
* options, internal state info and things like persistent connections cannot
* be transferred. It is useful in multithreaded applications when you can run
* be transferred. It is useful in multi-threaded applications when you can run
* curl_easy_duphandle() for each new thread to avoid a series of identical
* curl_easy_setopt() invokes in every thread.
*/
Expand All @@ -78,8 +77,8 @@ CURL_EXTERN CURL *curl_easy_duphandle(CURL *curl);
*
* DESCRIPTION
*
* Re-initializes a CURL handle to the default values. This puts back the
* handle to the same state as it was in when it was just created.
* Re-initializes a curl handle to the default values. This puts back the
* handle to the same state as it was in when it was created.
*
* It does keep: live connections, the Session ID cache, the DNS cache and the
* cookies.
Expand Down Expand Up @@ -108,7 +107,6 @@ CURL_EXTERN CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen,
CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer,
size_t buflen, size_t *n);


/*
* NAME curl_easy_upkeep()
*
Expand All @@ -118,7 +116,7 @@ CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer,
*/
CURL_EXTERN CURLcode curl_easy_upkeep(CURL *curl);

#ifdef __cplusplus
#ifdef __cplusplus
} /* end of extern "C" */
#endif

Expand Down
20 changes: 10 additions & 10 deletions curl/header.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,25 +24,25 @@
*
***************************************************************************/

#ifdef __cplusplus
#ifdef __cplusplus
extern "C" {
#endif

struct curl_header {
char *name; /* this might not use the same case */
char *value;
size_t amount; /* number of headers using this name */
size_t amount; /* number of headers using this name */
size_t index; /* ... of this instance, 0 or higher */
unsigned int origin; /* see bits below */
void *anchor; /* handle privately used by libcurl */
};

/* 'origin' bits */
#define CURLH_HEADER (1<<0) /* plain server header */
#define CURLH_TRAILER (1<<1) /* trailers */
#define CURLH_CONNECT (1<<2) /* CONNECT headers */
#define CURLH_1XX (1<<3) /* 1xx headers */
#define CURLH_PSEUDO (1<<4) /* pseudo headers */
#define CURLH_HEADER (1 << 0) /* plain server header */
#define CURLH_TRAILER (1 << 1) /* trailers */
#define CURLH_CONNECT (1 << 2) /* CONNECT headers */
#define CURLH_1XX (1 << 3) /* 1xx headers */
#define CURLH_PSEUDO (1 << 4) /* pseudo headers */

typedef enum {
CURLHE_OK,
Expand All @@ -55,14 +55,14 @@ typedef enum {
CURLHE_NOT_BUILT_IN /* if API was disabled in the build */
} CURLHcode;

CURL_EXTERN CURLHcode curl_easy_header(CURL *easy,
CURL_EXTERN CURLHcode curl_easy_header(CURL *curl,
const char *name,
size_t index,
size_t nameindex,
unsigned int origin,
int request,
struct curl_header **hout);

CURL_EXTERN struct curl_header *curl_easy_nextheader(CURL *easy,
CURL_EXTERN struct curl_header *curl_easy_nextheader(CURL *curl,
unsigned int origin,
int request,
struct curl_header *prev);
Expand Down
Binary file modified curl/libcurl.lib
Binary file not shown.
6 changes: 3 additions & 3 deletions curl/mprintf.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
#include <stdio.h> /* needed for FILE */
#include "curl.h" /* for CURL_EXTERN */

#ifdef __cplusplus
#ifdef __cplusplus
extern "C" {
#endif

Expand All @@ -38,7 +38,7 @@ extern "C" {
defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
!defined(CURL_NO_FMT_CHECKS)
#if defined(__MINGW32__) && !defined(__clang__)
#if defined(__MINGW_PRINTF_FORMAT) /* mingw-w64 3.0.0+. Needs stdio.h. */
#ifdef __MINGW_PRINTF_FORMAT /* mingw-w64 3.0.0+. Needs stdio.h. */
#define CURL_TEMP_PRINTF(fmt, arg) \
__attribute__((format(__MINGW_PRINTF_FORMAT, fmt, arg)))
#else
Expand Down Expand Up @@ -78,7 +78,7 @@ CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args)

#undef CURL_TEMP_PRINTF

#ifdef __cplusplus
#ifdef __cplusplus
} /* end of extern "C" */
#endif

Expand Down
Loading
Loading