vw_small

Hardened fork of Vaultwarden (https://github.com/dani-garcia/vaultwarden) with fewer features.
git clone https://git.philomathiclife.com/repos/vw_small
Log | Files | Refs | README

commit c52adef919419a1e823fbc26c49aaef9032248ff
parent cbb92bcbc03face72b17932c421b1b61224e2c7c
Author: BlackDex <black.dex@gmail.com>
Date:   Wed,  6 Nov 2019 21:39:33 +0100

Added configurable smtp timeout.

 - Added config option for smtp timeout
 - Lowered default timeout to 15 seconds instead of default 60.

Diffstat:
M.env.template | 1+
Msrc/config.rs | 2++
Msrc/mail.rs | 3+++
3 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/.env.template b/.env.template @@ -157,3 +157,4 @@ # SMTP_USERNAME=username # SMTP_PASSWORD=password # SMTP_AUTH_MECHANISM="Plain" +# SMTP_TIMEOUT=15 diff --git a/src/config.rs b/src/config.rs @@ -350,6 +350,8 @@ make_config! { smtp_password: Pass, true, option; /// Json form auth mechanism |> Defaults for ssl is "Plain" and "Login" and nothing for non-ssl connections. Possible values: ["Plain", "Login", "Xoauth2"] smtp_auth_mechanism: String, true, option; + /// SMTP connection timeout |> Number of seconds when to stop trying to connect to the SMTP server + smtp_timeout: u64, true, def, 15; }, /// Email 2FA Settings diff --git a/src/mail.rs b/src/mail.rs @@ -33,6 +33,8 @@ fn mailer() -> SmtpTransport { ClientSecurity::None }; + use std::time::Duration; + let smtp_client = SmtpClient::new((host.as_str(), CONFIG.smtp_port()), client_security).unwrap(); let smtp_client = match (&CONFIG.smtp_username(), &CONFIG.smtp_password()) { @@ -53,6 +55,7 @@ fn mailer() -> SmtpTransport { smtp_client .smtp_utf8(true) + .timeout(Some(Duration::from_secs(CONFIG.smtp_timeout()))) .connection_reuse(ConnectionReuseParameters::NoReuse) .transport() }