Commit: ea84adb43bf4ee21f315f19d0cdb63beb9bd660a
Parent: 91667c608d8f9cc789e1c16dff4add12f938131b
Author: Michael Forney
Date: Fri, 15 May 2026 01:04:15 -0700
curl: Update to our own branch with 8.20.0 and bearssl
Diffstat:
10 files changed, 42 insertions(+), 82 deletions(-)
diff --git a/.gitmodules b/.gitmodules
@@ -14,6 +14,9 @@
[submodule "pkg/cproc/src"]
path = pkg/cproc/src
url = https://git.sr.ht/~mcf/cproc
+[submodule "pkg/curl/src"]
+ path = pkg/curl/src
+ url = https://github.com/oasislinux/curl.git
[submodule "pkg/fspec-sync/src"]
path = pkg/fspec-sync/src
url = https://github.com/oasislinux/fspec-sync.git
diff --git a/dist/.gitignore b/dist/.gitignore
@@ -1,4 +1,3 @@
-/curl-8.14.1.tar.gz
/git-manpages-2.54.0.tar.gz
/hyx-2026.01.11.tar.xz
/less-643.tar.gz
diff --git a/pkg/curl/.gitignore b/pkg/curl/.gitignore
@@ -1 +0,0 @@
-/src
diff --git a/pkg/curl/curl_config.h b/pkg/curl/curl_config.h
@@ -1,7 +1,9 @@
#define CURL_CA_BUNDLE "/etc/ssl/cert.pem"
/* #undef CURL_CA_FALLBACK */
+/* #undef CURL_CA_NATIVE */
/* #undef CURL_CA_PATH */
/* #undef CURL_CA_SEARCH_SAFE */
+/* #undef CURL_DEBUG_GLOBAL_MEM */
/* #undef CURL_DEFAULT_SSL_BACKEND */
/* #undef CURL_DISABLE_ALTSVC */
/* #undef CURL_DISABLE_AWS */
@@ -32,7 +34,6 @@
/* #undef CURL_DISABLE_MQTT */
/* #undef CURL_DISABLE_NEGOTIATE_AUTH */
/* #undef CURL_DISABLE_NETRC */
-/* #undef CURL_DISABLE_NTLM */
/* #undef CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG */
/* #undef CURL_DISABLE_PARSEDATE */
#define CURL_DISABLE_POP3 1
@@ -41,19 +42,20 @@
/* #undef CURL_DISABLE_RTSP */
/* #undef CURL_DISABLE_SHA512_256 */
/* #undef CURL_DISABLE_SHUFFLE_DNS */
-#define CURL_DISABLE_SMB 1
/* #undef CURL_DISABLE_SMTP */
/* #undef CURL_DISABLE_SOCKETPAIR */
/* #undef CURL_DISABLE_TELNET */
/* #undef CURL_DISABLE_TFTP */
/* #undef CURL_DISABLE_VERBOSE_STRINGS */
/* #undef CURL_DISABLE_WEBSOCKETS */
+/* #undef CURL_ENABLE_NTLM */
+/* #undef CURL_ENABLE_SMB */
#define CURL_EXTERN_SYMBOL __attribute__((__visibility__("default")))
+/* #undef CURL_KRB5_VERSION */
#define CURL_OS "oasis"
/* #undef CURL_WITH_MULTI_SSL */
#define GETHOSTNAME_TYPE_ARG2 size_t
#define HAVE_ACCEPT4 1
-/* #undef HAVE_ADDRESS_FAMILY */
#define HAVE_ALARM 1
/* #undef HAVE_ARC4RANDOM */
#define HAVE_ARPA_INET_H 1
@@ -68,6 +70,7 @@
/* #undef HAVE_CLOSESOCKET */
/* #undef HAVE_CLOSESOCKET_CAMEL */
#define HAVE_DECL_FSEEKO 1
+/* #undef HAVE_DES_ECB_ENCRYPT */
#define HAVE_DIRENT_H 1
#define HAVE_DLFCN_H 1
#define HAVE_EVENTFD 1
@@ -80,7 +83,6 @@
#define HAVE_FSETXATTR 1
#define HAVE_FSETXATTR_5 1
/* #undef HAVE_FSETXATTR_6 */
-#define HAVE_FTRUNCATE 1
#define HAVE_GETADDRINFO 1
#define HAVE_GETADDRINFO_THREADSAFE 1
#define HAVE_GETEUID 1
@@ -101,6 +103,7 @@
/* #undef HAVE_GLIBC_STRERROR_R */
#define HAVE_GMTIME_R 1
/* #undef HAVE_GNUTLS_SRP */
+/* #undef HAVE_GSASL_H */
/* #undef HAVE_GSSAPI */
/* #undef HAVE_GSSAPI_GSSAPI_GENERIC_H */
/* #undef HAVE_GSSAPI_GSSAPI_H */
@@ -129,20 +132,17 @@
#define HAVE_LIBGEN_H 1
/* #undef HAVE_LIBIDN2 */
/* #undef HAVE_LIBPSL_H */
-/* #undef HAVE_LIBRTMP_RTMP_H */
/* #undef HAVE_LIBSSH */
/* #undef HAVE_LIBSSH2 */
/* #undef HAVE_LIBSSL */
-/* #undef HAVE_LIBWOLFSSH */
#define HAVE_LIBZ 1
/* #undef HAVE_LIBZSTD */
#define HAVE_LINUX_TCP_H 1
#define HAVE_LOCALE_H 1
-#define HAVE_LONGLONG 1
+#define HAVE_LOCALTIME_R 1
/* #undef HAVE_MACH_ABSOLUTE_TIME */
+/* #undef HAVE_MBEDTLS_DES_CRYPT_ECB */
#define HAVE_MEMRCHR 1
-#define HAVE_MSG_NOSIGNAL 1
-/* #undef HAVE_MSH3_H */
#define HAVE_NETDB_H 1
/* #undef HAVE_NETINET_IN6_H */
#define HAVE_NETINET_IN_H 1
@@ -153,7 +153,6 @@
/* #undef HAVE_NGHTTP3_NGHTTP3_H */
/* #undef HAVE_NGTCP2_NGTCP2_CRYPTO_H */
/* #undef HAVE_NGTCP2_NGTCP2_H */
-/* #undef HAVE_OLD_GSSMIT */
#define HAVE_OPENDIR 1
/* #undef HAVE_OPENSSL_CRYPTO_H */
/* #undef HAVE_OPENSSL_ERR_H */
@@ -161,14 +160,12 @@
/* #undef HAVE_OPENSSL_RSA_H */
/* #undef HAVE_OPENSSL_SRP */
/* #undef HAVE_OPENSSL_SSL_H */
-/* #undef HAVE_OPENSSL_X509_H */
#define HAVE_PIPE 1
#define HAVE_PIPE2 1
#define HAVE_POLL 1
#define HAVE_POLL_H 1
#define HAVE_POSIX_STRERROR_R 1
/* #undef HAVE_PROTO_BSDSOCKET_H */
-#define HAVE_PTHREAD_H 1
#define HAVE_PWD_H 1
/* #undef HAVE_QUICHE_CONN_SET_QLOG_FD */
/* #undef HAVE_QUICHE_H */
@@ -181,13 +178,11 @@
#define HAVE_SENDMMSG 1
#define HAVE_SENDMSG 1
#define HAVE_SETLOCALE 1
-/* #undef HAVE_SETMODE */
#define HAVE_SETRLIMIT 1
#define HAVE_SIGACTION 1
#define HAVE_SIGINTERRUPT 1
#define HAVE_SIGNAL 1
#define HAVE_SIGSETJMP 1
-#define HAVE_SNPRINTF 1
#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
#define HAVE_SOCKET 1
#define HAVE_SOCKETPAIR 1
@@ -202,7 +197,6 @@
#define HAVE_STDLIB_H 1
#define HAVE_STRCASECMP 1
/* #undef HAVE_STRCMPI */
-#define HAVE_STRDUP 1
#define HAVE_STRERROR_R 1
/* #undef HAVE_STRICMP */
#define HAVE_STRINGS_H 1
@@ -218,16 +212,15 @@
#define HAVE_SYS_POLL_H 1
#define HAVE_SYS_RESOURCE_H 1
#define HAVE_SYS_SELECT_H 1
-#define HAVE_SYS_SOCKET_H 1
/* #undef HAVE_SYS_SOCKIO_H */
#define HAVE_SYS_STAT_H 1
-#define HAVE_SYS_TIME_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_UN_H 1
/* #undef HAVE_SYS_UTIME_H */
#define HAVE_SYS_XATTR_H 1
#define HAVE_TERMIOS_H 1
/* #undef HAVE_TERMIO_H */
+#define HAVE_THREADS_POSIX 1
/* #undef HAVE_TIME_T_UNSIGNED */
/* #undef HAVE_UNICODE_UIDNA_H */
#define HAVE_UNISTD_H 1
@@ -235,18 +228,16 @@
#define HAVE_UTIMES 1
#define HAVE_UTIME_H 1
/* #undef HAVE_UV_H */
-/* #undef HAVE_WOLFSSH_SSH_H */
+/* #undef HAVE_WC_DES_ECBENCRYPT */
/* #undef HAVE_WOLFSSL_BIO_NEW */
/* #undef HAVE_WOLFSSL_BIO_SET_SHUTDOWN */
/* #undef HAVE_WOLFSSL_CTX_GENERATEECHCONFIG */
-/* #undef HAVE_WOLFSSL_DES_ECB_ENCRYPT */
/* #undef HAVE_WOLFSSL_GET_PEER_CERTIFICATE */
/* #undef HAVE_WOLFSSL_SET_QUIC_USE_LEGACY_CODEPOINT */
/* #undef HAVE_WOLFSSL_USEALPN */
#define HAVE_WRITABLE_ARGV 1
/* #undef HAVE_ZSTD */
/* #undef HAVE_ZSTD_H */
-/* #undef HAVE__SETMODE */
#define LT_OBJDIR ".libs/"
/* #undef NEED_LBER_H */
/* #undef NEED_REENTRANT */
@@ -263,14 +254,15 @@
#define SIZEOF_CURL_SOCKET_T 4
#define SIZEOF_INT 4
/* probe SIZEOF_LONG */
-/* #undef SIZEOF_LONG_LONG */
#define SIZEOF_OFF_T 8
/* probe SIZEOF_SIZE_T */
/* probe SIZEOF_TIME_T */
#define STDC_HEADERS 1
/* #undef USE_AMISSL */
/* #undef USE_APPLE_IDN */
+/* #undef USE_APPLE_SECTRUST */
/* #undef USE_ARES */
+/* #undef USE_BACKTRACE */
#define USE_BEARSSL 1
/* #undef USE_ECH */
/* #undef USE_GNUTLS */
@@ -278,34 +270,28 @@
/* #undef USE_HTTPSRR */
#define USE_IPV6 1
/* #undef USE_LIBPSL */
-/* #undef USE_LIBRTMP */
/* #undef USE_LIBSSH */
/* #undef USE_LIBSSH2 */
/* #undef USE_LIBUV */
/* #undef USE_MBEDTLS */
-/* #undef USE_MSH3 */
/* #undef USE_NGHTTP2 */
/* #undef USE_NGHTTP3 */
/* #undef USE_NGTCP2 */
/* #undef USE_OPENLDAP */
/* #undef USE_OPENSSL */
-/* #undef USE_OPENSSL_QUIC */
/* #undef USE_QUICHE */
+/* #undef USE_RESOLV_ARES */
+#define USE_RESOLV_THREADED 1
/* #undef USE_RUSTLS */
/* #undef USE_SCHANNEL */
-/* #undef USE_SECTRANSP */
/* #undef USE_SSLS_EXPORT */
-#define USE_THREADS_POSIX 1
-/* #undef USE_THREADS_WIN32 */
/* #undef USE_TLS_SRP */
#define USE_UNIX_SOCKETS 1
/* #undef USE_WATT32 */
/* #undef USE_WIN32_CRYPTO */
/* #undef USE_WIN32_IDN */
-/* #undef USE_WIN32_LARGE_FILES */
/* #undef USE_WIN32_LDAP */
/* #undef USE_WINDOWS_SSPI */
-/* #undef USE_WOLFSSH */
/* #undef USE_WOLFSSL */
#define VERSION "-"
#ifndef _ALL_SOURCE
diff --git a/pkg/curl/gen.lua b/pkg/curl/gen.lua
@@ -45,10 +45,12 @@ lib('libcurl.a', [[
asyn-thrdd.c
bufq.c
bufref.c
+ cf-dns.c
cf-h1-proxy.c
cf-h2-proxy.c
cf-haproxy.c
cf-https-connect.c
+ cf-ip-happy.c
cf-socket.c
cfilters.c
conncache.c
@@ -57,24 +59,25 @@ lib('libcurl.a', [[
cookie.c
cshutdn.c
curl_addrinfo.c
- curl_des.c
curl_endian.c
curl_fnmatch.c
+ curl_fopen.c
curl_get_line.c
curl_gethostname.c
curl_gssapi.c
curl_memrchr.c
curl_ntlm_core.c
curl_range.c
- curl_rtmp.c
curl_sasl.c
curl_sha512_256.c
+ curl_share.c
curl_sspi.c
curl_threads.c
curl_trc.c
cw-out.c
cw-pause.c
dict.c
+ dnscache.c
doh.c
dynhds.c
easy.c
@@ -84,7 +87,6 @@ lib('libcurl.a', [[
fake_addrinfo.c
file.c
fileinfo.c
- fopen.c
formdata.c
ftp.c
ftplistparser.c
@@ -111,8 +113,6 @@ lib('libcurl.a', [[
idn.c
if2ip.c
imap.c
- inet_ntop.c
- krb5.c
ldap.c
llist.c
macos.c
@@ -124,6 +124,7 @@ lib('libcurl.a', [[
mqtt.c
multi.c
multi_ev.c
+ multi_ntfy.c
netrc.c
noproxy.c
openldap.c
@@ -131,16 +132,16 @@ lib('libcurl.a', [[
pingpong.c
pop3.c
progress.c
+ protocol.c
psl.c
rand.c
- rename.c
+ ratelimit.c
request.c
rtsp.c
select.c
sendf.c
setopt.c
sha256.c
- share.c
slist.c
smb.c
smtp.c
@@ -148,15 +149,15 @@ lib('libcurl.a', [[
socks.c
socks_gssapi.c
socks_sspi.c
- speedcheck.c
splay.c
strcase.c
- strdup.c
strequal.c
strerror.c
system_win32.c
telnet.c
tftp.c
+ thrdpool.c
+ thrdqueue.c
transfer.c
uint-bset.c
uint-hash.c
@@ -168,14 +169,22 @@ lib('libcurl.a', [[
ws.c
curlx/(
base64.c
+ basename.c
dynbuf.c
+ fopen.c
+ inet_ntop.c
inet_pton.c
multibyte.c
nonblock.c
+ snprintf.c
+ strcopy.c
+ strdup.c
+ strerr.c
strparse.c
timediff.c
timeval.c
version_win32.c
+ wait.c
warnless.c
winapi.c
)
@@ -195,18 +204,17 @@ lib('libcurl.a', [[
vauth.c
)
vtls/(
+ apple.c
bearssl.c
cipher_suite.c
gtls.c
hostcheck.c
keylog.c
mbedtls.c
- mbedtls_threadlock.c
openssl.c
rustls.c
schannel.c
schannel_verify.c
- sectransp.c
vtls.c
vtls_scache.c
vtls_spack.c
@@ -214,9 +222,7 @@ lib('libcurl.a', [[
x509asn1.c
)
vquic/(
- curl_msh3.c
curl_ngtcp2.c
- curl_osslq.c
curl_quiche.c
vquic.c
vquic-tls.c
@@ -224,8 +230,7 @@ lib('libcurl.a', [[
vssh/(
libssh.c
libssh2.c
- curl_path.c
- wolfssh.c
+ vssh.c
)
)
$builddir/pkg/bearssl/libbearssl.a
@@ -238,7 +243,6 @@ exe('curl', [[
config2setopts.c
slist_wc.c
terminal.c
- tool_bname.c
tool_cb_dbg.c
tool_cb_hdr.c
tool_cb_prg.c
@@ -268,10 +272,8 @@ exe('curl', [[
tool_parsecfg.c
tool_progress.c
tool_setopt.c
- tool_sleep.c
tool_ssls.c
tool_stderr.c
- tool_strdup.c
tool_urlglob.c
tool_util.c
tool_vms.c
@@ -279,10 +281,11 @@ exe('curl', [[
tool_writeout_json.c
tool_xattr.c
var.c
+ toolx/(tool_time.c)
)
libcurl.a.d
]])
file('bin/curl', '755', '$outdir/curl')
-fetch 'curl'
+fetch 'git'
diff --git a/pkg/curl/patch/0001-bearssl-Remove-unnecessary-CA-blob-length-check.patch b/pkg/curl/patch/0001-bearssl-Remove-unnecessary-CA-blob-length-check.patch
@@ -1,29 +0,0 @@
-From e81451b1773b64d19392a4802b178b7b0f325b2a Mon Sep 17 00:00:00 2001
-From: Michael Forney <mforney@mforney.org>
-Date: Mon, 15 Nov 2021 13:10:02 -0800
-Subject: [PATCH] bearssl: Remove unnecessary CA blob length check
-
-BearSSL APIs take a size_t length parameter, so unlike OpenSSL,
-there is no conversion to int and no reason to check that it's less
-than INT_MAX.
----
- lib/vtls/bearssl.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/lib/vtls/bearssl.c b/lib/vtls/bearssl.c
-index 4b65244..0590d91 100644
---- a/lib/vtls/bearssl.c
-+++ b/lib/vtls/bearssl.c
-@@ -135,9 +135,6 @@ static CURLcode load_cafile(struct cafile_source *source,
- return CURLE_SSL_CACERT_BADFILE;
- }
-
-- if(source->type == CAFILE_SOURCE_BLOB && source->len > (size_t)INT_MAX)
-- return CURLE_SSL_CACERT_BADFILE;
--
- ca.err = CURLE_OK;
- ca.in_cert = FALSE;
- ca.anchors = NULL;
---
-2.49.0
-
diff --git a/pkg/curl/sha256 b/pkg/curl/sha256
@@ -1 +0,0 @@
-6766ada7101d292b42b8b15681120acd68effa4a9660935853cf6d61f0d984d4 curl-8.14.1.tar.gz
diff --git a/pkg/curl/src b/pkg/curl/src
@@ -0,0 +1 @@
+Subproject commit e47c93992c1d517477c7304cb48d23d6a79b3b0c
diff --git a/pkg/curl/url b/pkg/curl/url
@@ -1 +0,0 @@
-url = "https://curl.se/download/curl-8.14.1.tar.gz"
diff --git a/pkg/curl/ver b/pkg/curl/ver
@@ -1 +1 @@
-8.14.1 r1
+8.20.0