diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php b/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php index 65c2d433f..bb727987a 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php @@ -285,9 +285,22 @@ class ActionsAdmin extends Actions $sUsername = $this->GetActionParam('username', ''); if ($sUsername) { + $aSASLMechanisms = []; + $oConfig = $this->Config(); + if ($oConfig->Get('labs', 'sasl_allow_scram_sha', false)) { + // https://github.com/the-djmaze/snappymail/issues/182 + \array_push($aSASLMechanisms, 'SCRAM-SHA3-512', 'SCRAM-SHA-512', 'SCRAM-SHA-256', 'SCRAM-SHA-1'); + } + if ($oConfig->Get('labs', 'sasl_allow_cram_md5', false)) { + $aSASLMechanisms[] = 'CRAM-MD5'; + } + if ($oConfig->Get('labs', 'sasl_allow_plain', true)) { + $aSASLMechanisms[] = 'PLAIN'; + } $oImapClient->Login([ 'Login' => $sUsername, - 'Password' => $this->GetActionParam('password', '') + 'Password' => $this->GetActionParam('password', ''), + 'SASLMechanisms' => $aSASLMechanisms ]); }