From 5394599a9dc8dc0f5b56ab212517e768c254d166 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Tue, 13 Dec 2022 11:08:33 +0100 Subject: [PATCH] Set timeout defaults --- .../v/0.0.0/app/libraries/MailSo/Imap/Settings.php | 3 ++- .../0.0.0/app/libraries/MailSo/Net/ConnectSettings.php | 4 +++- .../v/0.0.0/app/libraries/MailSo/Smtp/Settings.php | 10 ++++++---- .../v/0.0.0/app/libraries/RainLoop/Model/Account.php | 4 ++-- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/Settings.php b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/Settings.php index 3fb1a662c..0075a8781 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/Settings.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/Settings.php @@ -18,7 +18,8 @@ namespace MailSo\Imap; class Settings extends \MailSo\Net\ConnectSettings { public int - $port = 143; + $port = 143, + $timeout = 300; public bool $disable_list_status = false, diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Net/ConnectSettings.php b/snappymail/v/0.0.0/app/libraries/MailSo/Net/ConnectSettings.php index 3406ba45a..4b5f06d19 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Net/ConnectSettings.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Net/ConnectSettings.php @@ -57,7 +57,9 @@ class ConnectSettings implements \JsonSerializable $object->host = $aSettings['host']; $object->port = $aSettings['port']; $object->type = isset($aSettings['type']) ? $aSettings['type'] : $aSettings['secure']; - $object->timeout = isset($aSettings['timeout']) ? $aSettings['timeout'] : 300; + if (isset($aSettings['timeout'])) { + $object->timeout = $aSettings['timeout']; + } $object->shortLogin = !empty($aSettings['shortLogin']); $object->ssl = SSLContext::fromArray($aSettings['ssl'] ?? []); return $object; diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Smtp/Settings.php b/snappymail/v/0.0.0/app/libraries/MailSo/Smtp/Settings.php index 3ccdac36f..5008a5699 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Smtp/Settings.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Smtp/Settings.php @@ -17,11 +17,13 @@ namespace MailSo\Smtp; */ class Settings extends \MailSo\Net\ConnectSettings { - public int $port = 25; + public int + $port = 25, + $timeout = 60; - public bool $usePhpMail = false; - - public bool $setSender = false; + public bool + $usePhpMail = false, + $setSender = false; public string $Ehlo; diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Account.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Account.php index 4b1cf879c..67c2f6f42 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Account.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Account.php @@ -243,7 +243,7 @@ abstract class Account implements \JsonSerializable public function SmtpConnectAndLoginHelper(\RainLoop\Plugins\Manager $oPlugins, \MailSo\Smtp\SmtpClient $oSmtpClient, \RainLoop\Config\Application $oConfig, bool &$bUsePhpMail = false) : bool { $oSettings = $this->Domain()->SmtpSettings(); - $oSettings->timeout = \max($oSettings->timeout, (int) $oConfig->Get('labs', 'smtp_timeout', 60)); + $oSettings->timeout = \max($oSettings->timeout, (int) $oConfig->Get('labs', 'smtp_timeout', $oSettings->timeout)); $oSettings->Login = $this->OutLogin(); $oSettings->usePhpMail = $bUsePhpMail; $oSettings->Ehlo = \MailSo\Smtp\SmtpClient::EhloHelper(); @@ -263,7 +263,7 @@ abstract class Account implements \JsonSerializable public function SieveConnectAndLoginHelper(\RainLoop\Plugins\Manager $oPlugins, \MailSo\Sieve\SieveClient $oSieveClient, \RainLoop\Config\Application $oConfig) { $oSettings = $this->Domain()->SieveSettings(); - $oSettings->timeout = \max($oSettings->timeout, (int) $oConfig->Get('labs', 'sieve_timeout', 10)); + $oSettings->timeout = \max($oSettings->timeout, (int) $oConfig->Get('labs', 'sieve_timeout', $oSettings->timeout)); $oSettings->Login = $this->IncLogin(); $oPlugins->RunHook('sieve.before-connect', array($this, $oSieveClient, $oSettings));