From acaeb8239767ee10fdb049c9f24426e545163b5d Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Tue, 10 Nov 2015 20:20:24 +0300 Subject: [PATCH] Small refactoring: CramMd5 --- .../app/libraries/MailSo/Imap/ImapClient.php | 24 ++++++++----------- .../app/libraries/MailSo/Mail/MailClient.php | 6 +++-- .../libraries/RainLoop/Config/Application.php | 1 + .../app/libraries/RainLoop/Model/Account.php | 7 +++--- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/rainloop/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php b/rainloop/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php index f22afa172..b79d8eccd 100644 --- a/rainloop/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php +++ b/rainloop/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php @@ -177,6 +177,7 @@ class ImapClient extends \MailSo\Net\NetClient * @param string $sPassword * @param string $sProxyAuthUser = '' * @param bool $bUseAuthPlainIfSupported = false + * @param bool $bUseAuthCramMd5IfSupported = false * * @return \MailSo\Imap\ImapClient * @@ -184,7 +185,8 @@ class ImapClient extends \MailSo\Net\NetClient * @throws \MailSo\Net\Exceptions\Exception * @throws \MailSo\Imap\Exceptions\Exception */ - public function Login($sLogin, $sPassword, $sProxyAuthUser = '', $bUseAuthPlainIfSupported = false) + public function Login($sLogin, $sPassword, $sProxyAuthUser = '', + $bUseAuthPlainIfSupported = false, $bUseAuthCramMd5IfSupported = false) { if (!\MailSo\Base\Validator::NotEmptyString($sLogin, true) || !\MailSo\Base\Validator::NotEmptyString($sPassword, true)) @@ -202,8 +204,8 @@ class ImapClient extends \MailSo\Net\NetClient try { - // TODO - if (false && $this->IsSupported('AUTH=CRAM-MD5')) + $bUseAuthCramMd5IfSupported = false; // TODO + if ($bUseAuthCramMd5IfSupported && $this->IsSupported('AUTH=CRAM-MD5')) { $this->SendRequest('AUTHENTICATE', array('CRAM-MD5')); @@ -220,22 +222,16 @@ class ImapClient extends \MailSo\Net\NetClient } } - if ($oContinuationResponse) + if ($oContinuationResponse && false) { - $sToken = \base64_encode("\0".$sLogin."\0".$sPassword); - if ($this->oLogger) - { - $this->oLogger->AddSecret($sToken); - } - + // TODO $this->Logger()->WriteDump($aResponse); - - $this->sendRaw($sToken, true, '*******'); - $this->parseResponseWithValidation(); } else { - // TODO + $this->writeLogException( + new \MailSo\Imap\Exceptions\LoginException(), + \MailSo\Log\Enumerations\Type::NOTICE, true); } } } diff --git a/rainloop/v/0.0.0/app/libraries/MailSo/Mail/MailClient.php b/rainloop/v/0.0.0/app/libraries/MailSo/Mail/MailClient.php index 72dc57354..61394ea50 100644 --- a/rainloop/v/0.0.0/app/libraries/MailSo/Mail/MailClient.php +++ b/rainloop/v/0.0.0/app/libraries/MailSo/Mail/MailClient.php @@ -78,6 +78,7 @@ class MailClient * @param string $sPassword * @param string $sProxyAuthUser = '' * @param bool $bUseAuthPlainIfSupported = false + * @param bool $bUseAuthCramMd5IfSupported = false * * @return \MailSo\Mail\MailClient * @@ -85,9 +86,10 @@ class MailClient * @throws \MailSo\Net\Exceptions\Exception * @throws \MailSo\Imap\Exceptions\LoginException */ - public function Login($sLogin, $sPassword, $sProxyAuthUser = '', $bUseAuthPlainIfSupported = false) + public function Login($sLogin, $sPassword, $sProxyAuthUser = '', + $bUseAuthPlainIfSupported = false, $bUseAuthCramMd5IfSupported = false) { - $this->oImapClient->Login($sLogin, $sPassword, $sProxyAuthUser, $bUseAuthPlainIfSupported); + $this->oImapClient->Login($sLogin, $sPassword, $sProxyAuthUser, $bUseAuthPlainIfSupported, $bUseAuthCramMd5IfSupported); return $this; } diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Application.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Application.php index d8d013910..35ef4d076 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Application.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Application.php @@ -315,6 +315,7 @@ Enables caching in the system'), 'use_imap_thread' => array(true), 'use_imap_move' => array(false), 'use_imap_auth_plain' => array(false), + 'use_imap_auth_cram_md5' => array(false), 'use_imap_expunge_all_on_delete' => array(false), 'imap_forwarded_flag' => array('$Forwarded'), 'imap_read_receipt_flag' => array('$ReadReceipt'), diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Model/Account.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Model/Account.php index 31108e1f1..48d939309 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Model/Account.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Model/Account.php @@ -409,7 +409,8 @@ class Account extends \RainLoop\Account // for backward compatibility 'ProxyAuthPassword' => $this->ProxyAuthPassword(), 'VerifySsl' => !!$oConfig->Get('ssl', 'verify_certificate', false), 'AllowSelfSigned' => !!$oConfig->Get('ssl', 'allow_self_signed', true), - 'UseAuthPlainIfSupported' => !!$oConfig->Get('labs', 'use_imap_auth_plain') + 'UseAuthPlainIfSupported' => !!$oConfig->Get('labs', 'use_imap_auth_plain'), + 'UseAuthCramMd5IfSupported' => !!$oConfig->Get('labs', 'use_imap_auth_cram_md5') ); $oPlugins->RunHook('filter.imap-credentials', array($this, &$aImapCredentials)); @@ -433,7 +434,7 @@ class Account extends \RainLoop\Account // for backward compatibility { $oMailClient ->Login($aImapCredentials['ProxyAuthUser'], $aImapCredentials['ProxyAuthPassword'], - $aImapCredentials['Login'], $aImapCredentials['UseAuthPlainIfSupported']); + $aImapCredentials['Login'], $aImapCredentials['UseAuthPlainIfSupported'], $aImapCredentials['UseAuthCramMd5IfSupported']); } else { @@ -447,7 +448,7 @@ class Account extends \RainLoop\Account // for backward compatibility else { $oMailClient->Login($aImapCredentials['Login'], $aImapCredentials['Password'], '', - $aImapCredentials['UseAuthPlainIfSupported']); + $aImapCredentials['UseAuthPlainIfSupported'], $aImapCredentials['UseAuthCramMd5IfSupported']); } }