Small refactoring: CramMd5

This commit is contained in:
RainLoop Team 2015-11-10 20:20:24 +03:00
parent 2ab17f8eff
commit acaeb82397
4 changed files with 19 additions and 19 deletions

View file

@ -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);
}
}
}

View file

@ -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;
}

View file

@ -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'),

View file

@ -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']);
}
}