From 64011e45daa523ff768e9c7cd2587310a9697e62 Mon Sep 17 00:00:00 2001 From: Eugene Date: Fri, 18 Oct 2024 00:09:41 +0200 Subject: [PATCH] use aws_lc_rs since it's required anyway, reduce dependencies some more --- Cargo.lock | 86 +---------------------- warpgate-common/Cargo.toml | 2 +- warpgate-common/src/tls/cert.rs | 2 +- warpgate-common/src/tls/rustls_helpers.rs | 2 +- warpgate-core/Cargo.toml | 4 +- warpgate-protocol-mysql/Cargo.toml | 4 +- warpgate-protocol-mysql/src/lib.rs | 2 +- warpgate-protocol-postgres/Cargo.toml | 6 +- warpgate-protocol-postgres/src/lib.rs | 2 +- 9 files changed, 13 insertions(+), 97 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 35949a1c..3fb7d76e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -276,6 +276,7 @@ dependencies = [ "aws-lc-sys", "mirai-annotations", "paste", + "untrusted 0.7.1", "zeroize", ] @@ -401,17 +402,6 @@ dependencies = [ "sha2", ] -[[package]] -name = "bigdecimal" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6773ddc0eafc0e509fb60e48dff7f450f8e674a0686ae8605e8d9901bd5eefa" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits", -] - [[package]] name = "bimap" version = "0.6.3" @@ -1330,7 +1320,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" dependencies = [ "crc32fast", - "libz-sys", "miniz_oxide", ] @@ -1360,62 +1349,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "frunk" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "874b6a17738fc273ec753618bac60ddaeac48cb1d7684c3e7bd472e57a28b817" -dependencies = [ - "frunk_core", - "frunk_derives", - "frunk_proc_macros", - "serde", -] - -[[package]] -name = "frunk_core" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3529a07095650187788833d585c219761114005d5976185760cf794d265b6a5c" -dependencies = [ - "serde", -] - -[[package]] -name = "frunk_derives" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e99b8b3c28ae0e84b604c75f721c21dc77afb3706076af5e8216d15fd1deaae3" -dependencies = [ - "frunk_proc_macro_helpers", - "quote", - "syn 2.0.77", -] - -[[package]] -name = "frunk_proc_macro_helpers" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05a956ef36c377977e512e227dcad20f68c2786ac7a54dacece3746046fea5ce" -dependencies = [ - "frunk_core", - "proc-macro2", - "quote", - "syn 2.0.77", -] - -[[package]] -name = "frunk_proc_macros" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e86c2c9183662713fea27ea527aad20fb15fee635a71081ff91bf93df4dc51" -dependencies = [ - "frunk_core", - "frunk_proc_macro_helpers", - "quote", - "syn 2.0.77", -] - [[package]] name = "fs_extra" version = "1.3.0" @@ -2304,17 +2237,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "libz-sys" -version = "1.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" -dependencies = [ - "cc", - "pkg-config", - "vcpkg", -] - [[package]] name = "linked-hash-map" version = "0.5.6" @@ -2466,7 +2388,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9006c95034ccf7b903d955f210469119f6c3477fc9c9e7a7845ce38a3e665c2a" dependencies = [ "base64 0.13.1", - "bigdecimal", "bindgen 0.59.2", "bitflags 1.3.2", "bitvec", @@ -2476,14 +2397,12 @@ dependencies = [ "cmake", "crc32fast", "flate2", - "frunk", "lazy_static", "lexical", "num-bigint", "num-traits", "rand", "regex", - "rust_decimal", "saturating", "serde", "serde_json", @@ -2492,8 +2411,6 @@ dependencies = [ "smallvec", "subprocess", "thiserror", - "time", - "uuid", ] [[package]] @@ -2918,6 +2835,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e63bc3945a17010ff93677589c656c5e8fb4183b00bc86360de8e187d2a86cb" dependencies = [ "async-trait", + "aws-lc-rs", "bytes", "chrono", "derive-new", diff --git a/warpgate-common/Cargo.toml b/warpgate-common/Cargo.toml index f9826c6a..fa340b4e 100644 --- a/warpgate-common/Cargo.toml +++ b/warpgate-common/Cargo.toml @@ -42,7 +42,7 @@ tracing-core = "0.1" url = "2.2" uuid = { version = "1.3", features = ["v4", "serde"] } warpgate-sso = { version = "*", path = "../warpgate-sso" } -rustls = { version = "0.23", features = ["ring"], default-features = false} +rustls = "0.23" rustls-pemfile = "1.0" webpki = "0.22" aho-corasick = "1.1.3" diff --git a/warpgate-common/src/tls/cert.rs b/warpgate-common/src/tls/cert.rs index bb1e093c..334a3ed2 100644 --- a/warpgate-common/src/tls/cert.rs +++ b/warpgate-common/src/tls/cert.rs @@ -83,7 +83,7 @@ impl TlsPrivateKey { } let key = key.ok_or(RustlsSetupError::NoKeys)?; - let key = rustls::crypto::ring::sign::any_supported_type(&key)?; + let key = rustls::crypto::aws_lc_rs::sign::any_supported_type(&key)?; Ok(Self { bytes, key }) } diff --git a/warpgate-common/src/tls/rustls_helpers.rs b/warpgate-common/src/tls/rustls_helpers.rs index a0ed4004..b407521a 100644 --- a/warpgate-common/src/tls/rustls_helpers.rs +++ b/warpgate-common/src/tls/rustls_helpers.rs @@ -25,7 +25,7 @@ pub async fn configure_tls_connector( root_cert: Option<&[u8]>, ) -> Result { let config = - ClientConfig::builder_with_provider(Arc::new(rustls::crypto::ring::default_provider())) + ClientConfig::builder_with_provider(Arc::new(rustls::crypto::aws_lc_rs::default_provider())) .with_safe_default_protocol_versions()?; let config = if accept_invalid_certs { diff --git a/warpgate-core/Cargo.toml b/warpgate-core/Cargo.toml index f0fad12f..734b28a7 100644 --- a/warpgate-core/Cargo.toml +++ b/warpgate-core/Cargo.toml @@ -20,7 +20,7 @@ futures = "0.3" once_cell = "1.17" packet = "0.1" password-hash = "0.4" -poem = { version = "3.1", features = ["rustls"] } +poem = { version = "3.1" } poem-openapi = { version = "5.1", features = [ "swagger-ui", "chrono", @@ -45,7 +45,7 @@ tracing-subscriber = "0.3" url = "2.2" uuid = { version = "1.3", features = ["v4", "serde"] } warpgate-sso = { version = "*", path = "../warpgate-sso" } -rustls = { version = "0.23", features = ["logging"], default-features = false } +rustls = "0.23" rustls-pemfile = "1.0" webpki = "0.22" diff --git a/warpgate-protocol-mysql/Cargo.toml b/warpgate-protocol-mysql/Cargo.toml index 69469d5b..627766b6 100644 --- a/warpgate-protocol-mysql/Cargo.toml +++ b/warpgate-protocol-mysql/Cargo.toml @@ -15,11 +15,11 @@ tokio = { version = "1.20", features = ["tracing", "signal"] } tracing = "0.1" uuid = { version = "1.3", features = ["v4"] } bytes = "1.4" -mysql_common = "0.29" +mysql_common = { version = "0.29", default-features = false } rand = "0.8" sha1 = "0.10" password-hash = { version = "0.2", features = ["std"] } -rustls = { version = "0.23", features = ["ring"], default-features = false } +rustls = "0.23" rustls-pemfile = "1.0" tokio-rustls = "0.26" thiserror = "1.0" diff --git a/warpgate-protocol-mysql/src/lib.rs b/warpgate-protocol-mysql/src/lib.rs index 720ee82e..2cc36e9e 100644 --- a/warpgate-protocol-mysql/src/lib.rs +++ b/warpgate-protocol-mysql/src/lib.rs @@ -63,7 +63,7 @@ impl ProtocolServer for MySQLProtocolServer { }; let tls_config = - ServerConfig::builder_with_provider(Arc::new(rustls::crypto::ring::default_provider())) + ServerConfig::builder_with_provider(Arc::new(rustls::crypto::aws_lc_rs::default_provider())) .with_safe_default_protocol_versions()? .with_client_cert_verifier(Arc::new(NoClientAuth)) .with_cert_resolver(Arc::new(ResolveServerCert(Arc::new( diff --git a/warpgate-protocol-postgres/Cargo.toml b/warpgate-protocol-postgres/Cargo.toml index ac26d9c1..a204f3fc 100644 --- a/warpgate-protocol-postgres/Cargo.toml +++ b/warpgate-protocol-postgres/Cargo.toml @@ -13,12 +13,10 @@ tokio = { version = "1.20", features = ["tracing", "signal"] } tracing = "0.1" uuid = { version = "1.2" } bytes = "1.3" -rustls = { version = "0.23", features = ["ring"], default-features = false } +rustls = "0.23" rustls-pemfile = "1.0" tokio-rustls = "0.26" thiserror = "1.0" rustls-native-certs = "0.6" -pgwire = { version = "0.25", default-features = false, features = [ - "server-api", -] } +pgwire = { version = "0.25" } rsasl = { version = "2.1.0", default-features = false, features = ["config_builder", "scram-sha-2", "std", "plain", "provider"] } diff --git a/warpgate-protocol-postgres/src/lib.rs b/warpgate-protocol-postgres/src/lib.rs index 89767b78..baa89a84 100644 --- a/warpgate-protocol-postgres/src/lib.rs +++ b/warpgate-protocol-postgres/src/lib.rs @@ -63,7 +63,7 @@ impl ProtocolServer for PostgresProtocolServer { }; let tls_config = - ServerConfig::builder_with_provider(Arc::new(rustls::crypto::ring::default_provider())) + ServerConfig::builder_with_provider(Arc::new(rustls::crypto::aws_lc_rs::default_provider())) .with_safe_default_protocol_versions()? .with_client_cert_verifier(Arc::new(NoClientAuth)) .with_cert_resolver(Arc::new(ResolveServerCert(Arc::new(