Do not match sharees on an empty email address

When asking for sharees we compare not only UID and displayname but also
the email address. And if that matches we return the sharee as an exact
match. This logic had a flaw as in that it also matched the empty string
to users with no email address.

This is most noticeable when you disable sharee enumeration and open the
ownership transfer dialog. It suggested other users of the instance
before. This has stopped now.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
This commit is contained in:
Christoph Wurst 2020-09-28 15:35:11 +02:00 committed by backportbot[bot]
parent 0d4ea5fc63
commit 1c65d33e9f
1 changed files with 2 additions and 2 deletions

View File

@ -113,9 +113,9 @@ class UserPlugin implements ISearchPlugin {
$userEmail = $user->getEMailAddress();
$uid = (string) $uid;
if (
strtolower($uid) === $lowerSearch ||
$lowerSearch !== '' && (strtolower($uid) === $lowerSearch ||
strtolower($userDisplayName) === $lowerSearch ||
strtolower($userEmail) === $lowerSearch
strtolower($userEmail) === $lowerSearch)
) {
if (strtolower($uid) === $lowerSearch) {
$foundUserById = true;