Skip to content

Commit 7490eda

Browse files
committed
Merge branch 'main' into mime
2 parents 8487da6 + 742fe88 commit 7490eda

File tree

8 files changed

+54
-45
lines changed

8 files changed

+54
-45
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
target: x86_64-unknown-linux-gnu
2222
- build: ubuntu-lts
2323
os: ubuntu-24.04
24-
rust: 1.75
24+
rust: '1.80'
2525
docker: linux64
2626
target: x86_64-unknown-linux-gnu
2727
- build: x86_64-beta

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "curl"
3-
version = "0.4.47"
3+
version = "0.4.48"
44
authors = ["Alex Crichton <[email protected]>"]
55
license = "MIT"
66
repository = "https://github.com/alexcrichton/curl-rust"

ci/run.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ if [ -z "$NO_RUN" ]; then
3030
cargo test --target $TARGET --features static-curl $features
3131
cargo test --target $TARGET --features static-curl,protocol-ftp $features
3232
cargo test --target $TARGET --features static-curl,mime $features
33+
cargo test --target $TARGET --features static-curl,http2 $features
3334

3435
# Note that `-Clink-dead-code` is passed here to suppress `--gc-sections` to
3536
# help confirm that we're compiling everything necessary for curl itself.

curl-sys/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "curl-sys"
3-
version = "0.4.80+curl-8.12.1"
3+
version = "0.4.82+curl-8.14.1"
44
authors = ["Alex Crichton <[email protected]>"]
55
links = "curl"
66
build = "build.rs"
@@ -22,7 +22,7 @@ libc = "0.2.2"
2222
libnghttp2-sys = { optional = true, version = "0.1.3" }
2323

2424
[dependencies.rustls-ffi]
25-
version = "0.14"
25+
version = "0.15"
2626
optional = true
2727
features = ["no_log_capture"]
2828

curl-sys/build.rs

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ fn main() {
108108
.replace("@LIBCURL_LIBS@", "")
109109
.replace("@SUPPORT_FEATURES@", "")
110110
.replace("@SUPPORT_PROTOCOLS@", "")
111-
.replace("@CURLVERSION@", "8.12.1"),
111+
.replace("@CURLVERSION@", "8.14.1"),
112112
)
113113
.unwrap();
114114

