Switch reqwest to use rustls

We need to specify the rustls dependency explicitly configured with the
required feature/provider which in this case is ring. Without this the
selection of TLS back end can fail for HTTPS as rustls crate mandates
that either of ring or aws-lc-rs be selected explicitly via feature
flags or code.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2500>
This commit is contained in:
Sanchayan Maity 2025-08-28 18:02:42 +05:30
parent 020efadd1f
commit fe23979a9a
6 changed files with 29 additions and 26 deletions

41
Cargo.lock generated
View file

@ -2878,6 +2878,7 @@ dependencies = [
"gstreamer-audio",
"gstreamer-base",
"reqwest 0.12.23",
"rustls 0.23.31",
"serde",
"serde_json",
"tokio",
@ -3288,6 +3289,7 @@ dependencies = [
"mime",
"pin-project-lite",
"reqwest 0.12.23",
"rustls 0.23.31",
"tokio",
"url",
]
@ -3663,6 +3665,7 @@ dependencies = [
"rand 0.9.2",
"regex",
"reqwest 0.12.23",
"rustls 0.23.31",
"serde",
"serde_json",
"thiserror 2.0.16",
@ -3731,6 +3734,7 @@ dependencies = [
"gstreamer-webrtc",
"parse_link_header",
"reqwest 0.12.23",
"rustls 0.23.31",
"tokio",
]
@ -4576,6 +4580,7 @@ dependencies = [
"tokio",
"tokio-rustls 0.26.2",
"tower-service",
"webpki-roots 1.0.2",
]
[[package]]
@ -4591,22 +4596,6 @@ dependencies = [
"tokio-native-tls",
]
[[package]]
name = "hyper-tls"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
dependencies = [
"bytes",
"http-body-util",
"hyper 1.7.0",
"hyper-util",
"native-tls",
"tokio",
"tokio-native-tls",
"tower-service",
]
[[package]]
name = "hyper-util"
version = "0.1.16"
@ -6835,7 +6824,7 @@ dependencies = [
"http-body 0.4.6",
"hyper 0.14.32",
"hyper-rustls 0.24.2",
"hyper-tls 0.5.0",
"hyper-tls",
"ipnet",
"js-sys",
"log",
@ -6859,7 +6848,7 @@ dependencies = [
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
"webpki-roots",
"webpki-roots 0.25.4",
"winreg",
]
@ -6884,21 +6873,21 @@ dependencies = [
"http-body-util",
"hyper 1.7.0",
"hyper-rustls 0.27.7",
"hyper-tls 0.6.0",
"hyper-util",
"js-sys",
"log",
"mime",
"native-tls",
"percent-encoding",
"pin-project-lite",
"quinn",
"rustls 0.23.31",
"rustls-pki-types",
"serde",
"serde_json",
"serde_urlencoded",
"sync_wrapper 1.0.2",
"tokio",
"tokio-native-tls",
"tokio-rustls 0.26.2",
"tokio-util",
"tower",
"tower-http",
@ -6907,6 +6896,7 @@ dependencies = [
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
"webpki-roots 1.0.2",
]
[[package]]
@ -9002,6 +8992,15 @@ version = "0.25.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
[[package]]
name = "webpki-roots"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2"
dependencies = [
"rustls-pki-types",
]
[[package]]
name = "weezl"
version = "0.1.10"

View file

@ -17,7 +17,8 @@ tokio = { version = "1", features = [ "full" ] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
anyhow = "1"
reqwest = { version = "0.12" }
reqwest = { version = "0.12", default-features = false, features = ["charset", "http2", "system-proxy", "rustls-tls"] }
rustls = { version = "0.23", default-features = false, features = ["std", "ring"] }
[lib]
name = "gstelevenlabs"

View file

@ -10,7 +10,8 @@ rust-version.workspace = true
[dependencies]
url = "2.1"
reqwest = { version = "0.12", features = ["cookies", "gzip"] }
reqwest = { version = "0.12", default-features = false, features = ["charset", "http2", "system-proxy", "rustls-tls", "cookies", "gzip"] }
rustls = { version = "0.23", default-features = false, features = ["std", "ring"] }
futures = "0.3"
headers = "0.4"
mime = "0.3"

View file

@ -53,7 +53,8 @@ aws-sdk-kinesisvideosignaling = { version = "~1.61.0", optional = true }
http = { version = "1.0", optional = true }
data-encoding = {version = "2.3.3", optional = true }
url-escape = { version = "0.1.1", optional = true }
reqwest = { version = "0.12", features = ["default-tls"], optional = true }
reqwest = { version = "0.12", default-features = false, features = ["charset", "http2", "system-proxy", "rustls-tls"], optional = true }
rustls = { version = "0.23", default-features = false, features = ["std", "ring"] }
parse_link_header = {version = "0.4", features = ["url"]}
async-recursion = { version = "1.0.0", optional = true }

View file

@ -14,7 +14,8 @@ rust-version.workspace = true
gst.workspace = true
gst-webrtc = { workspace = true, features = ["v1_18"] }
gst-sdp.workspace = true
reqwest = { version = "0.12", features = ["default-tls"] }
reqwest = { version = "0.12", default-features = false, features = ["charset", "http2", "system-proxy", "rustls-tls"] }
rustls = { version = "0.23", default-features = false, features = ["std", "ring"] }
parse_link_header = {version = "0.4", features = ["url"]}
tokio = { version = "1.20.1", default-features = false, features = ["time", "rt-multi-thread"] }
futures = "0.3.23"

View file

@ -19,7 +19,7 @@ gst-app.workspace = true
url = "2.2"
more-asserts = "0.3"
tempfile = "3"
reqwest = { version = "0.12", features = ["blocking"] }
reqwest = { version = "0.12", default-features = false, features = ["blocking", "charset", "http2", "system-proxy"] }
[lib]
name = "gsturiplaylistbin"