@crossbind/port-curl-ios 2.0.0-beta.56 → 2.0.0-beta.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/curl.xcframework/ios-arm64/Headers/curl/curl.h +42 -16
- package/curl.xcframework/ios-arm64/Headers/curl/curlver.h +5 -6
- package/curl.xcframework/ios-arm64/Headers/curl/multi.h +14 -14
- package/curl.xcframework/ios-arm64/Headers/curl/typecheck-gcc.h +7 -3
- package/curl.xcframework/ios-arm64/Headers/curl/urlapi.h +1 -0
- package/curl.xcframework/ios-arm64/libcurl.a +0 -0
- package/curl.xcframework/ios-arm64-simulator/Headers/curl/curl.h +42 -16
- package/curl.xcframework/ios-arm64-simulator/Headers/curl/curlver.h +5 -6
- package/curl.xcframework/ios-arm64-simulator/Headers/curl/multi.h +14 -14
- package/curl.xcframework/ios-arm64-simulator/Headers/curl/typecheck-gcc.h +7 -3
- package/curl.xcframework/ios-arm64-simulator/Headers/curl/urlapi.h +1 -0
- package/curl.xcframework/ios-arm64-simulator/libcurl.a +0 -0
- package/dist/prebuilt/ios-iphoneos-mt-release/crossbind-source.fingerprint +1 -1
- package/dist/prebuilt/ios-iphoneos-mt-release/include/curl/curl.h +42 -16
- package/dist/prebuilt/ios-iphoneos-mt-release/include/curl/curlver.h +5 -6
- package/dist/prebuilt/ios-iphoneos-mt-release/include/curl/multi.h +14 -14
- package/dist/prebuilt/ios-iphoneos-mt-release/include/curl/typecheck-gcc.h +7 -3
- package/dist/prebuilt/ios-iphoneos-mt-release/include/curl/urlapi.h +1 -0
- package/dist/prebuilt/ios-iphoneos-mt-release/lib/cmake/CURL/CURLConfig.cmake +4 -4
- package/dist/prebuilt/ios-iphoneos-mt-release/lib/cmake/CURL/CURLConfigVersion.cmake +3 -3
- package/dist/prebuilt/ios-iphoneos-mt-release/lib/cmake/CURL/FindGSS.cmake +130 -112
- package/dist/prebuilt/ios-iphoneos-mt-release/lib/cmake/CURL/FindLibgsasl.cmake +1 -0
- package/dist/prebuilt/ios-iphoneos-mt-release/lib/cmake/CURL/FindNettle.cmake +13 -9
- package/dist/prebuilt/ios-iphoneos-mt-release/lib/cmake/CURL/FindZstd.cmake +2 -2
- package/dist/prebuilt/ios-iphoneos-mt-release/lib/libcurl.a +0 -0
- package/dist/prebuilt/ios-iphoneos-mt-release/lib/pkgconfig/libcurl.pc +7 -4
- package/dist/prebuilt/ios-iphoneos-mt-release/share/man/man1/curl-config.1 +1 -1
- package/dist/prebuilt/ios-iphonesimulator-mt-release/crossbind-source.fingerprint +1 -1
- package/dist/prebuilt/ios-iphonesimulator-mt-release/include/curl/curl.h +42 -16
- package/dist/prebuilt/ios-iphonesimulator-mt-release/include/curl/curlver.h +5 -6
- package/dist/prebuilt/ios-iphonesimulator-mt-release/include/curl/multi.h +14 -14
- package/dist/prebuilt/ios-iphonesimulator-mt-release/include/curl/typecheck-gcc.h +7 -3
- package/dist/prebuilt/ios-iphonesimulator-mt-release/include/curl/urlapi.h +1 -0
- package/dist/prebuilt/ios-iphonesimulator-mt-release/lib/cmake/CURL/CURLConfig.cmake +4 -4
- package/dist/prebuilt/ios-iphonesimulator-mt-release/lib/cmake/CURL/CURLConfigVersion.cmake +3 -3
- package/dist/prebuilt/ios-iphonesimulator-mt-release/lib/cmake/CURL/FindGSS.cmake +130 -112
- package/dist/prebuilt/ios-iphonesimulator-mt-release/lib/cmake/CURL/FindLibgsasl.cmake +1 -0
- package/dist/prebuilt/ios-iphonesimulator-mt-release/lib/cmake/CURL/FindNettle.cmake +13 -9
- package/dist/prebuilt/ios-iphonesimulator-mt-release/lib/cmake/CURL/FindZstd.cmake +2 -2
- package/dist/prebuilt/ios-iphonesimulator-mt-release/lib/libcurl.a +0 -0
- package/dist/prebuilt/ios-iphonesimulator-mt-release/lib/pkgconfig/libcurl.pc +7 -4
- package/dist/prebuilt/ios-iphonesimulator-mt-release/share/man/man1/curl-config.1 +1 -1
- package/package.json +5 -5
|
@@ -93,7 +93,9 @@
|
|
|
93
93
|
defined(__CYGWIN__) || defined(AMIGA) || defined(__NuttX__) || \
|
|
94
94
|
(defined(__FreeBSD_version) && (__FreeBSD_version < 800000)) || \
|
|
95
95
|
(defined(__MidnightBSD_version) && (__MidnightBSD_version < 100000)) || \
|
|
96
|
-
defined(__sun__) || defined(__serenity__) || defined(__vxworks__)
|
|
96
|
+
defined(__sun__) || defined(__serenity__) || defined(__vxworks__) || \
|
|
97
|
+
(defined(__linux__) && defined(_POSIX_C_SOURCE) && \
|
|
98
|
+
_POSIX_C_SOURCE >= 200112L)
|
|
97
99
|
#include <sys/select.h>
|
|
98
100
|
#endif
|
|
99
101
|
|
|
@@ -632,7 +634,7 @@ typedef enum {
|
|
|
632
634
|
match */
|
|
633
635
|
CURLE_SSL_INVALIDCERTSTATUS, /* 91 - invalid certificate status */
|
|
634
636
|
CURLE_HTTP2_STREAM, /* 92 - stream error in HTTP/2 framing layer
|
|
635
|
-
|
|
637
|
+
*/
|
|
636
638
|
CURLE_RECURSIVE_API_CALL, /* 93 - an api function was called from
|
|
637
639
|
inside a callback */
|
|
638
640
|
CURLE_AUTH_ERROR, /* 94 - an authentication function returned an
|
|
@@ -843,12 +845,20 @@ typedef enum {
|
|
|
843
845
|
#endif
|
|
844
846
|
#define CURLAUTH_BEARER (((unsigned long)1) << 6)
|
|
845
847
|
#define CURLAUTH_AWS_SIGV4 (((unsigned long)1) << 7)
|
|
848
|
+
#define CURLAUTH_HTTPSIG (((unsigned long)1) << 8)
|
|
846
849
|
#define CURLAUTH_ONLY (((unsigned long)1) << 31)
|
|
847
|
-
#define CURLAUTH_ANY ((~CURLAUTH_DIGEST_IE
|
|
850
|
+
#define CURLAUTH_ANY ((~(CURLAUTH_DIGEST_IE | \
|
|
851
|
+
CURLAUTH_HTTPSIG)) & \
|
|
848
852
|
((unsigned long)0xffffffff))
|
|
849
|
-
#define CURLAUTH_ANYSAFE ((~(CURLAUTH_BASIC | CURLAUTH_DIGEST_IE
|
|
853
|
+
#define CURLAUTH_ANYSAFE ((~(CURLAUTH_BASIC | CURLAUTH_DIGEST_IE | \
|
|
854
|
+
CURLAUTH_HTTPSIG)) & \
|
|
850
855
|
((unsigned long)0xffffffff))
|
|
851
856
|
|
|
857
|
+
/* constants for CURLOPT_HTTPSIG_ALGORITHM */
|
|
858
|
+
#define CURLHTTPSIG_NONE 0L
|
|
859
|
+
#define CURLHTTPSIG_ED25519 1L
|
|
860
|
+
#define CURLHTTPSIG_HMAC_SHA256 2L
|
|
861
|
+
|
|
852
862
|
/* all types supported by server */
|
|
853
863
|
#define CURLSSH_AUTH_ANY ((unsigned long)0xffffffff)
|
|
854
864
|
#define CURLSSH_AUTH_NONE 0L /* none allowed, silly but complete */
|
|
@@ -1537,8 +1547,7 @@ typedef enum {
|
|
|
1537
1547
|
|
|
1538
1548
|
/* FTP Option that causes missing dirs to be created on the remote server.
|
|
1539
1549
|
In 7.19.4 we introduced the convenience enums for this option using the
|
|
1540
|
-
CURLFTP_CREATE_DIR prefix.
|
|
1541
|
-
*/
|
|
1550
|
+
CURLFTP_CREATE_DIR prefix. */
|
|
1542
1551
|
CURLOPT(CURLOPT_FTP_CREATE_MISSING_DIRS, CURLOPTTYPE_LONG, 110),
|
|
1543
1552
|
|
|
1544
1553
|
/* Set this to a bitmask value to enable the particular authentications
|
|
@@ -1589,7 +1598,7 @@ typedef enum {
|
|
|
1589
1598
|
CURLUSESSL_TRY - try using SSL, proceed anyway otherwise
|
|
1590
1599
|
CURLUSESSL_CONTROL - SSL for the control connection or fail
|
|
1591
1600
|
CURLUSESSL_ALL - SSL for all communication or fail
|
|
1592
|
-
|
|
1601
|
+
*/
|
|
1593
1602
|
CURLOPT(CURLOPT_USE_SSL, CURLOPTTYPE_VALUES, 119),
|
|
1594
1603
|
|
|
1595
1604
|
/* The _LARGE version of the standard POSTFIELDSIZE option */
|
|
@@ -1615,7 +1624,7 @@ typedef enum {
|
|
|
1615
1624
|
CURLFTPAUTH_DEFAULT - let libcurl decide
|
|
1616
1625
|
CURLFTPAUTH_SSL - try "AUTH SSL" first, then TLS
|
|
1617
1626
|
CURLFTPAUTH_TLS - try "AUTH TLS" first, then SSL
|
|
1618
|
-
|
|
1627
|
+
*/
|
|
1619
1628
|
CURLOPT(CURLOPT_FTPSSLAUTH, CURLOPTTYPE_VALUES, 129),
|
|
1620
1629
|
|
|
1621
1630
|
CURLOPTDEPRECATED(CURLOPT_IOCTLFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 130,
|
|
@@ -1650,8 +1659,7 @@ typedef enum {
|
|
|
1650
1659
|
CURLOPT(CURLOPT_LOCALPORT, CURLOPTTYPE_LONG, 139),
|
|
1651
1660
|
|
|
1652
1661
|
/* Number of ports to try, including the first one set with LOCALPORT.
|
|
1653
|
-
Thus, setting it to 1 makes no additional attempts but the first.
|
|
1654
|
-
*/
|
|
1662
|
+
Thus, setting it to 1 makes no additional attempts but the first. */
|
|
1655
1663
|
CURLOPT(CURLOPT_LOCALPORTRANGE, CURLOPTTYPE_LONG, 140),
|
|
1656
1664
|
|
|
1657
1665
|
/* no transfer, set up connection and let application use the socket by
|
|
@@ -1863,13 +1871,16 @@ typedef enum {
|
|
|
1863
1871
|
CURLOPT(CURLOPT_RESOLVE, CURLOPTTYPE_SLISTPOINT, 203),
|
|
1864
1872
|
|
|
1865
1873
|
/* Set a username for authenticated TLS */
|
|
1866
|
-
|
|
1874
|
+
CURLOPTDEPRECATED(CURLOPT_TLSAUTH_USERNAME, CURLOPTTYPE_STRINGPOINT, 204,
|
|
1875
|
+
8.22.0, "Support was removed"),
|
|
1867
1876
|
|
|
1868
1877
|
/* Set a password for authenticated TLS */
|
|
1869
|
-
|
|
1878
|
+
CURLOPTDEPRECATED(CURLOPT_TLSAUTH_PASSWORD, CURLOPTTYPE_STRINGPOINT, 205,
|
|
1879
|
+
8.22.0, "Support was removed"),
|
|
1870
1880
|
|
|
1871
1881
|
/* Set authentication type for authenticated TLS */
|
|
1872
|
-
|
|
1882
|
+
CURLOPTDEPRECATED(CURLOPT_TLSAUTH_TYPE, CURLOPTTYPE_STRINGPOINT, 206,
|
|
1883
|
+
8.22.0, "Support was removed"),
|
|
1873
1884
|
|
|
1874
1885
|
/* Set to 1 to enable the "TE:" header in HTTP requests to ask for
|
|
1875
1886
|
compressed transfer-encoded responses. Set to 0 to disable the use of TE:
|
|
@@ -2030,13 +2041,16 @@ typedef enum {
|
|
|
2030
2041
|
CURLOPT(CURLOPT_PROXY_SSLVERSION, CURLOPTTYPE_VALUES, 250),
|
|
2031
2042
|
|
|
2032
2043
|
/* Set a username for authenticated TLS for proxy */
|
|
2033
|
-
|
|
2044
|
+
CURLOPTDEPRECATED(CURLOPT_PROXY_TLSAUTH_USERNAME, CURLOPTTYPE_STRINGPOINT,
|
|
2045
|
+
251, 8.22.0, "Support was removed"),
|
|
2034
2046
|
|
|
2035
2047
|
/* Set a password for authenticated TLS for proxy */
|
|
2036
|
-
|
|
2048
|
+
CURLOPTDEPRECATED(CURLOPT_PROXY_TLSAUTH_PASSWORD, CURLOPTTYPE_STRINGPOINT,
|
|
2049
|
+
252, 8.22.0, "Support was removed"),
|
|
2037
2050
|
|
|
2038
2051
|
/* Set authentication type for authenticated TLS for proxy */
|
|
2039
|
-
|
|
2052
|
+
CURLOPTDEPRECATED(CURLOPT_PROXY_TLSAUTH_TYPE, CURLOPTTYPE_STRINGPOINT, 253,
|
|
2053
|
+
8.22.0, "Support was removed"),
|
|
2040
2054
|
|
|
2041
2055
|
/* name of the file keeping your private SSL-certificate for proxy */
|
|
2042
2056
|
CURLOPT(CURLOPT_PROXY_SSLCERT, CURLOPTTYPE_STRINGPOINT, 254),
|
|
@@ -2262,6 +2276,18 @@ typedef enum {
|
|
|
2262
2276
|
/* set TLS supported signature algorithms */
|
|
2263
2277
|
CURLOPT(CURLOPT_SSL_SIGNATURE_ALGORITHMS, CURLOPTTYPE_STRINGPOINT, 328),
|
|
2264
2278
|
|
|
2279
|
+
/* RFC 9421 HTTP Message Signatures algorithm */
|
|
2280
|
+
CURLOPT(CURLOPT_HTTPSIG_ALGORITHM, CURLOPTTYPE_VALUES, 329),
|
|
2281
|
+
|
|
2282
|
+
/* Hex-encoded key for HTTP Message Signatures */
|
|
2283
|
+
CURLOPT(CURLOPT_HTTPSIG_KEY, CURLOPTTYPE_STRINGPOINT, 330),
|
|
2284
|
+
|
|
2285
|
+
/* Key identifier for HTTP Message Signatures */
|
|
2286
|
+
CURLOPT(CURLOPT_HTTPSIG_KEYID, CURLOPTTYPE_STRINGPOINT, 331),
|
|
2287
|
+
|
|
2288
|
+
/* Space-separated list of components to sign for HTTP Message Signatures */
|
|
2289
|
+
CURLOPT(CURLOPT_HTTPSIG_HEADERS, CURLOPTTYPE_STRINGPOINT, 332),
|
|
2290
|
+
|
|
2265
2291
|
CURLOPT_LASTENTRY /* the last unused */
|
|
2266
2292
|
} CURLoption;
|
|
2267
2293
|
|
|
@@ -32,12 +32,12 @@
|
|
|
32
32
|
|
|
33
33
|
/* This is the version number of the libcurl package from which this header
|
|
34
34
|
file origins: */
|
|
35
|
-
#define LIBCURL_VERSION "8.
|
|
35
|
+
#define LIBCURL_VERSION "8.22.0"
|
|
36
36
|
|
|
37
37
|
/* The numeric version number is also available "in parts" by using these
|
|
38
38
|
defines: */
|
|
39
39
|
#define LIBCURL_VERSION_MAJOR 8
|
|
40
|
-
#define LIBCURL_VERSION_MINOR
|
|
40
|
+
#define LIBCURL_VERSION_MINOR 22
|
|
41
41
|
#define LIBCURL_VERSION_PATCH 0
|
|
42
42
|
/* This is the numeric version of the libcurl version number, meant for easier
|
|
43
43
|
parsing and comparisons by programs. The LIBCURL_VERSION_NUM define always
|
|
@@ -56,9 +56,8 @@
|
|
|
56
56
|
|
|
57
57
|
Note: This define is the full hex number and _does not_ use the
|
|
58
58
|
CURL_VERSION_BITS() macro since curl's own configure script greps for it
|
|
59
|
-
and needs it to contain the full number.
|
|
60
|
-
|
|
61
|
-
#define LIBCURL_VERSION_NUM 0x081500
|
|
59
|
+
and needs it to contain the full number. */
|
|
60
|
+
#define LIBCURL_VERSION_NUM 0x081600
|
|
62
61
|
|
|
63
62
|
/*
|
|
64
63
|
* This is the date and time when the full source package was created. The
|
|
@@ -69,7 +68,7 @@
|
|
|
69
68
|
*
|
|
70
69
|
* "2007-11-23"
|
|
71
70
|
*/
|
|
72
|
-
#define LIBCURL_TIMESTAMP "2026-
|
|
71
|
+
#define LIBCURL_TIMESTAMP "2026-09-02"
|
|
73
72
|
|
|
74
73
|
#define CURL_VERSION_BITS(x, y, z) ((x) << 16 | (y) << 8 | (z))
|
|
75
74
|
#define CURL_AT_LEAST_VERSION(x, y, z) \
|
|
@@ -24,20 +24,20 @@
|
|
|
24
24
|
*
|
|
25
25
|
***************************************************************************/
|
|
26
26
|
/*
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
*/
|
|
27
|
+
* This is an "external" header file. Do not give away any internals here!
|
|
28
|
+
*
|
|
29
|
+
* GOALS
|
|
30
|
+
*
|
|
31
|
+
* o Enable a "pull" interface. The application that uses libcurl decides where
|
|
32
|
+
* and when to ask libcurl to get/send data.
|
|
33
|
+
*
|
|
34
|
+
* o Enable multiple simultaneous transfers in the same thread without making
|
|
35
|
+
* it complicated for the application.
|
|
36
|
+
*
|
|
37
|
+
* o Enable the application to select() on its own file descriptors and curl's
|
|
38
|
+
* file descriptors simultaneous easily.
|
|
39
|
+
*
|
|
40
|
+
*/
|
|
41
41
|
|
|
42
42
|
/*
|
|
43
43
|
* This header file should not really need to include "curl.h" since curl.h
|
|
@@ -496,6 +496,9 @@ CURLWARNING(Wcurl_easy_getinfo_err_curl_off_t,
|
|
|
496
496
|
(option) == CURLOPT_USERAGENT || \
|
|
497
497
|
(option) == CURLOPT_USERNAME || \
|
|
498
498
|
(option) == CURLOPT_AWS_SIGV4 || \
|
|
499
|
+
(option) == CURLOPT_HTTPSIG_HEADERS || \
|
|
500
|
+
(option) == CURLOPT_HTTPSIG_KEY || \
|
|
501
|
+
(option) == CURLOPT_HTTPSIG_KEYID || \
|
|
499
502
|
(option) == CURLOPT_USERPWD || \
|
|
500
503
|
(option) == CURLOPT_XOAUTH2_BEARER || \
|
|
501
504
|
0)
|
|
@@ -605,9 +608,10 @@ CURLWARNING(Wcurl_easy_getinfo_err_curl_off_t,
|
|
|
605
608
|
* == or whatsoever.
|
|
606
609
|
*/
|
|
607
610
|
|
|
608
|
-
/* XXX: should evaluate to true if expr is a pointer */
|
|
611
|
+
/* XXX: should evaluate to true if expr is a pointer or a char[] array */
|
|
609
612
|
#define curlcheck_any_ptr(expr) \
|
|
610
|
-
(sizeof(expr) == sizeof(void *)
|
|
613
|
+
(sizeof(expr) == sizeof(void *) || \
|
|
614
|
+
__builtin_types_compatible_p(__typeof__(expr), char[]))
|
|
611
615
|
|
|
612
616
|
/* evaluates to true if expr is NULL */
|
|
613
617
|
/* XXX: must not evaluate expr, so this check is not accurate */
|
|
@@ -674,7 +678,7 @@ CURLWARNING(Wcurl_easy_getinfo_err_curl_off_t,
|
|
|
674
678
|
(__builtin_types_compatible_p(__typeof__(expr), curl_off_t))
|
|
675
679
|
|
|
676
680
|
/* evaluates to true if expr is abuffer suitable for CURLOPT_ERRORBUFFER */
|
|
677
|
-
/* XXX: also check size of
|
|
681
|
+
/* XXX: also check size of a char[] array? */
|
|
678
682
|
#define curlcheck_error_buffer(expr) \
|
|
679
683
|
(curlcheck_NULL(expr) || \
|
|
680
684
|
__builtin_types_compatible_p(__typeof__(expr), char *) || \
|
|
@@ -54,7 +54,7 @@ option(CURL_USE_PKGCONFIG "Enable pkg-config to detect CURL dependencies. Defaul
|
|
|
54
54
|
|
|
55
55
|
if(CMAKE_VERSION VERSION_LESS 3.18)
|
|
56
56
|
message(STATUS "CURL: CURL-specific Find modules require "
|
|
57
|
-
"CMake 3.18 or
|
|
57
|
+
"CMake 3.18 or greater, found: ${CMAKE_VERSION}.")
|
|
58
58
|
endif()
|
|
59
59
|
|
|
60
60
|
include(CMakeFindDependencyMacro)
|
|
@@ -98,7 +98,7 @@ if("")
|
|
|
98
98
|
list(APPEND _curl_libs CURL::cares)
|
|
99
99
|
endif()
|
|
100
100
|
if("")
|
|
101
|
-
find_dependency(GSS MODULE)
|
|
101
|
+
find_dependency(GSS MODULE COMPONENTS "")
|
|
102
102
|
list(APPEND _curl_libs CURL::gss)
|
|
103
103
|
endif()
|
|
104
104
|
if("")
|
|
@@ -188,13 +188,13 @@ if(NOT TARGET CURL::libcurl)
|
|
|
188
188
|
endif()
|
|
189
189
|
|
|
190
190
|
# For compatibility with CMake's FindCURL.cmake
|
|
191
|
-
set(CURL_VERSION_STRING "8.
|
|
191
|
+
set(CURL_VERSION_STRING "8.22.0")
|
|
192
192
|
set(CURL_LIBRARIES CURL::libcurl)
|
|
193
193
|
set(CURL_LIBRARIES_PRIVATE "/Users/runner/work/crossbind/crossbind/ports/openssl/ios/ssl.xcframework/ios-arm64-simulator/libssl.a;/Users/runner/work/crossbind/crossbind/ports/openssl/ios/crypto.xcframework/ios-arm64-simulator/libcrypto.a;/Users/runner/work/crossbind/crossbind/ports/openssl/ios/crypto.xcframework/ios-arm64-simulator/libcrypto.a;/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libz.tbd")
|
|
194
194
|
set_and_check(CURL_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/include")
|
|
195
195
|
|
|
196
196
|
set(CURL_SUPPORTED_PROTOCOLS "DICT;FILE;FTP;FTPS;GOPHER;GOPHERS;HTTP;HTTPS;IMAP;IMAPS;IPFS;IPNS;MQTT;MQTTS;POP3;POP3S;RTSP;SMTP;SMTPS;TELNET;TFTP;WS;WSS")
|
|
197
|
-
set(CURL_SUPPORTED_FEATURES "alt-svc;AsynchDNS;HSTS;HTTPS-proxy;Largefile;libz;SSL;threadsafe;
|
|
197
|
+
set(CURL_SUPPORTED_FEATURES "alt-svc;AsynchDNS;HSTS;HTTPS-proxy;Largefile;libz;SSL;threadsafe;UnixSockets")
|
|
198
198
|
|
|
199
199
|
foreach(_curl_item IN LISTS CURL_SUPPORTED_PROTOCOLS CURL_SUPPORTED_FEATURES)
|
|
200
200
|
set(CURL_SUPPORTS_${_curl_item} TRUE)
|
|
@@ -15,19 +15,19 @@
|
|
|
15
15
|
# The variable CVF_VERSION must be set before calling configure_file().
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
set(PACKAGE_VERSION "8.
|
|
18
|
+
set(PACKAGE_VERSION "8.22.0")
|
|
19
19
|
|
|
20
20
|
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
|
21
21
|
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
|
22
22
|
else()
|
|
23
23
|
|
|
24
|
-
if("8.
|
|
24
|
+
if("8.22.0" MATCHES "^([0-9]+)\\.")
|
|
25
25
|
set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
|
26
26
|
if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
|
|
27
27
|
string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
|
|
28
28
|
endif()
|
|
29
29
|
else()
|
|
30
|
-
set(CVF_VERSION_MAJOR "8.
|
|
30
|
+
set(CVF_VERSION_MAJOR "8.22.0")
|
|
31
31
|
endif()
|
|
32
32
|
|
|
33
33
|
if(PACKAGE_FIND_VERSION_RANGE)
|
|
@@ -23,6 +23,10 @@
|
|
|
23
23
|
###########################################################################
|
|
24
24
|
# Find the GSS Kerberos library
|
|
25
25
|
#
|
|
26
|
+
# This module accepts optional COMPONENTS to control the GSS library flavor:
|
|
27
|
+
#
|
|
28
|
+
# - Apple
|
|
29
|
+
#
|
|
26
30
|
# Input variables:
|
|
27
31
|
#
|
|
28
32
|
# - `GSS_ROOT_DIR`: Absolute path to the root installation of GSS. (also supported as environment)
|
|
@@ -32,7 +36,7 @@
|
|
|
32
36
|
# - `GSS_FOUND`: System has GSS.
|
|
33
37
|
# - `GSS_VERSION`: Version of GSS.
|
|
34
38
|
# - `CURL::gss`: GSS library target.
|
|
35
|
-
# - `INTERFACE_CURL_GSS_FLAVOR`: Custom property. "GNU" or "MIT" if detected.
|
|
39
|
+
# - `INTERFACE_CURL_GSS_FLAVOR`: Custom property. "Apple", "GNU" or "MIT" if detected.
|
|
36
40
|
|
|
37
41
|
set(_gnu_modname "gss")
|
|
38
42
|
set(_mit_modname "mit-krb5-gssapi")
|
|
@@ -46,8 +50,12 @@ set(_gss_root_hints "${GSS_ROOT_DIR}" "$ENV{GSS_ROOT_DIR}")
|
|
|
46
50
|
set(_gss_CFLAGS "")
|
|
47
51
|
set(_gss_LIBRARY_DIRS "")
|
|
48
52
|
|
|
53
|
+
if(NOT APPLE AND GSS_FIND_COMPONENTS STREQUAL "Apple")
|
|
54
|
+
set(GSS_FIND_COMPONENTS "")
|
|
55
|
+
endif()
|
|
56
|
+
|
|
49
57
|
# Try to find library using system pkg-config if user did not specify root dir
|
|
50
|
-
if(NOT GSS_ROOT_DIR AND NOT "$ENV{GSS_ROOT_DIR}")
|
|
58
|
+
if(NOT GSS_ROOT_DIR AND NOT "$ENV{GSS_ROOT_DIR}" AND NOT GSS_FIND_COMPONENTS STREQUAL "Apple")
|
|
51
59
|
if(CURL_USE_PKGCONFIG)
|
|
52
60
|
find_package(PkgConfig QUIET)
|
|
53
61
|
pkg_search_module(_gss ${_mit_modname} ${_gnu_modname})
|
|
@@ -60,136 +68,146 @@ if(NOT GSS_ROOT_DIR AND NOT "$ENV{GSS_ROOT_DIR}")
|
|
|
60
68
|
endif()
|
|
61
69
|
|
|
62
70
|
if(NOT _gss_FOUND) # Not found by pkg-config. Let us take more traditional approach.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
find_file(_gss_configure_script NAMES "krb5-config" PATH_SUFFIXES "bin")
|
|
67
|
-
|
|
68
|
-
if(_gss_configure_script)
|
|
69
|
-
|
|
70
|
-
set(_gss_INCLUDE_DIRS "")
|
|
71
|
-
set(_gss_LIBRARIES "")
|
|
72
|
-
|
|
73
|
-
execute_process(COMMAND ${_gss_configure_script} "--cflags" "gssapi"
|
|
74
|
-
OUTPUT_VARIABLE _gss_cflags_raw
|
|
75
|
-
RESULT_VARIABLE _gss_configure_failed
|
|
76
|
-
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
77
|
-
message(STATUS "FindGSS krb5-config --cflags: ${_gss_cflags_raw}")
|
|
78
|
-
|
|
79
|
-
if(NOT _gss_configure_failed) # 0 means success
|
|
80
|
-
# Should also work in an odd case when multiple directories are given.
|
|
81
|
-
string(STRIP "${_gss_cflags_raw}" _gss_cflags_raw)
|
|
82
|
-
string(REGEX REPLACE " +-(I)" ";-\\1" _gss_cflags_raw "${_gss_cflags_raw}")
|
|
83
|
-
string(REGEX REPLACE " +-([^I][^ \\t;]*)" ";-\\1" _gss_cflags_raw "${_gss_cflags_raw}")
|
|
84
|
-
|
|
85
|
-
foreach(_flag IN LISTS _gss_cflags_raw)
|
|
86
|
-
if(_flag MATCHES "^-I")
|
|
87
|
-
string(REGEX REPLACE "^-I" "" _flag "${_flag}")
|
|
88
|
-
list(APPEND _gss_INCLUDE_DIRS "${_flag}")
|
|
89
|
-
else()
|
|
90
|
-
list(APPEND _gss_CFLAGS "${_flag}")
|
|
91
|
-
endif()
|
|
92
|
-
endforeach()
|
|
93
|
-
endif()
|
|
71
|
+
if(GSS_FIND_COMPONENTS STREQUAL "Apple")
|
|
72
|
+
find_path(_gss_INCLUDE_DIRS NAMES "GSS/gssapi.h" PATH_SUFFIXES "include")
|
|
73
|
+
find_library(_gss_LIBRARIES NAMES "GSS")
|
|
94
74
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
99
|
-
message(STATUS "FindGSS krb5-config --libs: ${_gss_lib_flags}")
|
|
100
|
-
|
|
101
|
-
if(NOT _gss_configure_failed) # 0 means success
|
|
102
|
-
# This script gives us libraries and link directories.
|
|
103
|
-
string(STRIP "${_gss_lib_flags}" _gss_lib_flags)
|
|
104
|
-
string(REGEX REPLACE " +-(L|l)" ";-\\1" _gss_lib_flags "${_gss_lib_flags}")
|
|
105
|
-
string(REGEX REPLACE " +-([^Ll][^ \\t;]*)" ";-\\1" _gss_lib_flags "${_gss_lib_flags}")
|
|
106
|
-
|
|
107
|
-
foreach(_flag IN LISTS _gss_lib_flags)
|
|
108
|
-
if(_flag MATCHES "^-l")
|
|
109
|
-
string(REGEX REPLACE "^-l" "" _flag "${_flag}")
|
|
110
|
-
list(APPEND _gss_LIBRARIES "${_flag}")
|
|
111
|
-
elseif(_flag MATCHES "^-L")
|
|
112
|
-
string(REGEX REPLACE "^-L" "" _flag "${_flag}")
|
|
113
|
-
list(APPEND _gss_LIBRARY_DIRS "${_flag}")
|
|
114
|
-
endif()
|
|
115
|
-
endforeach()
|
|
75
|
+
if(_gss_INCLUDE_DIRS AND _gss_LIBRARIES)
|
|
76
|
+
message(STATUS "Found AppleGSS: ${_gss_INCLUDE_DIRS}")
|
|
77
|
+
set(_gss_flavor "Apple")
|
|
116
78
|
endif()
|
|
79
|
+
else()
|
|
80
|
+
find_file(_gss_configure_script NAMES "krb5-config" PATH_SUFFIXES "bin" HINTS ${_gss_root_hints}
|
|
81
|
+
NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH)
|
|
82
|
+
# If not found in user-supplied directories, maybe system knows better
|
|
83
|
+
find_file(_gss_configure_script NAMES "krb5-config" PATH_SUFFIXES "bin")
|
|
117
84
|
|
|
118
|
-
|
|
119
|
-
OUTPUT_VARIABLE _gss_version
|
|
120
|
-
RESULT_VARIABLE _gss_configure_failed
|
|
121
|
-
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
122
|
-
|
|
123
|
-
# Older versions may not have the "--version" parameter. In this case we do not care.
|
|
124
|
-
if(_gss_configure_failed)
|
|
125
|
-
set(_gss_version 0)
|
|
126
|
-
else()
|
|
127
|
-
# Strip prefix string to leave the version number only
|
|
128
|
-
string(REPLACE "Kerberos 5 release " "" _gss_version "${_gss_version}")
|
|
129
|
-
endif()
|
|
85
|
+
if(_gss_configure_script)
|
|
130
86
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
RESULT_VARIABLE _gss_configure_failed
|
|
134
|
-
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
87
|
+
set(_gss_INCLUDE_DIRS "")
|
|
88
|
+
set(_gss_LIBRARIES "")
|
|
135
89
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
90
|
+
execute_process(COMMAND ${_gss_configure_script} "--cflags" "gssapi"
|
|
91
|
+
OUTPUT_VARIABLE _gss_cflags_raw
|
|
92
|
+
RESULT_VARIABLE _gss_configure_failed
|
|
93
|
+
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
94
|
+
message(STATUS "FindGSS krb5-config --cflags: ${_gss_cflags_raw}")
|
|
140
95
|
|
|
141
|
-
|
|
96
|
+
if(NOT _gss_configure_failed) # 0 means success
|
|
97
|
+
# Should also work in an odd case when multiple directories are given.
|
|
98
|
+
string(STRIP "${_gss_cflags_raw}" _gss_cflags_raw)
|
|
99
|
+
string(REGEX REPLACE " +-(I)" ";-\\1" _gss_cflags_raw "${_gss_cflags_raw}")
|
|
100
|
+
string(REGEX REPLACE " +-([^I][^ \\t;]*)" ";-\\1" _gss_cflags_raw "${_gss_cflags_raw}")
|
|
142
101
|
|
|
143
|
-
|
|
102
|
+
foreach(_flag IN LISTS _gss_cflags_raw)
|
|
103
|
+
if(_flag MATCHES "^-I")
|
|
104
|
+
string(REGEX REPLACE "^-I" "" _flag "${_flag}")
|
|
105
|
+
list(APPEND _gss_INCLUDE_DIRS "${_flag}")
|
|
106
|
+
else()
|
|
107
|
+
list(APPEND _gss_CFLAGS "${_flag}")
|
|
108
|
+
endif()
|
|
109
|
+
endforeach()
|
|
110
|
+
endif()
|
|
144
111
|
|
|
145
|
-
|
|
146
|
-
|
|
112
|
+
execute_process(COMMAND ${_gss_configure_script} "--libs" "gssapi"
|
|
113
|
+
OUTPUT_VARIABLE _gss_lib_flags
|
|
114
|
+
RESULT_VARIABLE _gss_configure_failed
|
|
115
|
+
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
116
|
+
message(STATUS "FindGSS krb5-config --libs: ${_gss_lib_flags}")
|
|
147
117
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
118
|
+
if(NOT _gss_configure_failed) # 0 means success
|
|
119
|
+
# This script gives us libraries and link directories.
|
|
120
|
+
string(STRIP "${_gss_lib_flags}" _gss_lib_flags)
|
|
121
|
+
string(REGEX REPLACE " +-(L|l)" ";-\\1" _gss_lib_flags "${_gss_lib_flags}")
|
|
122
|
+
string(REGEX REPLACE " +-([^Ll][^ \\t;]*)" ";-\\1" _gss_lib_flags "${_gss_lib_flags}")
|
|
152
123
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
list(APPEND _gss_libdir_suffixes "lib/i386")
|
|
161
|
-
set(_gss_libname "gssapi32")
|
|
124
|
+
foreach(_flag IN LISTS _gss_lib_flags)
|
|
125
|
+
if(_flag MATCHES "^-l")
|
|
126
|
+
string(REGEX REPLACE "^-l" "" _flag "${_flag}")
|
|
127
|
+
list(APPEND _gss_LIBRARIES "${_flag}")
|
|
128
|
+
elseif(_flag MATCHES "^-L")
|
|
129
|
+
string(REGEX REPLACE "^-L" "" _flag "${_flag}")
|
|
130
|
+
list(APPEND _gss_LIBRARY_DIRS "${_flag}")
|
|
162
131
|
endif()
|
|
163
|
-
|
|
164
|
-
list(APPEND _gss_libdir_suffixes "lib" "lib64") # those suffixes are not checked for HINTS
|
|
165
|
-
set(_gss_libname "gssapi_krb5")
|
|
166
|
-
endif()
|
|
132
|
+
endforeach()
|
|
167
133
|
endif()
|
|
168
|
-
else()
|
|
169
|
-
find_path(_gss_INCLUDE_DIRS NAMES "gss.h" HINTS ${_gss_root_hints} PATH_SUFFIXES "include")
|
|
170
134
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
135
|
+
execute_process(COMMAND ${_gss_configure_script} "--version"
|
|
136
|
+
OUTPUT_VARIABLE _gss_version
|
|
137
|
+
RESULT_VARIABLE _gss_configure_failed
|
|
138
|
+
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
139
|
+
|
|
140
|
+
# Older versions may not have the "--version" parameter. In this case we do not care.
|
|
141
|
+
if(_gss_configure_failed)
|
|
142
|
+
set(_gss_version 0)
|
|
143
|
+
else()
|
|
144
|
+
# Strip prefix string to leave the version number only
|
|
145
|
+
string(REPLACE "Kerberos 5 release " "" _gss_version "${_gss_version}")
|
|
175
146
|
endif()
|
|
176
|
-
endif()
|
|
177
147
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
148
|
+
execute_process(COMMAND ${_gss_configure_script} "--vendor"
|
|
149
|
+
OUTPUT_VARIABLE _gss_vendor
|
|
150
|
+
RESULT_VARIABLE _gss_configure_failed
|
|
151
|
+
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
152
|
+
|
|
153
|
+
# Older versions may not have the "--vendor" parameter. In this case we do not care.
|
|
154
|
+
if(NOT _gss_configure_failed AND NOT _gss_vendor MATCHES "Heimdal|heimdal")
|
|
155
|
+
set(_gss_flavor "MIT") # assume a default, should not really matter
|
|
156
|
+
endif()
|
|
157
|
+
|
|
158
|
+
else() # Either there is no config script or we are on a platform that does not provide one (Windows?)
|
|
159
|
+
|
|
160
|
+
find_path(_gss_INCLUDE_DIRS NAMES "gssapi/gssapi.h" HINTS ${_gss_root_hints} PATH_SUFFIXES "include" "inc")
|
|
161
|
+
|
|
162
|
+
if(_gss_INCLUDE_DIRS) # We have found something
|
|
163
|
+
set(_gss_libdir_suffixes "")
|
|
164
|
+
|
|
165
|
+
cmake_push_check_state()
|
|
166
|
+
list(APPEND CMAKE_REQUIRED_INCLUDES "${_gss_INCLUDE_DIRS}")
|
|
167
|
+
check_include_files("gssapi/gssapi_generic.h;gssapi/gssapi_krb5.h" _gss_have_mit_headers)
|
|
168
|
+
cmake_pop_check_state()
|
|
169
|
+
|
|
170
|
+
if(_gss_have_mit_headers)
|
|
171
|
+
set(_gss_flavor "MIT")
|
|
172
|
+
if(WIN32)
|
|
173
|
+
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
174
|
+
list(APPEND _gss_libdir_suffixes "lib/AMD64")
|
|
175
|
+
set(_gss_libname "gssapi64")
|
|
176
|
+
else()
|
|
177
|
+
list(APPEND _gss_libdir_suffixes "lib/i386")
|
|
178
|
+
set(_gss_libname "gssapi32")
|
|
179
|
+
endif()
|
|
180
|
+
else()
|
|
181
|
+
list(APPEND _gss_libdir_suffixes "lib" "lib64") # those suffixes are not checked for HINTS
|
|
182
|
+
set(_gss_libname "gssapi_krb5")
|
|
183
|
+
endif()
|
|
184
|
+
endif()
|
|
183
185
|
else()
|
|
184
|
-
|
|
186
|
+
find_path(_gss_INCLUDE_DIRS NAMES "gss.h" HINTS ${_gss_root_hints} PATH_SUFFIXES "include")
|
|
187
|
+
|
|
188
|
+
if(_gss_INCLUDE_DIRS)
|
|
189
|
+
set(_gss_flavor "GNU")
|
|
190
|
+
set(_gss_pc_requires ${_gnu_modname})
|
|
191
|
+
set(_gss_libname "gss")
|
|
192
|
+
endif()
|
|
185
193
|
endif()
|
|
186
|
-
list(APPEND _gss_libdir_hints ${_gss_calculated_potential_root})
|
|
187
194
|
|
|
188
|
-
|
|
195
|
+
# If we have headers, look up libraries
|
|
196
|
+
if(_gss_flavor)
|
|
197
|
+
set(_gss_libdir_hints ${_gss_root_hints})
|
|
198
|
+
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.20)
|
|
199
|
+
cmake_path(GET _gss_INCLUDE_DIRS PARENT_PATH _gss_calculated_potential_root)
|
|
200
|
+
else()
|
|
201
|
+
get_filename_component(_gss_calculated_potential_root "${_gss_INCLUDE_DIRS}" DIRECTORY)
|
|
202
|
+
endif()
|
|
203
|
+
list(APPEND _gss_libdir_hints ${_gss_calculated_potential_root})
|
|
204
|
+
|
|
205
|
+
find_library(_gss_LIBRARIES NAMES ${_gss_libname} HINTS ${_gss_libdir_hints} PATH_SUFFIXES ${_gss_libdir_suffixes})
|
|
206
|
+
endif()
|
|
189
207
|
endif()
|
|
190
208
|
endif()
|
|
191
209
|
if(NOT _gss_flavor)
|
|
192
|
-
message(FATAL_ERROR "GNU or
|
|
210
|
+
message(FATAL_ERROR "MIT, GNU or Apple GSS is required")
|
|
193
211
|
endif()
|
|
194
212
|
else()
|
|
195
213
|
if(_gss_MODULE_NAME STREQUAL _gnu_modname)
|
|
@@ -199,7 +217,7 @@ else()
|
|
|
199
217
|
set(_gss_flavor "MIT")
|
|
200
218
|
set(_gss_pc_requires ${_mit_modname})
|
|
201
219
|
else()
|
|
202
|
-
message(FATAL_ERROR "GNU or
|
|
220
|
+
message(FATAL_ERROR "MIT, GNU or Apple GSS is required")
|
|
203
221
|
endif()
|
|
204
222
|
message(STATUS "Found GSS/${_gss_flavor} (via pkg-config): ${_gss_INCLUDE_DIRS} (found version \"${_gss_version}\")")
|
|
205
223
|
endif()
|
|
@@ -46,6 +46,7 @@ endif()
|
|
|
46
46
|
if(_libgsasl_FOUND)
|
|
47
47
|
set(Libgsasl_FOUND TRUE)
|
|
48
48
|
set(LIBGSASL_FOUND TRUE)
|
|
49
|
+
set(LIBGSASL_VERSION ${_libgsasl_VERSION})
|
|
49
50
|
message(STATUS "Found Libgsasl (via pkg-config): ${_libgsasl_INCLUDE_DIRS} (found version \"${LIBGSASL_VERSION}\")")
|
|
50
51
|
else()
|
|
51
52
|
find_path(LIBGSASL_INCLUDE_DIR NAMES "gsasl.h")
|