From df317924d260ef002a8596b303902eb8d9298e24 Mon Sep 17 00:00:00 2001 From: Tethys Svensson Date: Fri, 24 Dec 2021 09:43:20 +0100 Subject: [PATCH 1/2] Upgrade hyper-rustls --- CHANGELOG.md | 2 +- rusoto/core/Cargo.toml | 2 +- rusoto/core/src/request.rs | 28 ++++++++++++++++++++-------- 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c7c5058d76d..391114b2ff0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -(Please put changes here.) +- Update `hyper-rustls` to `0.23` ## [0.47.0] - 2021-06-29 diff --git a/rusoto/core/Cargo.toml b/rusoto/core/Cargo.toml index 07d02dc778b..5d6724a0d0e 100644 --- a/rusoto/core/Cargo.toml +++ b/rusoto/core/Cargo.toml @@ -28,7 +28,7 @@ crc32fast = "1.2" futures = "0.3" http = "0.2" hyper = { version = "0.14", features = ["client", "http1", "http2", "tcp"] } -hyper-rustls = { version = "0.22", optional = true, default-dependencies = false } +hyper-rustls = { version = "0.23", optional = true, default-dependencies = false, features = [ "http2" ] } hyper-tls = { version = "0.5.0", optional = true } lazy_static = "1.4" log = "0.4" diff --git a/rusoto/core/src/request.rs b/rusoto/core/src/request.rs index c007b73d7ab..87c7b886183 100644 --- a/rusoto/core/src/request.rs +++ b/rusoto/core/src/request.rs @@ -223,11 +223,17 @@ impl HttpClient { #[cfg(feature = "native-tls")] let connector = HttpsConnector::new(); - #[cfg(all(feature = "rustls", not(feature = "rustls-webpki")))] - let connector = HttpsConnector::with_native_roots(); + #[cfg(feature = "rustls")] + let connector = { + let builder = crate::tls::HttpsConnectorBuilder::new(); - #[cfg(feature = "rustls-webpki")] - let connector = HttpsConnector::with_webpki_roots(); + #[cfg(not(feature = "rustls-webpki"))] + let builder = builder.with_native_roots(); + #[cfg(feature = "rustls-webpki")] + let builder = builder.with_webpki_roots(); + + builder.https_only().enable_http2().build() + }; Ok(Self::from_connector(connector)) } @@ -237,11 +243,17 @@ impl HttpClient { #[cfg(feature = "native-tls")] let connector = HttpsConnector::new(); - #[cfg(all(feature = "rustls", not(feature = "rustls-webpki")))] - let connector = HttpsConnector::with_native_roots(); + #[cfg(feature = "rustls")] + let connector = { + let builder = crate::tls::HttpsConnectorBuilder::new(); - #[cfg(feature = "rustls-webpki")] - let connector = HttpsConnector::with_webpki_roots(); + #[cfg(not(feature = "rustls-webpki"))] + let builder = builder.with_native_roots(); + #[cfg(feature = "rustls-webpki")] + let builder = builder.with_webpki_roots(); + + builder.https_only().enable_http2().build() + }; Ok(Self::from_connector_with_config(connector, config)) } From f7c92c31d467be6d3a5c96f4a0bb4f431c4ea5be Mon Sep 17 00:00:00 2001 From: iliana etaoin Date: Wed, 20 Apr 2022 14:27:33 -0700 Subject: [PATCH 2/2] add the new hyper-rustls default features --- rusoto/core/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rusoto/core/Cargo.toml b/rusoto/core/Cargo.toml index 5d6724a0d0e..94f9893fa7c 100644 --- a/rusoto/core/Cargo.toml +++ b/rusoto/core/Cargo.toml @@ -28,7 +28,7 @@ crc32fast = "1.2" futures = "0.3" http = "0.2" hyper = { version = "0.14", features = ["client", "http1", "http2", "tcp"] } -hyper-rustls = { version = "0.23", optional = true, default-dependencies = false, features = [ "http2" ] } +hyper-rustls = { version = "0.23", optional = true, default-dependencies = false, features = [ "http1", "http2", "tls12", "logging" ] } hyper-tls = { version = "0.5.0", optional = true } lazy_static = "1.4" log = "0.4"