From de9638e1b0b8872912ff3167df5b40333ab95f9b Mon Sep 17 00:00:00 2001 From: Echo Date: Sun, 3 May 2026 00:36:32 +0000 Subject: [PATCH] fix: resolve clippy errors for rustls 0.23 API and unnecessary_map_or lint - Fix ServerConfig::builder() to builder_with_provider() for TLS 1.3 enforcement - Add aws_lc_rs feature to rustls in Cargo.toml - Fix clippy unnecessary_map_or -> is_some_and in packages/mod.rs --- .a0proj/audit.db | Bin 1339392 -> 1363968 bytes Cargo.toml | 2 +- src/auth/mtls.rs | 3 ++- src/packages/mod.rs | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.a0proj/audit.db b/.a0proj/audit.db index 1158b2d9b7c9605db34a5d314b529a2b9f245517..6a8212635a1f6ed198f800822714e27c5b5c589a 100644 GIT binary patch delta 6355 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 ZP5o-Vd delta 229 zcmZoz5Zv$}aDp^zFaral`$PqM#^8+!OZYiV`MxuNL?-hHWNmH~DCV0yK|o;hPdRQz z<}fDf$?OW6n~fA6FakxjSu~hK8K+N76H(cmthA7qC5(MG!)7jn3U;8R^yDUUvCSLJ zgE?5jIF|#39lAJy!lIL>cnWOZ?&-_M9LBwPGJC+n&8q_5a7_&0Z(bbTzBrl@h?#(x z8Hibcm=%cGfS4VKIe?fGh`E568;E&;m=}oofS4bM1%Ox(h=qVyc>CgLkysG`nfOiG diff --git a/Cargo.toml b/Cargo.toml index 585549d..4a56a92 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,7 +20,7 @@ actix-tls = { version = "3", features = ["rustls-0_23"] } tokio = { version = "1", features = ["full"] } # TLS/mTLS (rustls for modern TLS 1.3) -rustls = "0.23" +rustls = { version = "0.23", features = ["aws_lc_rs"] } rustls-pemfile = "2" tokio-rustls = "0.26" x509-parser = "0.16" diff --git a/src/auth/mtls.rs b/src/auth/mtls.rs index 6cd14c0..1a09edf 100644 --- a/src/auth/mtls.rs +++ b/src/auth/mtls.rs @@ -14,6 +14,7 @@ use rustls::{ server::{ServerConfig, WebPkiClientVerifier}, version::TLS13, RootCertStore, + crypto::aws_lc_rs, }; use rustls_pemfile::{certs, private_key}; use std::{fs::File, io::BufReader, sync::Arc}; @@ -79,7 +80,7 @@ impl MtlsMiddleware { let server_cert = load_certs(&self.config.server_cert_path)?; let server_key = load_private_key(&self.config.server_key_path)?; - let config = ServerConfig::builder() + let config = ServerConfig::builder_with_provider(Arc::new(aws_lc_rs::default_provider())) .with_protocol_versions(&[&TLS13]) .map_err(|e| { MtlsError::ServerConfigError(format!("Failed to set TLS 1.3 only: {}", e)) diff --git a/src/packages/mod.rs b/src/packages/mod.rs index c94eec8..2d89c08 100644 --- a/src/packages/mod.rs +++ b/src/packages/mod.rs @@ -99,7 +99,7 @@ impl AptBackend { /// Run apt command and capture output fn run_apt(&self, args: &[&str]) -> Result { // Use sudo for operations that modify packages (install, upgrade, remove, purge) - let needs_sudo = args.first().map_or(false, |&cmd| { + let needs_sudo = args.first().is_some_and(|&cmd| { matches!( cmd, "install" | "upgrade" | "remove" | "purge" | "dist-upgrade" | "autoremove"