@@ -138,30 +138,39 @@ fn main() {
138138
.define("HAVE_LIBZ", None)
139139
.define("HAVE_BOOL_T", None)
140140
.define("HAVE_STDBOOL_H", None)
141-
.file("curl/lib/asyn-thread.c")
142141
.file("curl/lib/altsvc.c")
143-
.file("curl/lib/base64.c")
142+
.file("curl/lib/asyn-base.c")
143+
.file("curl/lib/asyn-thrdd.c")
144144
.file("curl/lib/bufq.c")
145145
.file("curl/lib/bufref.c")
146-
.file("curl/lib/cfilters.c")
147146
.file("curl/lib/cf-h1-proxy.c")
148147
.file("curl/lib/cf-haproxy.c")
149148
.file("curl/lib/cf-https-connect.c")
150149
.file("curl/lib/cf-socket.c")
150+
.file("curl/lib/cfilters.c")
151151
.file("curl/lib/conncache.c")
152152
.file("curl/lib/connect.c")
153153
.file("curl/lib/content_encoding.c")
154154
.file("curl/lib/cookie.c")
155+
.file("curl/lib/cshutdn.c")
155156
.file("curl/lib/curl_addrinfo.c")
156157
.file("curl/lib/curl_get_line.c")
157158
.file("curl/lib/curl_memrchr.c")
158159
.file("curl/lib/curl_range.c")
159160
.file("curl/lib/curl_sha512_256.c")
160161
.file("curl/lib/curl_threads.c")
161162
.file("curl/lib/curl_trc.c")
163+
.file("curl/lib/curlx/base64.c")
164+
.file("curl/lib/curlx/dynbuf.c")
165+
.file("curl/lib/curlx/inet_pton.c")
166+
.file("curl/lib/curlx/nonblock.c")
167+
.file("curl/lib/curlx/strparse.c")
168+
.file("curl/lib/curlx/timediff.c")
169+
.file("curl/lib/curlx/timeval.c")
170+
.file("curl/lib/curlx/warnless.c")
162171
.file("curl/lib/cw-out.c")
172+
.file("curl/lib/cw-pause.c")
163173
.file("curl/lib/doh.c")
164-
.file("curl/lib/dynbuf.c")
165174
.file("curl/lib/dynhds.c")
166175
.file("curl/lib/easy.c")
167176
.file("curl/lib/escape.c")
@@ -174,7 +183,6 @@ fn main() {
174183
.file("curl/lib/hash.c")
175184
.file("curl/lib/headers.c")
176185
.file("curl/lib/hmac.c")
177-
.file("curl/lib/hostasyn.c")
178186
.file("curl/lib/hostip.c")
179187
.file("curl/lib/hostip6.c")
180188
.file("curl/lib/hsts.c")
@@ -187,16 +195,15 @@ fn main() {
187195
.file("curl/lib/idn.c")
188196
.file("curl/lib/if2ip.c")
189197
.file("curl/lib/inet_ntop.c")
190-
.file("curl/lib/inet_pton.c")
191198
.file("curl/lib/llist.c")
199+
.file("curl/lib/macos.c")
192200
.file("curl/lib/md5.c")
193201
.file("curl/lib/mime.c")
194-
.file("curl/lib/macos.c")
195202
.file("curl/lib/mprintf.c")
196203
.file("curl/lib/mqtt.c")
197204
.file("curl/lib/multi.c")
205+
.file("curl/lib/multi_ev.c")
198206
.file("curl/lib/netrc.c")
199-
.file("curl/lib/nonblock.c")
200207
.file("curl/lib/noproxy.c")
201208
.file("curl/lib/parsedate.c")
202209
.file("curl/lib/progress.c")
@@ -209,35 +216,34 @@ fn main() {
209216
.file("curl/lib/sha256.c")
210217
.file("curl/lib/share.c")
211218
.file("curl/lib/slist.c")
212-
.file("curl/lib/socks.c")
213219
.file("curl/lib/socketpair.c")
220+
.file("curl/lib/socks.c")
214221
.file("curl/lib/speedcheck.c")
215222
.file("curl/lib/splay.c")
216223
.file("curl/lib/strcase.c")
217224
.file("curl/lib/strdup.c")
225+
.file("curl/lib/strequal.c")
218226
.file("curl/lib/strerror.c")
219-
.file("curl/lib/strparse.c")
220-
.file("curl/lib/strtok.c")
221-
.file("curl/lib/strtoofft.c")
222-
.file("curl/lib/timeval.c")
223227
.file("curl/lib/transfer.c")
228+
.file("curl/lib/uint-bset.c")
229+
.file("curl/lib/uint-hash.c")
230+
.file("curl/lib/uint-spbset.c")
231+
.file("curl/lib/uint-table.c")
224232
.file("curl/lib/url.c")
225233
.file("curl/lib/urlapi.c")
226-
.file("curl/lib/version.c")
227234
.file("curl/lib/vauth/digest.c")
228235
.file("curl/lib/vauth/vauth.c")
236+
.file("curl/lib/version.c")
229237
.file("curl/lib/vquic/curl_msh3.c")
230238
.file("curl/lib/vquic/curl_ngtcp2.c")
231239
.file("curl/lib/vquic/curl_osslq.c")
232240
.file("curl/lib/vquic/curl_quiche.c")
233-
.file("curl/lib/vquic/vquic.c")
234241
.file("curl/lib/vquic/vquic-tls.c")
242+
.file("curl/lib/vquic/vquic.c")
235243
.file("curl/lib/vtls/hostcheck.c")
236244
.file("curl/lib/vtls/keylog.c")
237245
.file("curl/lib/vtls/vtls.c")
238246
.file("curl/lib/vtls/vtls_scache.c")
239-
.file("curl/lib/warnless.c")
240-
.file("curl/lib/timediff.c")
241247
.file("curl/lib/ws.c")
242248
.define("HAVE_GETADDRINFO", None)
243249
.define("HAVE_GETPEERNAME", None)
@@ -296,6 +302,7 @@ fn main() {
296302
cfg.define("USE_RUSTLS", None)
297303
.file("curl/lib/vtls/cipher_suite.c")
298304
.file("curl/lib/vtls/rustls.c")
305+
.file("curl/lib/vtls/x509asn1.c")
299306
.include(env::var_os("DEP_RUSTLS_FFI_INCLUDE").unwrap());
300307
} else if cfg!(feature = "windows-static-ssl") {
301308
if windows {
@@ -362,9 +369,10 @@ fn main() {
362369
.define("USE_WINSOCK", None)
363370
.file("curl/lib/bufref.c")
364371
.file("curl/lib/system_win32.c")
365-
.file("curl/lib/version_win32.c")
366372
.file("curl/lib/vauth/digest_sspi.c")
367-
.file("curl/lib/curl_multibyte.c");
373+
.file("curl/lib/curlx/multibyte.c")
374+
.file("curl/lib/curlx/version_win32.c")
375+
.file("curl/lib/curlx/winapi.c");
368376

369377
if cfg!(feature = "spnego") {
370378
cfg.file("curl/lib/vauth/spnego_sspi.c");

curl-sys/curl

Submodule curl updated 1599 files

src/easy/handler.rs

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -682,22 +682,17 @@ impl<H: Handler> Easy2<H> {
682682

683683
#[cfg(need_openssl_probe)]
684684
fn ssl_configure(&mut self) {
685-
use std::sync::Once;
686-
687-
static mut PROBE: Option<::openssl_probe::ProbeResult> = None;
688-
static INIT: Once = Once::new();
685+
use std::sync::LazyLock;
689686

690687
// Probe for certificate stores the first time an easy handle is created,
691688
// and re-use the results for subsequent handles.
692-
INIT.call_once(|| unsafe {
693-
PROBE = Some(::openssl_probe::probe());
694-
});
695-
let probe = unsafe { PROBE.as_ref().unwrap() };
689+
static PROBE: LazyLock<openssl_probe::ProbeResult> =
690+
LazyLock::new(|| openssl_probe::probe());
696691

697-
if let Some(ref path) = probe.cert_file {
692+
if let Some(ref path) = PROBE.cert_file {
698693
let _ = self.cainfo(path);
699694
}
700-
if let Some(ref path) = probe.cert_dir {
695+
if let Some(ref path) = PROBE.cert_dir {
701696
let _ = self.capath(path);
702697
}
703698
}

systest/build.rs

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,7 @@ fn main() {
7272
cfg.skip_const(move |s| {
7373
if version < (8, 10) {
7474
match s {
75-
"CURLVERSION_TWELFTH"
76-
| "CURLVERSION_NOW"
77-
| "CURLOPT_WRITEINFO"
78-
| "CURLOPT_CLOSEPOLICY" => return true,
75+
"CURLVERSION_TWELFTH" | "CURLVERSION_NOW" => return true,
7976
_ => {}
8077
}
8178
}
@@ -261,12 +258,20 @@ fn main() {
261258
}
262259
}
263260

264-
// OSX doesn't have this yet
265-
s == "CURLSSLOPT_NO_REVOKE" ||
266-
267-
// A lot of curl versions doesn't support unix sockets
268-
s == "CURLOPT_UNIX_SOCKET_PATH" || s == "CURL_VERSION_UNIX_SOCKETS" || s ==
269-
"CURLOPT_ABSTRACT_UNIX_SOCKET"
261+
match s {
262+
// OSX doesn't have this yet
263+
"CURLSSLOPT_NO_REVOKE"
264+
// A lot of curl versions doesn't support unix sockets
265+
| "CURLOPT_UNIX_SOCKET_PATH"
266+
| "CURL_VERSION_UNIX_SOCKETS"
267+
| "CURLOPT_ABSTRACT_UNIX_SOCKET"
268+
// These two are deprecated, and their value changed in 8.10.
269+
// Systest generates deprecated warnings which isn't helpful.
270+
// These should be removed in the next semver major bump.
271+
| "CURLOPT_WRITEINFO"
272+
| "CURLOPT_CLOSEPOLICY" => true,
273+
_ => false,
274+
}
270275
});
271276

272277
if cfg!(target_env = "msvc") {

0 commit comments

Comments
 (0)