commit 6bcb80e

Michael Forney  ·  2026-05-15 08:04:15 +0000 UTC
parent d83ece1
curl: Update to our own branch with 8.20.0 and bearssl
9 files changed,  +42, -81
+3, -0
 1@@ -18,6 +18,9 @@
 2 [submodule "pkg/cproc/src"]
 3 	path = pkg/cproc/src
 4 	url = https://git.sr.ht/~mcf/cproc
 5+[submodule "pkg/curl/src"]
 6+	path = pkg/curl/src
 7+	url = https://github.com/oasislinux/curl.git
 8 [submodule "pkg/dosfstools/src"]
 9 	path = pkg/dosfstools/src
10 	url = https://github.com/dosfstools/dosfstools
+0, -1
1@@ -1,2 +1 @@
2 /curl.1.gz
3-/src
+15, -29
  1@@ -1,7 +1,9 @@
  2 #define CURL_CA_BUNDLE "/etc/ssl/cert.pem"
  3 /* #undef CURL_CA_FALLBACK */
  4+/* #undef CURL_CA_NATIVE */
  5 /* #undef CURL_CA_PATH */
  6 /* #undef CURL_CA_SEARCH_SAFE */
  7+/* #undef CURL_DEBUG_GLOBAL_MEM */
  8 /* #undef CURL_DEFAULT_SSL_BACKEND */
  9 /* #undef CURL_DISABLE_ALTSVC */
 10 /* #undef CURL_DISABLE_AWS */
 11@@ -32,7 +34,6 @@
 12 /* #undef CURL_DISABLE_MQTT */
 13 /* #undef CURL_DISABLE_NEGOTIATE_AUTH */
 14 /* #undef CURL_DISABLE_NETRC */
 15-/* #undef CURL_DISABLE_NTLM */
 16 /* #undef CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG */
 17 /* #undef CURL_DISABLE_PARSEDATE */
 18 #define CURL_DISABLE_POP3 1
 19@@ -41,19 +42,20 @@
 20 /* #undef CURL_DISABLE_RTSP */
 21 /* #undef CURL_DISABLE_SHA512_256 */
 22 /* #undef CURL_DISABLE_SHUFFLE_DNS */
 23-#define CURL_DISABLE_SMB 1
 24 /* #undef CURL_DISABLE_SMTP */
 25 /* #undef CURL_DISABLE_SOCKETPAIR */
 26 /* #undef CURL_DISABLE_TELNET */
 27 /* #undef CURL_DISABLE_TFTP */
 28 /* #undef CURL_DISABLE_VERBOSE_STRINGS */
 29 /* #undef CURL_DISABLE_WEBSOCKETS */
 30+/* #undef CURL_ENABLE_NTLM */
 31+/* #undef CURL_ENABLE_SMB */
 32 #define CURL_EXTERN_SYMBOL __attribute__((__visibility__("default")))
 33+/* #undef CURL_KRB5_VERSION */
 34 #define CURL_OS "oasis"
 35 /* #undef CURL_WITH_MULTI_SSL */
 36 #define GETHOSTNAME_TYPE_ARG2 size_t
 37 #define HAVE_ACCEPT4 1
 38-/* #undef HAVE_ADDRESS_FAMILY */
 39 #define HAVE_ALARM 1
 40 /* #undef HAVE_ARC4RANDOM */
 41 #define HAVE_ARPA_INET_H 1
 42@@ -68,6 +70,7 @@
 43 /* #undef HAVE_CLOSESOCKET */
 44 /* #undef HAVE_CLOSESOCKET_CAMEL */
 45 #define HAVE_DECL_FSEEKO 1
 46+/* #undef HAVE_DES_ECB_ENCRYPT */
 47 #define HAVE_DIRENT_H 1
 48 #define HAVE_DLFCN_H 1
 49 #define HAVE_EVENTFD 1
 50@@ -80,7 +83,6 @@
 51 #define HAVE_FSETXATTR 1
 52 #define HAVE_FSETXATTR_5 1
 53 /* #undef HAVE_FSETXATTR_6 */
 54-#define HAVE_FTRUNCATE 1
 55 #define HAVE_GETADDRINFO 1
 56 #define HAVE_GETADDRINFO_THREADSAFE 1
 57 #define HAVE_GETEUID 1
 58@@ -101,6 +103,7 @@
 59 /* #undef HAVE_GLIBC_STRERROR_R */
 60 #define HAVE_GMTIME_R 1
 61 /* #undef HAVE_GNUTLS_SRP */
 62+/* #undef HAVE_GSASL_H */
 63 /* #undef HAVE_GSSAPI */
 64 /* #undef HAVE_GSSAPI_GSSAPI_GENERIC_H */
 65 /* #undef HAVE_GSSAPI_GSSAPI_H */
 66@@ -129,20 +132,17 @@
 67 #define HAVE_LIBGEN_H 1
 68 /* #undef HAVE_LIBIDN2 */
 69 /* #undef HAVE_LIBPSL_H */
 70-/* #undef HAVE_LIBRTMP_RTMP_H */
 71 /* #undef HAVE_LIBSSH */
 72 /* #undef HAVE_LIBSSH2 */
 73 /* #undef HAVE_LIBSSL */
 74-/* #undef HAVE_LIBWOLFSSH */
 75 #define HAVE_LIBZ 1
 76 /* #undef HAVE_LIBZSTD */
 77 #define HAVE_LINUX_TCP_H 1
 78 #define HAVE_LOCALE_H 1
 79-#define HAVE_LONGLONG 1
 80+#define HAVE_LOCALTIME_R 1
 81 /* #undef HAVE_MACH_ABSOLUTE_TIME */
 82+/* #undef HAVE_MBEDTLS_DES_CRYPT_ECB */
 83 #define HAVE_MEMRCHR 1
 84-#define HAVE_MSG_NOSIGNAL 1
 85-/* #undef HAVE_MSH3_H */
 86 #define HAVE_NETDB_H 1
 87 /* #undef HAVE_NETINET_IN6_H */
 88 #define HAVE_NETINET_IN_H 1
 89@@ -153,7 +153,6 @@
 90 /* #undef HAVE_NGHTTP3_NGHTTP3_H */
 91 /* #undef HAVE_NGTCP2_NGTCP2_CRYPTO_H */
 92 /* #undef HAVE_NGTCP2_NGTCP2_H */
 93-/* #undef HAVE_OLD_GSSMIT */
 94 #define HAVE_OPENDIR 1
 95 /* #undef HAVE_OPENSSL_CRYPTO_H */
 96 /* #undef HAVE_OPENSSL_ERR_H */
 97@@ -161,14 +160,12 @@
 98 /* #undef HAVE_OPENSSL_RSA_H */
 99 /* #undef HAVE_OPENSSL_SRP */
