diff --git a/Cargo.lock b/Cargo.lock index 53605f74b..cefc49705 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -81,10 +81,11 @@ dependencies = [ "futures-util", "http", "log", - "openssl", - "tokio-openssl", + "rustls", + "tokio-rustls", "trust-dns-proto", "trust-dns-resolver", + "webpki", ] [[package]] @@ -263,8 +264,10 @@ dependencies = [ "actix-service", "actix-utils", "futures-util", - "openssl", - "tokio-openssl", + "rustls", + "tokio-rustls", + "webpki", + "webpki-roots", ] [[package]] @@ -315,9 +318,9 @@ dependencies = [ "fxhash", "log", "mime", - "openssl", "pin-project", "regex", + "rustls", "serde 1.0.116", "serde_json", "serde_urlencoded", @@ -487,9 +490,9 @@ dependencies = [ "futures-core", "log", "mime", - "openssl", "percent-encoding", "rand 0.7.3", + "rustls", "serde 1.0.116", "serde_json", "serde_urlencoded", @@ -2884,6 +2887,19 @@ dependencies = [ "semver", ] +[[package]] +name = "rustls" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" +dependencies = [ + "base64 0.12.3", + "log", + "ring", + "sct", + "webpki", +] + [[package]] name = "ryu" version = "1.0.5" @@ -2927,6 +2943,16 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "sct" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3042af939fca8c3453b7af0f1c66e533a15a86169e39de2657310ade8f98d3c" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "security-framework" version = "0.4.4" @@ -3390,13 +3416,15 @@ dependencies = [ ] [[package]] -name = "tokio-openssl" -version = "0.4.0" +name = "tokio-rustls" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c4b08c5f4208e699ede3df2520aca2e82401b2de33f45e96696a074480be594" +checksum = "e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a" dependencies = [ - "openssl", + "futures-core", + "rustls", "tokio", + "webpki", ] [[package]] @@ -3774,6 +3802,25 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab146130f5f790d45f82aeeb09e55a256573373ec64409fc19a6fb82fb1032ae" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f20dea7535251981a9670857150d571846545088359b28e4951d350bdaf179f" +dependencies = [ + "webpki", +] + [[package]] name = "widestring" version = "0.4.2" diff --git a/Cargo.toml b/Cargo.toml index 70baa33ef..2545e268e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,7 +29,7 @@ chrono = { version = "0.4", features = ["serde"] } serde_json = { version = "1.0", features = ["preserve_order"]} serde = { version = "1.0", features = ["derive"] } actix = "0.10" -actix-web = { version = "3.0", default-features = false, features = ["openssl"] } +actix-web = { version = "3.0", default-features = false, features = ["rustls"] } actix-files = { version = "0.3", default-features = false } actix-web-actors = { version = "3.0", default-features = false } actix-rt = { version = "1.1", default-features = false } diff --git a/lemmy_rate_limit/Cargo.toml b/lemmy_rate_limit/Cargo.toml index c7b9e4246..a58ffe187 100644 --- a/lemmy_rate_limit/Cargo.toml +++ b/lemmy_rate_limit/Cargo.toml @@ -14,5 +14,5 @@ tokio = "0.2" strum = "0.19" strum_macros = "0.19" futures = "0.3.5" -actix-web = { version = "3.0", default-features = false, features = ["openssl"] } +actix-web = { version = "3.0", default-features = false, features = ["rustls"] } log = "0.4" diff --git a/lemmy_utils/Cargo.toml b/lemmy_utils/Cargo.toml index cb7ffd508..9ff9d7d34 100644 --- a/lemmy_utils/Cargo.toml +++ b/lemmy_utils/Cargo.toml @@ -25,5 +25,5 @@ comrak = "0.8" lazy_static = "1.3" openssl = "0.10" url = { version = "2.1", features = ["serde"] } -actix-web = { version = "3.0", default-features = false, features = ["openssl"] } +actix-web = { version = "3.0", default-features = false, features = ["rustls"] } anyhow = "1.0"