From 216266d7bfc1ac0448131aaaaab022f1d56493ee Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Thu, 3 Oct 2019 02:02:51 +0300 Subject: [PATCH] Apply imap_certificate_checks config to StartTLS connections --- src/imap.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/imap.rs b/src/imap.rs index ff1c32b0e..753dc8a36 100644 --- a/src/imap.rs +++ b/src/imap.rs @@ -131,13 +131,14 @@ impl Client { Ok(Client::Insecure(client, stream)) } - pub fn secure>(self, domain: S) -> imap::error::Result { + pub fn secure>( + self, + domain: S, + certificate_checks: CertificateChecks, + ) -> imap::error::Result { match self { Client::Insecure(client, stream) => { - let tls = native_tls::TlsConnector::builder() - .danger_accept_invalid_hostnames(true) - .build() - .unwrap(); + let tls = dc_build_tls(certificate_checks).unwrap(); let client_sec = client.secure(domain, &tls)?; @@ -395,7 +396,7 @@ impl Imap { Client::connect_insecure((imap_server, imap_port)).and_then(|client| { if (server_flags & DC_LP_IMAP_SOCKET_STARTTLS) != 0 { - client.secure(imap_server) + client.secure(imap_server, config.certificate_checks) } else { Ok(client) }