100 /* #undef HAVE_OPENSSL_SSL_H */
101-/* #undef HAVE_OPENSSL_X509_H */
102 #define HAVE_PIPE 1
103 #define HAVE_PIPE2 1
104 #define HAVE_POLL 1
105 #define HAVE_POLL_H 1
106 #define HAVE_POSIX_STRERROR_R 1
107 /* #undef HAVE_PROTO_BSDSOCKET_H */
108-#define HAVE_PTHREAD_H 1
109 #define HAVE_PWD_H 1
110 /* #undef HAVE_QUICHE_CONN_SET_QLOG_FD */
111 /* #undef HAVE_QUICHE_H */
112@@ -181,13 +178,11 @@
113 #define HAVE_SENDMMSG 1
114 #define HAVE_SENDMSG 1
115 #define HAVE_SETLOCALE 1
116-/* #undef HAVE_SETMODE */
117 #define HAVE_SETRLIMIT 1
118 #define HAVE_SIGACTION 1
119 #define HAVE_SIGINTERRUPT 1
120 #define HAVE_SIGNAL 1
121 #define HAVE_SIGSETJMP 1
122-#define HAVE_SNPRINTF 1
123 #define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
124 #define HAVE_SOCKET 1
125 #define HAVE_SOCKETPAIR 1
126@@ -202,7 +197,6 @@
127 #define HAVE_STDLIB_H 1
128 #define HAVE_STRCASECMP 1
129 /* #undef HAVE_STRCMPI */
130-#define HAVE_STRDUP 1
131 #define HAVE_STRERROR_R 1
132 /* #undef HAVE_STRICMP */
133 #define HAVE_STRINGS_H 1
134@@ -218,16 +212,15 @@
135 #define HAVE_SYS_POLL_H 1
136 #define HAVE_SYS_RESOURCE_H 1
137 #define HAVE_SYS_SELECT_H 1
138-#define HAVE_SYS_SOCKET_H 1
139 /* #undef HAVE_SYS_SOCKIO_H */
140 #define HAVE_SYS_STAT_H 1
141-#define HAVE_SYS_TIME_H 1
142 #define HAVE_SYS_TYPES_H 1
143 #define HAVE_SYS_UN_H 1
144 /* #undef HAVE_SYS_UTIME_H */
145 #define HAVE_SYS_XATTR_H 1
146 #define HAVE_TERMIOS_H 1
147 /* #undef HAVE_TERMIO_H */
148+#define HAVE_THREADS_POSIX 1
149 /* #undef HAVE_TIME_T_UNSIGNED */
150 /* #undef HAVE_UNICODE_UIDNA_H */
151 #define HAVE_UNISTD_H 1
152@@ -235,18 +228,16 @@
153 #define HAVE_UTIMES 1
154 #define HAVE_UTIME_H 1
155 /* #undef HAVE_UV_H */
156-/* #undef HAVE_WOLFSSH_SSH_H */
157+/* #undef HAVE_WC_DES_ECBENCRYPT */
158 /* #undef HAVE_WOLFSSL_BIO_NEW */
159 /* #undef HAVE_WOLFSSL_BIO_SET_SHUTDOWN */
160 /* #undef HAVE_WOLFSSL_CTX_GENERATEECHCONFIG */
161-/* #undef HAVE_WOLFSSL_DES_ECB_ENCRYPT */
162 /* #undef HAVE_WOLFSSL_GET_PEER_CERTIFICATE */
163 /* #undef HAVE_WOLFSSL_SET_QUIC_USE_LEGACY_CODEPOINT */
164 /* #undef HAVE_WOLFSSL_USEALPN */
165 #define HAVE_WRITABLE_ARGV 1
166 /* #undef HAVE_ZSTD */
167 /* #undef HAVE_ZSTD_H */
168-/* #undef HAVE__SETMODE */
169 #define LT_OBJDIR ".libs/"
170 /* #undef NEED_LBER_H */
171 /* #undef NEED_REENTRANT */
172@@ -263,14 +254,15 @@
173 #define SIZEOF_CURL_SOCKET_T 4
174 #define SIZEOF_INT 4
175 /* probe SIZEOF_LONG */
176-/* #undef SIZEOF_LONG_LONG */
177 #define SIZEOF_OFF_T 8
178 /* probe SIZEOF_SIZE_T */
179 /* probe SIZEOF_TIME_T */
180 #define STDC_HEADERS 1
181 /* #undef USE_AMISSL */
182 /* #undef USE_APPLE_IDN */
183+/* #undef USE_APPLE_SECTRUST */
184 /* #undef USE_ARES */
185+/* #undef USE_BACKTRACE */
186 #define USE_BEARSSL 1
187 /* #undef USE_ECH */
188 /* #undef USE_GNUTLS */
189@@ -278,34 +270,28 @@
190 /* #undef USE_HTTPSRR */
191 #define USE_IPV6 1
192 /* #undef USE_LIBPSL */
193-/* #undef USE_LIBRTMP */
194 /* #undef USE_LIBSSH */
195 /* #undef USE_LIBSSH2 */
196 /* #undef USE_LIBUV */
197 /* #undef USE_MBEDTLS */
198-/* #undef USE_MSH3 */
199 /* #undef USE_NGHTTP2 */
200 /* #undef USE_NGHTTP3 */
201 /* #undef USE_NGTCP2 */
202 /* #undef USE_OPENLDAP */
203 /* #undef USE_OPENSSL */
204-/* #undef USE_OPENSSL_QUIC */
205 /* #undef USE_QUICHE */
206+/* #undef USE_RESOLV_ARES */
207+#define USE_RESOLV_THREADED 1
208 /* #undef USE_RUSTLS */
209 /* #undef USE_SCHANNEL */
210-/* #undef USE_SECTRANSP */
211 /* #undef USE_SSLS_EXPORT */
212-#define USE_THREADS_POSIX 1
213-/* #undef USE_THREADS_WIN32 */
214 /* #undef USE_TLS_SRP */
215 #define USE_UNIX_SOCKETS 1
216 /* #undef USE_WATT32 */
217 /* #undef USE_WIN32_CRYPTO */
218 /* #undef USE_WIN32_IDN */
219-/* #undef USE_WIN32_LARGE_FILES */
220 /* #undef USE_WIN32_LDAP */
221 /* #undef USE_WINDOWS_SSPI */
222-/* #undef USE_WOLFSSH */
223 /* #undef USE_WOLFSSL */
224 #define VERSION "-"
225 #ifndef _ALL_SOURCE
+22, -19
  1@@ -45,10 +45,12 @@ lib('libcurl.a', [[
  2 		asyn-thrdd.c
  3 		bufq.c
  4 		bufref.c
  5+		cf-dns.c
  6 		cf-h1-proxy.c
  7 		cf-h2-proxy.c
  8 		cf-haproxy.c
  9 		cf-https-connect.c
 10+		cf-ip-happy.c
 11 		cf-socket.c
 12 		cfilters.c
 13 		conncache.c
 14@@ -57,24 +59,25 @@ lib('libcurl.a', [[
 15 		cookie.c
 16 		cshutdn.c
 17 		curl_addrinfo.c
 18-		curl_des.c
 19 		curl_endian.c
 20 		curl_fnmatch.c
 21+		curl_fopen.c
 22 		curl_get_line.c
 23 		curl_gethostname.c
 24 		curl_gssapi.c
 25 		curl_memrchr.c
 26 		curl_ntlm_core.c
 27 		curl_range.c
 28-		curl_rtmp.c
 29 		curl_sasl.c
 30 		curl_sha512_256.c
 31+		curl_share.c
 32 		curl_sspi.c
 33 		curl_threads.c
 34 		curl_trc.c
 35 		cw-out.c
 36 		cw-pause.c
 37 		dict.c
 38+		dnscache.c
 39 		doh.c
 40 		dynhds.c
 41 		easy.c
 42@@ -84,7 +87,6 @@ lib('libcurl.a', [[
 43 		fake_addrinfo.c
 44 		file.c
 45 		fileinfo.c
 46-		fopen.c
 47 		formdata.c
 48 		ftp.c
 49 		ftplistparser.c
 50@@ -111,8 +113,6 @@ lib('libcurl.a', [[
 51 		idn.c
 52 		if2ip.c
 53 		imap.c
 54-		inet_ntop.c
 55-		krb5.c
 56 		ldap.c
 57 		llist.c
 58 		macos.c
 59@@ -124,6 +124,7 @@ lib('libcurl.a', [[
 60 		mqtt.c
 61 		multi.c
 62 		multi_ev.c
 63+		multi_ntfy.c
 64 		netrc.c
 65 		noproxy.c
 66 		openldap.c
 67@@ -131,16 +132,16 @@ lib('libcurl.a', [[
 68 		pingpong.c
 69 		pop3.c
 70 		progress.c
 71+		protocol.c
 72 		psl.c
 73 		rand.c
 74-		rename.c
 75+		ratelimit.c
 76 		request.c
 77 		rtsp.c
 78 		select.c
 79 		sendf.c
 80 		setopt.c
 81 		sha256.c
 82-		share.c
 83 		slist.c
 84 		smb.c
 85 		smtp.c
 86@@ -148,15 +149,15 @@ lib('libcurl.a', [[
 87 		socks.c
 88 		socks_gssapi.c
 89 		socks_sspi.c
 90-		speedcheck.c
 91 		splay.c
 92 		strcase.c
 93-		strdup.c
 94 		strequal.c
 95 		strerror.c
 96 		system_win32.c
 97 		telnet.c
 98 		tftp.c
 99+		thrdpool.c
100+		thrdqueue.c
101 		transfer.c
102 		uint-bset.c
103 		uint-hash.c
104@@ -168,14 +169,22 @@ lib('libcurl.a', [[
105 		ws.c
106 		curlx/(
107 			base64.c
108+			basename.c
109 			dynbuf.c
110+			fopen.c
111+			inet_ntop.c
112 			inet_pton.c
113 			multibyte.c
114 			nonblock.c
115+			snprintf.c
116+			strcopy.c
117+			strdup.c
118+			strerr.c
119 			strparse.c
120 			timediff.c
121 			timeval.c
122 			version_win32.c
123+			wait.c
124 			warnless.c
125 			winapi.c
126 		)
127@@ -195,18 +204,17 @@ lib('libcurl.a', [[
128 			vauth.c
129 		)
130 		vtls/(
131+			apple.c
132 			bearssl.c
133 			cipher_suite.c
134 			gtls.c
135 			hostcheck.c
136 			keylog.c
137 			mbedtls.c
138-			mbedtls_threadlock.c
139 			openssl.c
140 			rustls.c
141 			schannel.c
142 			schannel_verify.c
143-			sectransp.c
144 			vtls.c
145 			vtls_scache.c
146 			vtls_spack.c
147@@ -214,9 +222,7 @@ lib('libcurl.a', [[
148 			x509asn1.c
149 		)
150 		vquic/(
151-			curl_msh3.c
152 			curl_ngtcp2.c
153-			curl_osslq.c
154 			curl_quiche.c
155 			vquic.c
156 			vquic-tls.c
157@@ -224,8 +230,7 @@ lib('libcurl.a', [[
158 		vssh/(
159 			libssh.c
160 			libssh2.c
161-			curl_path.c
162-			wolfssh.c
163+			vssh.c
164 		)
165 	)
166 	$builddir/pkg/bearssl/libbearssl.a
167@@ -238,7 +243,6 @@ exe('curl', [[
168 		config2setopts.c
169 		slist_wc.c
170 		terminal.c
171-		tool_bname.c
172 		tool_cb_dbg.c
173 		tool_cb_hdr.c
174 		tool_cb_prg.c
175@@ -268,10 +272,8 @@ exe('curl', [[
176 		tool_parsecfg.c
177 		tool_progress.c
178 		tool_setopt.c
179-		tool_sleep.c
180 		tool_ssls.c
181 		tool_stderr.c
182-		tool_strdup.c
183 		tool_urlglob.c
184 		tool_util.c
185 		tool_vms.c
186@@ -279,6 +281,7 @@ exe('curl', [[
187 		tool_writeout_json.c
188 		tool_xattr.c
189 		var.c
190+		toolx/(tool_time.c)
191 	)
192 	libcurl.a.d
193 ]])
194@@ -286,4 +289,4 @@ exe('curl', [[
195 file('bin/curl', '755', '$outdir/curl')
196 man{'$dir/curl.1'}
197 
198-fetch 'curl'
199+fetch 'git'
+0, -29
 1@@ -1,29 +0,0 @@
 2-From e81451b1773b64d19392a4802b178b7b0f325b2a Mon Sep 17 00:00:00 2001
 3-From: Michael Forney <mforney@mforney.org>
 4-Date: Mon, 15 Nov 2021 13:10:02 -0800
 5-Subject: [PATCH] bearssl: Remove unnecessary CA blob length check
 6-
 7-BearSSL APIs take a size_t length parameter, so unlike OpenSSL,
 8-there is no conversion to int and no reason to check that it's less
 9-than INT_MAX.
10----
11- lib/vtls/bearssl.c | 3 ---
12- 1 file changed, 3 deletions(-)
13-
14-diff --git a/lib/vtls/bearssl.c b/lib/vtls/bearssl.c
15-index 4b65244..0590d91 100644
16---- a/lib/vtls/bearssl.c
17-+++ b/lib/vtls/bearssl.c
18-@@ -135,9 +135,6 @@ static CURLcode load_cafile(struct cafile_source *source,
19-       return CURLE_SSL_CACERT_BADFILE;
20-   }
21- 
22--  if(source->type == CAFILE_SOURCE_BLOB && source->len > (size_t)INT_MAX)
23--    return CURLE_SSL_CACERT_BADFILE;
24--
25-   ca.err = CURLE_OK;
26-   ca.in_cert = FALSE;
27-   ca.anchors = NULL;
28--- 
29-2.49.0
30-
+0, -1
1@@ -1 +0,0 @@
2-f4619a1e2474c4bbfedc88a7c2191209c8334b48fa1f4e53fd584cc12e9120dd  curl-8.14.1.tar.xz
+1, -0
1@@ -0,0 +1 @@
2+Subproject commit e47c93992c1d517477c7304cb48d23d6a79b3b0c
+0, -1
1@@ -1 +0,0 @@
2-url = "https://curl.se/download/curl-8.14.1.tar.xz"
+1, -1
1@@ -1 +1 @@
2-8.14.1 r1
3+8.20.0