From d0df658201685e36b1e720cd9f9ffd82aa533fab Mon Sep 17 00:00:00 2001 From: asonix Date: Thu, 1 Feb 2024 17:28:29 -0600 Subject: [PATCH] Add rustls-channel-resolver, enable rustls 0.21 --- Cargo.lock | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ Cargo.toml | 12 ++++--- 2 files changed, 104 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e843b27..29a2da4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -28,6 +28,7 @@ dependencies = [ "actix-codec", "actix-rt", "actix-service", + "actix-tls", "actix-utils", "ahash 0.8.7", "base64", @@ -132,8 +133,10 @@ dependencies = [ "impl-more", "pin-project-lite", "tokio", + "tokio-rustls", "tokio-util", "tracing", + "webpki-roots", ] [[package]] @@ -158,6 +161,7 @@ dependencies = [ "actix-rt", "actix-server", "actix-service", + "actix-tls", "actix-utils", "ahash 0.8.7", "bytes", @@ -365,6 +369,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "rand", + "rustls", "serde", "serde_json", "serde_urlencoded", @@ -1527,6 +1532,12 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d02c0b00610773bb7fc61d85e13d86c7858cbdf00e1a120bfc41bc055dbaa0e" +[[package]] +name = "nanorand" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" + [[package]] name = "nom" version = "7.1.3" @@ -1923,6 +1934,8 @@ dependencies = [ "opentelemetry_sdk", "qrcodegen", "ructe", + "rustls", + "rustls-channel-resolver", "serde", "serde_json", "sled", @@ -2216,6 +2229,20 @@ dependencies = [ "bytecheck", ] +[[package]] +name = "ring" +version = "0.17.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" +dependencies = [ + "cc", + "getrandom", + "libc", + "spin", + "untrusted", + "windows-sys 0.48.0", +] + [[package]] name = "rkyv" version = "0.7.43" @@ -2298,6 +2325,38 @@ dependencies = [ "semver", ] +[[package]] +name = "rustls" +version = "0.21.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +dependencies = [ + "log", + "ring", + "rustls-webpki", + "sct", +] + +[[package]] +name = "rustls-channel-resolver" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de0a6bf546dc283b4c1413532d2bf53a64b3a006ee57f7ca0f4984f35841cacb" +dependencies = [ + "nanorand", + "rustls", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "rustversion" version = "1.0.14" @@ -2316,6 +2375,16 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "seahash" version = "4.1.0" @@ -2463,6 +2532,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + [[package]] name = "strsim" version = "0.10.0" @@ -2625,6 +2700,16 @@ dependencies = [ "syn 2.0.48", ] +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls", + "tokio", +] + [[package]] name = "tokio-stream" version = "0.1.14" @@ -2902,6 +2987,12 @@ dependencies = [ "tinyvec", ] +[[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" @@ -3033,6 +3124,12 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki-roots" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" + [[package]] name = "winapi" version = "0.3.9" diff --git a/Cargo.toml b/Cargo.toml index 6e946cf..a992e76 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,10 +16,11 @@ default = [] [dependencies] actix-rt = "2.7.0" -actix-web = { version = "4.0.0", default-features = false } -awc = { version = "3.0.0", default-features = false } +actix-web = { version = "4.0.0", default-features = false, features = ["rustls-0_21"] } +awc = { version = "3.0.0", default-features = false, features = ["rustls-0_21"] } bcrypt = "0.15" clap = { version = "4.0.2", features = ["derive", "env"] } +color-eyre = "0.6.2" console-subscriber = "0.2" mime = "0.3" minify-html = "0.15.0" @@ -27,6 +28,8 @@ opentelemetry = "0.21" opentelemetry_sdk = { version = "0.21", features = ["rt-tokio"] } opentelemetry-otlp = "0.14" qrcodegen = "1.7" +rustls = "0.21" +rustls-channel-resolver = "0.1.0" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" sled = { version = "0.34.7", features = ["zstd"] } @@ -44,16 +47,15 @@ tracing-subscriber = { version = "0.3", features = [ ] } url = { version = "2.2", features = ["serde"] } uuid = { version = "1", features = ["serde", "v4"] } -color-eyre = "0.6.2" [dependencies.tracing-actix-web] -version = "0.7.8" +version = "0.7.9" default-features = false features = ["emit_event_on_error", "opentelemetry_0_21"] [dependencies.tracing-awc] -version = "0.1.8" +version = "0.1.9" default-features = false features = ["opentelemetry_0_21"]