diff options
author | Vincent Petry <vincent@nextcloud.com> | 2022-12-16 22:46:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-16 22:46:22 +0100 |
commit | 346f990e8dfa1e32bf4963bcd69e0e51893a65f9 (patch) | |
tree | e21f753a2b57c796e91836d832e0bf7a17ad46e0 /apps | |
parent | 3b7cc31f64d7feae07b424f977f6963d12da012d (diff) | |
parent | f9ea078e2774b1834929c4bce7a36f94d889cea9 (diff) | |
download | nextcloud-server-346f990e8dfa1e32bf4963bcd69e0e51893a65f9.tar.gz nextcloud-server-346f990e8dfa1e32bf4963bcd69e0e51893a65f9.zip |
Merge pull request #34629 from nextcloud/fix/case-sensitivity-email-ldap
Fix case sensitivity of email when saving settings
Diffstat (limited to 'apps')
-rw-r--r-- | apps/settings/lib/Controller/UsersController.php | 2 | ||||
-rw-r--r-- | apps/settings/tests/Controller/UsersControllerTest.php | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/apps/settings/lib/Controller/UsersController.php b/apps/settings/lib/Controller/UsersController.php index 7c543508496..217abf0e156 100644 --- a/apps/settings/lib/Controller/UsersController.php +++ b/apps/settings/lib/Controller/UsersController.php @@ -491,7 +491,7 @@ class UsersController extends Controller { $oldEmailAddress = $userAccount->getUser()->getSystemEMailAddress(); $oldEmailAddress = strtolower((string)$oldEmailAddress); - if ($oldEmailAddress !== $userAccount->getProperty(IAccountManager::PROPERTY_EMAIL)->getValue()) { + if ($oldEmailAddress !== strtolower($userAccount->getProperty(IAccountManager::PROPERTY_EMAIL)->getValue())) { // this is the only permission a backend provides and is also used // for the permission of setting a email address if (!$userAccount->getUser()->canChangeDisplayName()) { diff --git a/apps/settings/tests/Controller/UsersControllerTest.php b/apps/settings/tests/Controller/UsersControllerTest.php index 9ad81148ef1..e90f34d3efd 100644 --- a/apps/settings/tests/Controller/UsersControllerTest.php +++ b/apps/settings/tests/Controller/UsersControllerTest.php @@ -649,7 +649,7 @@ class UsersControllerTest extends \Test\TestCase { $user->method('getSystemEMailAddress')->willReturn($oldEmailAddress); $user->method('canChangeDisplayName')->willReturn(true); - if ($data[IAccountManager::PROPERTY_EMAIL]['value'] === $oldEmailAddress || + if (strtolower($data[IAccountManager::PROPERTY_EMAIL]['value']) === strtolower($oldEmailAddress) || ($oldEmailAddress === null && $data[IAccountManager::PROPERTY_EMAIL]['value'] === '')) { $user->expects($this->never())->method('setSystemEMailAddress'); } else { @@ -745,6 +745,14 @@ class UsersControllerTest extends \Test\TestCase { 'john@example.com', null ], + [ + [ + IAccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'], + IAccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'], + ], + 'JOHN@example.com', + null + ], ]; } |