Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Chemineau <louis@chmn.me>2022-09-06 11:58:01 +0300
committerbackportbot-nextcloud[bot] <backportbot-nextcloud[bot]@users.noreply.github.com>2022-09-06 18:24:01 +0300
commit0b5619f1325e3ce47f94324bf545320fa2027058 (patch)
tree4469666c6f37a1f0a72668526288cdaa9f88ed84
parentb09750c379898b8493a66ce527ea502735f5c576 (diff)
I dug into it again, and the issue is much simpler than I previously though.backport/33813/stable23
- LDAP has an email address with capital letters - NC store this address in lower case - When the user logs in, we compare the [stored email with the new lower case email](https://github.com/nextcloud/server/blob/master/lib/private/AllConfig.php#L259-L261) before storing it. Here, both email will be the same, so we won't store the new email address with upper case letters. Which is what we want. - We then [compare emails as they are before triggering an event](https://github.com/nextcloud/server/blob/master/lib/private/User/User.php#L202-L204), they won't match, so the user will receive an email signaling an email change every time he logs in. The fix is to compare the old email with the new lower case email before sending the event. Signed-off-by: Louis Chemineau <louis@chmn.me>
-rw-r--r--lib/private/User/User.php2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/private/User/User.php b/lib/private/User/User.php
index 5fa1272f95c..0b88ed56173 100644
--- a/lib/private/User/User.php
+++ b/lib/private/User/User.php
@@ -193,7 +193,7 @@ class User implements IUser {
$this->setPrimaryEMailAddress('');
}
- if ($oldMailAddress !== $mailAddress) {
+ if ($oldMailAddress !== strtolower($mailAddress)) {
$this->triggerChange('eMailAddress', $mailAddress, $oldMailAddress);
}
}