diff --git a/Cargo.lock b/Cargo.lock index f620d61..fdbe1e0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2957,6 +2957,7 @@ dependencies = [ "mail-parser", "reqwest", "rusqlite", + "rustls", "rustls-pki-types", "serde", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index 40d54a5..ff7c96d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -66,6 +66,7 @@ futures-util = { version = "0.3", default-features = false, features = ["sink"] hostname = "0.4.2" lettre = { version = "0.11.19", default-features = false, features = ["builder", "smtp-transport", "rustls-tls"] } mail-parser = "0.11.2" +rustls = "0.23" rustls-pki-types = "1.14.0" tokio-rustls = "0.26.4" webpki-roots = "1.0.6" diff --git a/src/main.rs b/src/main.rs index 012a4d3..343f08e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -255,6 +255,13 @@ enum IntegrationCommands { #[tokio::main] #[allow(clippy::too_many_lines)] async fn main() -> Result<()> { + // Install default crypto provider for Rustls TLS. + // This prevents the error: "could not automatically determine the process-level CryptoProvider" + // when both aws-lc-rs and ring features are available (or neither is explicitly selected). + if let Err(e) = rustls::crypto::ring::default_provider().install_default() { + eprintln!("Warning: Failed to install default crypto provider: {e:?}"); + } + let cli = Cli::parse(); // Initialize logging