fix(net): pin exact wreq and wreq-util versions for stealth build (#235)
wreq and wreq-util are pre-release crates whose public API shifts between rc releases. The caret version requirements let a fresh resolve pull a newer rc where CertStore moved out of tls, cert_store was renamed to tls_cert_store, and the Emulation builder changed. That broke cargo build --features stealth (issue #234). Pin to =6.0.0-rc.28 and =3.0.0-rc.10, the versions wreq_client.rs is written against, so the build always resolves to a compatible API.
This commit is contained in:
1 parent
07c6e735fa
commit
387c74f26a
1 file changed
+8
-3
@@ -18,14 +18,19 @@ thiserror = { workspace = true }
|
|||||||
async-trait = "0.1"
|
async-trait = "0.1"
|
||||||
encoding_rs = "0.8"
|
encoding_rs = "0.8"
|
||||||
tempfile = "3"
|
tempfile = "3"
|
||||||
wreq-util = { version = "3.0.0-rc.10", optional = true }
|
# wreq and wreq-util are pre-release crates whose API changes between rc builds
|
||||||
|
# (CertStore moved out of `tls`, `cert_store` renamed to `tls_cert_store`, the
|
||||||
|
# Emulation builder reshuffled). A caret requirement let a fresh resolve pull a
|
||||||
|
# newer, incompatible rc and broke `cargo build --features stealth` (issue #234).
|
||||||
|
# Pin exact versions so the build always resolves to the API wreq_client.rs targets.
|
||||||
|
wreq-util = { version = "=3.0.0-rc.10", optional = true }
|
||||||
|
|
||||||
# `prefix-symbols` renames BoringSSL exports to avoid clashes with system OpenSSL,
|
# `prefix-symbols` renames BoringSSL exports to avoid clashes with system OpenSSL,
|
||||||
# but the renaming is only correct on Linux and Android (per wreq's README).
|
# but the renaming is only correct on Linux and Android (per wreq's README).
|
||||||
# Enabling it on other platforms produces unresolved `build_script_main_*`
|
# Enabling it on other platforms produces unresolved `build_script_main_*`
|
||||||
# symbols at link time (see issue #39).
|
# symbols at link time (see issue #39).
|
||||||
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies]
|
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies]
|
||||||
wreq = { version = "6.0.0-rc.28", optional = true, features = ["prefix-symbols", "socks"] }
|
wreq = { version = "=6.0.0-rc.28", optional = true, features = ["prefix-symbols", "socks"] }
|
||||||
|
|
||||||
[target.'cfg(not(any(target_os = "linux", target_os = "android")))'.dependencies]
|
[target.'cfg(not(any(target_os = "linux", target_os = "android")))'.dependencies]
|
||||||
wreq = { version = "6.0.0-rc.28", optional = true, features = ["socks"] }
|
wreq = { version = "=6.0.0-rc.28", optional = true, features = ["socks"] }
|
||||||
Reference in new issue
Block a user