From 57e84e7bae31b6dae6aec3f96005634d0c1e713f Mon Sep 17 00:00:00 2001 From: paulobressan Date: Tue, 23 Apr 2024 20:41:01 -0300 Subject: [PATCH] feat: changed reqwest to use rusttls lib instead native --- Cargo.lock | 88 +++++++++++++++++++++++++++++++++++++++ visualizer/Cargo.toml | 2 +- visualizer/src/api/mod.rs | 3 +- 3 files changed, 90 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b7b45f2..65d2d9a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3105,6 +3105,23 @@ dependencies = [ "want", ] +[[package]] +name = "hyper-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.3.1", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", +] + [[package]] name = "hyper-tls" version = "0.6.0" @@ -4501,6 +4518,7 @@ dependencies = [ "http-body 1.0.0", "http-body-util", "hyper 1.3.1", + "hyper-rustls", "hyper-tls", "hyper-util", "ipnet", @@ -4511,7 +4529,9 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", + "rustls", "rustls-pemfile", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", @@ -4519,14 +4539,31 @@ dependencies = [ "system-configuration", "tokio", "tokio-native-tls", + "tokio-rustls", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "webpki-roots", "winreg", ] +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin 0.9.8", + "untrusted", + "windows-sys 0.52.0", +] + [[package]] name = "rocket" version = "0.5.0" @@ -4675,6 +4712,20 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "rustls" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +dependencies = [ + "log", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + [[package]] name = "rustls-pemfile" version = "2.1.2" @@ -4691,6 +4742,17 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" +[[package]] +name = "rustls-webpki" +version = "0.102.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + [[package]] name = "rustversion" version = "1.0.15" @@ -5462,6 +5524,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +dependencies = [ + "rustls", + "rustls-pki-types", + "tokio", +] + [[package]] name = "tokio-stream" version = "0.1.15" @@ -5754,6 +5827,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "url" version = "2.5.0" @@ -5942,6 +6021,15 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki-roots" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "wgpu" version = "0.19.4" diff --git a/visualizer/Cargo.toml b/visualizer/Cargo.toml index 99b5641..6081992 100644 --- a/visualizer/Cargo.toml +++ b/visualizer/Cargo.toml @@ -14,7 +14,7 @@ rand_core = "0.6" bevy_rand = { version = "0.5", features = ["rand_chacha", "wyrand"] } bevy_mod_picking = "0.18.2" serde = { version = "1.0.198", features = ["derive"] } -reqwest = { version = "0.12.4", features = ["json"] } +reqwest = { version = "0.12.4", features = ["json", "rustls-tls"] } async-compat = "0.2.3" tracing = "0.1.40" tracing-subscriber = "0.3.18" diff --git a/visualizer/src/api/mod.rs b/visualizer/src/api/mod.rs index e86220a..7102a80 100644 --- a/visualizer/src/api/mod.rs +++ b/visualizer/src/api/mod.rs @@ -45,8 +45,7 @@ struct Response { } pub async fn get_assets() -> Result, Box> { - let client = reqwest::Client::new(); - + let client = reqwest::Client::builder().use_rustls_tls().build()?; let query = r" query QueryRoot($center: PositionInput!, $radius: Int!) { objectsInRadius(center: $center, radius: $radius) {