UserAuth prevent plugin errors (like the Nextcloud plugin did)

This commit is contained in:
the-djmaze 2024-05-27 10:51:54 +02:00
parent 69cd876895
commit 365a5effdf

View file

@ -37,7 +37,11 @@ trait UserAuth
{ {
$sEmail = \SnappyMail\IDN::emailToAscii(\MailSo\Base\Utils::Trim($sEmail)); $sEmail = \SnappyMail\IDN::emailToAscii(\MailSo\Base\Utils::Trim($sEmail));
$this->Plugins()->RunHook('login.credentials.step-1', array(&$sEmail)); $sNewEmail = $sEmail;
$this->Plugins()->RunHook('login.credentials.step-1', array(&$sNewEmail));
if ($sNewEmail) {
$sEmail = $sNewEmail;
}
$oDomain = null; $oDomain = null;
$oDomainProvider = $this->DomainProvider(); $oDomainProvider = $this->DomainProvider();
@ -98,9 +102,13 @@ trait UserAuth
} }
} }
$sPassword = (string) $oPassword; $sNewEmail = $sEmail;
$this->Plugins()->RunHook('login.credentials.step-2', array(&$sEmail, &$sPassword)); $sPassword = $oPassword->getValue();
$this->Plugins()->RunHook('login.credentials.step-2', array(&$sNewEmail, &$sPassword));
$this->logMask($sPassword); $this->logMask($sPassword);
if ($sNewEmail) {
$sEmail = $sNewEmail;
}
$sImapUser = $sEmail; $sImapUser = $sEmail;
$sSmtpUser = $sEmail; $sSmtpUser = $sEmail;
@ -112,15 +120,18 @@ trait UserAuth
$sSmtpUser = $oDomain->SmtpSettings()->fixUsername($sSmtpUser); $sSmtpUser = $oDomain->SmtpSettings()->fixUsername($sSmtpUser);
} }
$this->Plugins()->RunHook('login.credentials', array(&$sEmail, &$sImapUser, &$sPassword, &$sSmtpUser)); $sNewEmail = $sEmail;
$sNewImapUser = $sImapUser;
$sNewSmtpUser = $sSmtpUser;
$this->Plugins()->RunHook('login.credentials', array(&$sNewEmail, &$sNewImapUser, &$sPassword, &$sNewSmtpUser));
$oPassword->setValue($sPassword); $oPassword->setValue($sPassword);
return [ return [
'email' => $sEmail, 'email' => $sNewEmail ?: $sEmail,
'domain' => $oDomain, 'domain' => $oDomain,
'imapUser' => $sImapUser, 'imapUser' => $sNewImapUser ?: $sImapUser,
'smtpUser' => $sSmtpUser, 'smtpUser' => $sNewSmtpUser ?: $sSmtpUser,
'pass' => $oPassword 'pass' => $oPassword
]; ];
} }