mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-11-10 09:02:45 +08:00
By default throw AccountNotAllowed as confused in #1478
This commit is contained in:
parent
644c8ad389
commit
7d485813e5
2 changed files with 22 additions and 30 deletions
|
@ -4,35 +4,31 @@ class BlackListPlugin extends \RainLoop\Plugins\AbstractPlugin
|
|||
{
|
||||
const
|
||||
NAME = 'Blacklist',
|
||||
VERSION = '2.1',
|
||||
RELEASE = '2021-04-21',
|
||||
VERSION = '2.2',
|
||||
RELEASE = '2024-03-04',
|
||||
REQUIRED = '2.5.0',
|
||||
CATEGORY = 'Login',
|
||||
DESCRIPTION = 'Simple blacklist extension (with wildcard and exceptions functionality).';
|
||||
|
||||
public function Init() : void
|
||||
{
|
||||
$this->addHook('login.credentials', 'FilterLoginCredentials');
|
||||
$this->addHook('login.credentials.step-1', 'FilterLoginCredentials');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sEmail
|
||||
* @param string $sLogin
|
||||
* @param string $sPassword
|
||||
*
|
||||
* @throws \RainLoop\Exceptions\ClientException
|
||||
*/
|
||||
public function FilterLoginCredentials(&$sEmail, &$sLogin, &$sPassword)
|
||||
public function FilterLoginCredentials(string &$sEmail)
|
||||
{
|
||||
$sBlackList = \trim($this->Config()->Get('plugin', 'black_list', ''));
|
||||
if (0 < \strlen($sBlackList) && \RainLoop\Plugins\Helper::ValidateWildcardValues($sEmail, $sBlackList))
|
||||
{
|
||||
if (\strlen($sBlackList) && \RainLoop\Plugins\Helper::ValidateWildcardValues($sEmail, $sBlackList)) {
|
||||
$sExceptions = \trim($this->Config()->Get('plugin', 'exceptions', ''));
|
||||
if (0 === \strlen($sExceptions) || !\RainLoop\Plugins\Helper::ValidateWildcardValues($sEmail, $sExceptions))
|
||||
{
|
||||
if (!\strlen($sExceptions) || !\RainLoop\Plugins\Helper::ValidateWildcardValues($sEmail, $sExceptions)) {
|
||||
throw new \RainLoop\Exceptions\ClientException(
|
||||
$this->Config()->Get('plugin', 'auth_error', true) ?
|
||||
\RainLoop\Notifications::AuthError : \RainLoop\Notifications::AccountNotAllowed);
|
||||
$this->Config()->Get('plugin', 'auth_error', false)
|
||||
? \RainLoop\Notifications::AuthError
|
||||
: \RainLoop\Notifications::AccountNotAllowed
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -46,7 +42,7 @@ class BlackListPlugin extends \RainLoop\Plugins\AbstractPlugin
|
|||
\RainLoop\Plugins\Property::NewInstance('auth_error')->SetLabel('Auth Error')
|
||||
->SetType(\RainLoop\Enumerations\PluginPropertyType::BOOL)
|
||||
->SetDescription('Throw an authentication error instead of an access error.')
|
||||
->SetDefaultValue(true),
|
||||
->SetDefaultValue(false),
|
||||
\RainLoop\Plugins\Property::NewInstance('black_list')->SetLabel('Black List')
|
||||
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING_TEXT)
|
||||
->SetDescription('Emails black list, space as delimiter, wildcard supported.')
|
||||
|
|
|
@ -4,35 +4,31 @@ class WhiteListPlugin extends \RainLoop\Plugins\AbstractPlugin
|
|||
{
|
||||
const
|
||||
NAME = 'Whitelist',
|
||||
VERSION = '2.1',
|
||||
RELEASE = '2021-04-21',
|
||||
VERSION = '2.2',
|
||||
RELEASE = '2024-03-04',
|
||||
REQUIRED = '2.5.0',
|
||||
CATEGORY = 'Login',
|
||||
DESCRIPTION = 'Simple login whitelist (with wildcard and exceptions functionality).';
|
||||
|
||||
public function Init() : void
|
||||
{
|
||||
$this->addHook('login.credentials', 'FilterLoginCredentials');
|
||||
$this->addHook('login.credentials.step-1', 'FilterLoginCredentials');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sEmail
|
||||
* @param string $sLogin
|
||||
* @param string $sPassword
|
||||
*
|
||||
* @throws \RainLoop\Exceptions\ClientException
|
||||
*/
|
||||
public function FilterLoginCredentials(&$sEmail, &$sLogin, &$sPassword)
|
||||
public function FilterLoginCredentials(string &$sEmail)
|
||||
{
|
||||
$sWhiteList = \trim($this->Config()->Get('plugin', 'white_list', ''));
|
||||
if (0 < strlen($sWhiteList) && !\RainLoop\Plugins\Helper::ValidateWildcardValues($sEmail, $sWhiteList))
|
||||
{
|
||||
if (\strlen($sWhiteList) && !\RainLoop\Plugins\Helper::ValidateWildcardValues($sEmail, $sWhiteList)) {
|
||||
$sExceptions = \trim($this->Config()->Get('plugin', 'exceptions', ''));
|
||||
if (0 === \strlen($sExceptions) || !\RainLoop\Plugins\Helper::ValidateWildcardValues($sEmail, $sExceptions))
|
||||
{
|
||||
if (!\strlen($sExceptions) || \RainLoop\Plugins\Helper::ValidateWildcardValues($sEmail, $sExceptions)) {
|
||||
throw new \RainLoop\Exceptions\ClientException(
|
||||
$this->Config()->Get('plugin', 'auth_error', true) ?
|
||||
\RainLoop\Notifications::AuthError : \RainLoop\Notifications::AccountNotAllowed);
|
||||
$this->Config()->Get('plugin', 'auth_error', false)
|
||||
? \RainLoop\Notifications::AuthError
|
||||
: \RainLoop\Notifications::AccountNotAllowed
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -46,7 +42,7 @@ class WhiteListPlugin extends \RainLoop\Plugins\AbstractPlugin
|
|||
\RainLoop\Plugins\Property::NewInstance('auth_error')->SetLabel('Auth Error')
|
||||
->SetType(\RainLoop\Enumerations\PluginPropertyType::BOOL)
|
||||
->SetDescription('Throw an authentication error instead of an access error.')
|
||||
->SetDefaultValue(true),
|
||||
->SetDefaultValue(false),
|
||||
\RainLoop\Plugins\Property::NewInstance('white_list')->SetLabel('White List')
|
||||
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING_TEXT)
|
||||
->SetDescription('Emails white list, space as delimiter, wildcard supported.')
|
||||
|
|
Loading…
Reference in a new issue