From cdd91f6507f584f45fa97e8335ec16a4b951b7e8 Mon Sep 17 00:00:00 2001 From: Matt Mastracci Date: Mon, 26 Aug 2024 11:21:39 -0600 Subject: [PATCH] Rebase + fmt --- edb/server/edbrust/edbrust-util/src/lib.rs | 1 + edb/server/edbrust/src/lib.rs | 1 + edb/server/pgrust/src/conn_string.rs | 10 ++++--- edb/server/pgrust/src/connection/ssl.rs | 31 +++++++++++++++------- 4 files changed, 30 insertions(+), 13 deletions(-) diff --git a/edb/server/edbrust/edbrust-util/src/lib.rs b/edb/server/edbrust/edbrust-util/src/lib.rs index e69de29bb2d1..8b137891791f 100644 --- a/edb/server/edbrust/edbrust-util/src/lib.rs +++ b/edb/server/edbrust/edbrust-util/src/lib.rs @@ -0,0 +1 @@ + diff --git a/edb/server/edbrust/src/lib.rs b/edb/server/edbrust/src/lib.rs index e69de29bb2d1..8b137891791f 100644 --- a/edb/server/edbrust/src/lib.rs +++ b/edb/server/edbrust/src/lib.rs @@ -0,0 +1 @@ + diff --git a/edb/server/pgrust/src/conn_string.rs b/edb/server/pgrust/src/conn_string.rs index 3e3d16659699..3f33487369d9 100644 --- a/edb/server/pgrust/src/conn_string.rs +++ b/edb/server/pgrust/src/conn_string.rs @@ -213,7 +213,7 @@ pub enum SslVersion { Tls1_3, } -impl <'a> TryFrom> for SslVersion { +impl<'a> TryFrom> for SslVersion { type Error = ParseError; fn try_from(value: Cow) -> Result { Ok(match value.as_ref() { @@ -221,7 +221,7 @@ impl <'a> TryFrom> for SslVersion { "tls_1.1" => SslVersion::Tls1_1, "tls_1.2" => SslVersion::Tls1_2, "tls_1.3" => SslVersion::Tls1_3, - _ => return Err(ParseError::InvalidTLSVersion(value.to_string())) + _ => return Err(ParseError::InvalidTLSVersion(value.to_string())), }) } } @@ -685,11 +685,13 @@ pub fn parse_postgres_url( if ssl_min_protocol_version.is_none() { ssl_min_protocol_version = env.read("PGSSLMINPROTOCOLVERSION"); } - ssl.min_protocol_version = ssl_min_protocol_version.map(|s| s.try_into()).transpose()?; + ssl.min_protocol_version = + ssl_min_protocol_version.map(|s| s.try_into()).transpose()?; if ssl_max_protocol_version.is_none() { ssl_max_protocol_version = env.read("PGSSLMAXPROTOCOLVERSION"); } - ssl.max_protocol_version = ssl_max_protocol_version.map(|s| s.try_into()).transpose()?; + ssl.max_protocol_version = + ssl_max_protocol_version.map(|s| s.try_into()).transpose()?; // There is no environment variable equivalent to this option ssl.password = sslpassword.map(|s| s.into_owned()); diff --git a/edb/server/pgrust/src/connection/ssl.rs b/edb/server/pgrust/src/connection/ssl.rs index fa9bb526648f..440657687da2 100644 --- a/edb/server/pgrust/src/connection/ssl.rs +++ b/edb/server/pgrust/src/connection/ssl.rs @@ -1,9 +1,16 @@ -use openssl::{ssl::{SslContextBuilder, SslMethod, SslVerifyMode}, x509::verify::X509VerifyFlags}; +use openssl::{ + ssl::{SslContextBuilder, SslMethod, SslVerifyMode}, + x509::verify::X509VerifyFlags, +}; use crate::conn_string::{SslMode, SslParameters}; /// Given a set of [`SslParameters`], configures an OpenSSL context. -pub fn create_ssl_client_context(mut ssl: SslContextBuilder, ssl_mode: SslMode, parameters: SslParameters) -> Result> { +pub fn create_ssl_client_context( + mut ssl: SslContextBuilder, + ssl_mode: SslMode, + parameters: SslParameters, +) -> Result> { let SslParameters { cert, key, @@ -30,7 +37,8 @@ pub fn create_ssl_client_context(mut ssl: SslContextBuilder, ssl_mode: SslMode, // Load CRL if let Some(crl) = &crl { ssl.set_ca_file(crl)?; - ssl.verify_param_mut().set_flags(X509VerifyFlags::CRL_CHECK | X509VerifyFlags::CRL_CHECK_ALL)?; + ssl.verify_param_mut() + .set_flags(X509VerifyFlags::CRL_CHECK | X509VerifyFlags::CRL_CHECK_ALL)?; } } @@ -54,7 +62,7 @@ pub fn create_ssl_client_context(mut ssl: SslContextBuilder, ssl_mode: SslMode, ssl.set_min_proto_version(min_protocol_version.map(|s| s.into()))?; ssl.set_max_proto_version(max_protocol_version.map(|s| s.into()))?; - + // // Configure key log filename // if let Some(keylog_filename) = ¶meters.keylog_filename { // context_builder.set_keylog_file(keylog_filename)?; @@ -74,10 +82,15 @@ mod tests { let cert_path = Path::new("../../../tests/certs").canonicalize().unwrap(); let ssl = SslContextBuilder::new(SslMethod::tls()).unwrap(); - let ssl = create_ssl_client_context(ssl, SslMode::VerifyFull, SslParameters { - cert: Some(cert_path.join("client.cert.pem")), - key: Some(cert_path.join("client.key.pem")), - ..Default::default() - }).unwrap(); + let ssl = create_ssl_client_context( + ssl, + SslMode::VerifyFull, + SslParameters { + cert: Some(cert_path.join("client.cert.pem")), + key: Some(cert_path.join("client.key.pem")), + ..Default::default() + }, + ) + .unwrap(); } }