mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Fixed backslashes in sieve scripts (#426)
This commit is contained in:
parent
51666d7c7e
commit
7b2907bf89
2 changed files with 17 additions and 21 deletions
|
|
@ -108,7 +108,7 @@ class ManageSieveClient extends \MailSo\Net\NetClient
|
||||||
$iSecurityType = \MailSo\Net\Enumerations\ConnectionSecurityType::AUTO_DETECT,
|
$iSecurityType = \MailSo\Net\Enumerations\ConnectionSecurityType::AUTO_DETECT,
|
||||||
$bVerifySsl = false, $bAllowSelfSigned = true)
|
$bVerifySsl = false, $bAllowSelfSigned = true)
|
||||||
{
|
{
|
||||||
$this->iRequestTime = microtime(true);
|
$this->iRequestTime = \microtime(true);
|
||||||
|
|
||||||
parent::Connect($sServerName, $iPort, $iSecurityType, $bVerifySsl, $bAllowSelfSigned);
|
parent::Connect($sServerName, $iPort, $iSecurityType, $bVerifySsl, $bAllowSelfSigned);
|
||||||
|
|
||||||
|
|
@ -164,9 +164,9 @@ class ManageSieveClient extends \MailSo\Net\NetClient
|
||||||
{
|
{
|
||||||
if ($this->IsAuthSupported('PLAIN'))
|
if ($this->IsAuthSupported('PLAIN'))
|
||||||
{
|
{
|
||||||
$sAuth = base64_encode($sLoginAuthKey."\0".$sLogin."\0".$sPassword);
|
$sAuth = \base64_encode($sLoginAuthKey."\0".$sLogin."\0".$sPassword);
|
||||||
|
|
||||||
$this->sendRequest('AUTHENTICATE "PLAIN" {'.strlen($sAuth).'+}');
|
$this->sendRequest('AUTHENTICATE "PLAIN" {'.\strlen($sAuth).'+}');
|
||||||
$this->sendRequest($sAuth);
|
$this->sendRequest($sAuth);
|
||||||
|
|
||||||
$mResponse = $this->parseResponse();
|
$mResponse = $this->parseResponse();
|
||||||
|
|
@ -176,13 +176,13 @@ class ManageSieveClient extends \MailSo\Net\NetClient
|
||||||
}
|
}
|
||||||
else if ($this->IsAuthSupported('LOGIN'))
|
else if ($this->IsAuthSupported('LOGIN'))
|
||||||
{
|
{
|
||||||
$sLogin = base64_encode($sLogin);
|
$sLogin = \base64_encode($sLogin);
|
||||||
$sPassword = base64_encode($sPassword);
|
$sPassword = \base64_encode($sPassword);
|
||||||
|
|
||||||
$this->sendRequest('AUTHENTICATE "LOGIN"');
|
$this->sendRequest('AUTHENTICATE "LOGIN"');
|
||||||
$this->sendRequest('{'.strlen($sLogin).'+}');
|
$this->sendRequest('{'.\strlen($sLogin).'+}');
|
||||||
$this->sendRequest($sLogin);
|
$this->sendRequest($sLogin);
|
||||||
$this->sendRequest('{'.strlen($sPassword).'+}');
|
$this->sendRequest('{'.\strlen($sPassword).'+}');
|
||||||
$this->sendRequest($sPassword);
|
$this->sendRequest($sPassword);
|
||||||
|
|
||||||
$mResponse = $this->parseResponse();
|
$mResponse = $this->parseResponse();
|
||||||
|
|
@ -248,7 +248,7 @@ class ManageSieveClient extends \MailSo\Net\NetClient
|
||||||
$this->validateResponse($mResponse);
|
$this->validateResponse($mResponse);
|
||||||
|
|
||||||
$aResult = array();
|
$aResult = array();
|
||||||
if (is_array($mResponse))
|
if (\is_array($mResponse))
|
||||||
{
|
{
|
||||||
foreach ($mResponse as $sLine)
|
foreach ($mResponse as $sLine)
|
||||||
{
|
{
|
||||||
|
|
@ -309,16 +309,16 @@ class ManageSieveClient extends \MailSo\Net\NetClient
|
||||||
$this->validateResponse($mResponse);
|
$this->validateResponse($mResponse);
|
||||||
|
|
||||||
$sScript = '';
|
$sScript = '';
|
||||||
if (is_array($mResponse) && 0 < count($mResponse))
|
if (\is_array($mResponse) && 0 < \count($mResponse))
|
||||||
{
|
{
|
||||||
if ('{' === $mResponse[0]{0})
|
if ('{' === $mResponse[0]{0})
|
||||||
{
|
{
|
||||||
array_shift($mResponse);
|
\array_shift($mResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (\in_array(\substr($mResponse[\count($mResponse) - 1], 0, 2), array('OK', 'NO')))
|
if (\in_array(\substr($mResponse[\count($mResponse) - 1], 0, 2), array('OK', 'NO')))
|
||||||
{
|
{
|
||||||
array_pop($mResponse);
|
\array_pop($mResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
$sScript = \implode("\n", $mResponse);
|
$sScript = \implode("\n", $mResponse);
|
||||||
|
|
@ -338,9 +338,7 @@ class ManageSieveClient extends \MailSo\Net\NetClient
|
||||||
*/
|
*/
|
||||||
public function PutScript($sScriptName, $sScriptSource)
|
public function PutScript($sScriptName, $sScriptSource)
|
||||||
{
|
{
|
||||||
$sScriptSource = stripslashes($sScriptSource);
|
$this->sendRequest('PUTSCRIPT "'.$sScriptName.'" {'.\strlen($sScriptSource).'+}');
|
||||||
|
|
||||||
$this->sendRequest('PUTSCRIPT "'.$sScriptName.'" {'.strlen($sScriptSource).'+}');
|
|
||||||
$this->sendRequestWithCheck($sScriptSource);
|
$this->sendRequestWithCheck($sScriptSource);
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
|
|
@ -356,9 +354,7 @@ class ManageSieveClient extends \MailSo\Net\NetClient
|
||||||
*/
|
*/
|
||||||
public function CheckScript($sScriptSource)
|
public function CheckScript($sScriptSource)
|
||||||
{
|
{
|
||||||
$sScriptSource = stripslashes($sScriptSource);
|
$this->sendRequest('CHECKSCRIPT {'.\strlen($sScriptSource).'+}');
|
||||||
|
|
||||||
$this->sendRequest('CHECKSCRIPT {'.strlen($sScriptSource).'+}');
|
|
||||||
$this->sendRequestWithCheck($sScriptSource);
|
$this->sendRequestWithCheck($sScriptSource);
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
|
|
@ -403,7 +399,7 @@ class ManageSieveClient extends \MailSo\Net\NetClient
|
||||||
public function GetActiveScriptName()
|
public function GetActiveScriptName()
|
||||||
{
|
{
|
||||||
$aList = $this->ListScripts();
|
$aList = $this->ListScripts();
|
||||||
if (is_array($aList) && 0 < count($aList))
|
if (\is_array($aList) && 0 < \count($aList))
|
||||||
{
|
{
|
||||||
foreach ($aList as $sName => $bIsActive)
|
foreach ($aList as $sName => $bIsActive)
|
||||||
{
|
{
|
||||||
|
|
@ -466,7 +462,7 @@ class ManageSieveClient extends \MailSo\Net\NetClient
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $sCommand
|
* @param string $mResponse
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
*
|
||||||
|
|
@ -559,7 +555,7 @@ class ManageSieveClient extends \MailSo\Net\NetClient
|
||||||
|
|
||||||
$this->getNextBuffer($iLen, true);
|
$this->getNextBuffer($iLen, true);
|
||||||
|
|
||||||
if (strlen($this->sResponseBuffer) === $iLen)
|
if (\strlen($this->sResponseBuffer) === $iLen)
|
||||||
{
|
{
|
||||||
$sLine = \trim(\substr_replace($sLine, $this->sResponseBuffer, $iPos));
|
$sLine = \trim(\substr_replace($sLine, $this->sResponseBuffer, $iPos));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3276,7 +3276,7 @@ class Actions
|
||||||
|
|
||||||
\sleep(1);
|
\sleep(1);
|
||||||
$sValue = $oHttp->GetUrlAsString(APP_API_PATH.'activate/'.\urlencode($sDomain).'/'.\urlencode($sKey),
|
$sValue = $oHttp->GetUrlAsString(APP_API_PATH.'activate/'.\urlencode($sDomain).'/'.\urlencode($sKey),
|
||||||
'RainLoop', $sContentType, $iCode, $this->Logger(), 10,
|
'RainLoop/'.APP_VERSION, $sContentType, $iCode, $this->Logger(), 10,
|
||||||
$this->Config()->Get('labs', 'curl_proxy', ''), $this->Config()->Get('labs', 'curl_proxy_auth', ''),
|
$this->Config()->Get('labs', 'curl_proxy', ''), $this->Config()->Get('labs', 'curl_proxy_auth', ''),
|
||||||
array(), false
|
array(), false
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue