From a3991ef310d12ca324ca4661fc78a7b06eeaa2af Mon Sep 17 00:00:00 2001 From: Matti Viljanen Date: Mon, 6 Nov 2023 00:35:44 +0200 Subject: [PATCH 1/4] Update rustls to 0.21 --- libsignal-service-actix/Cargo.toml | 2 +- libsignal-service-actix/src/push_service.rs | 2 +- libsignal-service/Cargo.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libsignal-service-actix/Cargo.toml b/libsignal-service-actix/Cargo.toml index ca6fd46ac..f78a3af57 100644 --- a/libsignal-service-actix/Cargo.toml +++ b/libsignal-service-actix/Cargo.toml @@ -19,7 +19,7 @@ mpart-async = "0.5" serde_json = "1.0" futures = "0.3" bytes = "1" -rustls = "0.20" +rustls = "0.21" rustls-pemfile = "0.3" url = "2.1" serde = "1.0" diff --git a/libsignal-service-actix/src/push_service.rs b/libsignal-service-actix/src/push_service.rs index d1a8a9172..2457831d4 100644 --- a/libsignal-service-actix/src/push_service.rs +++ b/libsignal-service-actix/src/push_service.rs @@ -669,7 +669,7 @@ fn get_client(cfg: &ServiceConfiguration, user_agent: String) -> Client { ssl_config.alpn_protocols = vec![b"http/1.1".to_vec()]; let connector = Connector::new() - .rustls(Arc::new(ssl_config)) + .rustls_021(Arc::new(ssl_config)) .timeout(Duration::from_secs(10)); // https://github.com/actix/actix-web/issues/1047 let client = awc::ClientBuilder::new() .connector(connector) diff --git a/libsignal-service/Cargo.toml b/libsignal-service/Cargo.toml index 390092a9f..77451cca1 100644 --- a/libsignal-service/Cargo.toml +++ b/libsignal-service/Cargo.toml @@ -41,7 +41,7 @@ prost-build = "0.10" anyhow = "1.0" tokio = { version = "1.0", features = ["macros", "rt"] } -rustls = "0.20" +rustls = "0.21" [features] unsend-futures = [] From 9ac01d532200689c17636b19bcb4457f7a77d814 Mon Sep 17 00:00:00 2001 From: Matti Viljanen Date: Mon, 6 Nov 2023 00:45:34 +0200 Subject: [PATCH 2/4] Update awc and actix-http to 3.2.0 --- libsignal-service-actix/Cargo.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libsignal-service-actix/Cargo.toml b/libsignal-service-actix/Cargo.toml index f78a3af57..7b0349706 100644 --- a/libsignal-service-actix/Cargo.toml +++ b/libsignal-service-actix/Cargo.toml @@ -11,8 +11,9 @@ rust-version = "1.70.0" # the Send requirement in libsignal-service needs to be lifted by enabling `unsend-futures`. libsignal-service = { path = "../libsignal-service", features = ["unsend-futures"] } -awc = { version = "3.0.0-beta.19", features = ["rustls"] } +awc = { version = "3.2.0", features = ["rustls-0_21"] } actix = "0.13" +actix-http = "3.2.0" actix-rt = "2.4" # mpart-async 0.6 requires Rust 2021, violating MSRV = 1.52 mpart-async = "0.5" From 32c4bd981a0d9b06d1340c6bd16d0e23138ff304 Mon Sep 17 00:00:00 2001 From: Matti Viljanen Date: Sun, 26 Nov 2023 14:16:28 +0200 Subject: [PATCH 3/4] Update mpart-async to 0.6 --- libsignal-service-actix/Cargo.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libsignal-service-actix/Cargo.toml b/libsignal-service-actix/Cargo.toml index 7b0349706..803c27ee3 100644 --- a/libsignal-service-actix/Cargo.toml +++ b/libsignal-service-actix/Cargo.toml @@ -15,8 +15,7 @@ awc = { version = "3.2.0", features = ["rustls-0_21"] } actix = "0.13" actix-http = "3.2.0" actix-rt = "2.4" -# mpart-async 0.6 requires Rust 2021, violating MSRV = 1.52 -mpart-async = "0.5" +mpart-async = "0.6" serde_json = "1.0" futures = "0.3" bytes = "1" From 06db57dbcac3b7c005f5ccf6056cdf4eea0b8ed6 Mon Sep 17 00:00:00 2001 From: Matti Viljanen Date: Sun, 26 Nov 2023 16:13:30 +0200 Subject: [PATCH 4/4] Update MSRV to 1.70 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5a3cce4c6..a2938cd51 100644 --- a/README.md +++ b/README.md @@ -36,9 +36,9 @@ If you're using a Cargo workspace, you should add the `[patch.crates.io]` sectio ### Note on supported Rust versions -`libsignal-service-rs` is the at the core of [Whisperfish][whisperfish], a SailfishOS application. The SailfishOS Rust compiler is relatively old, and therefore the MSRV for `libsignal-service-actix` maps on the compiler for that operating system, including some lag. At moment of writing, this is **Rust 1.61**. +`libsignal-service-rs` is the at the core of [Whisperfish][whisperfish], a SailfishOS application. The SailfishOS Rust compiler updates seldomly, and therefore the MSRV maps on the compiler for that operating system. At moment of writing, this is **Rust 1.72**. -For other platforms, we don't mandate MSRV. +For other platforms, we don't mandate MSRV. In practice, however, it is **Rust 1.70**. ## Contributing