From d612aeec2d7990463ae396c8690d1cd91f809531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Tue, 3 Mar 2020 17:19:34 +0100 Subject: [PATCH] Fix regex to not take email uids as federated ids MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- apps/files_sharing/src/share.js | 41 ++++++++++++++++----------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/apps/files_sharing/src/share.js b/apps/files_sharing/src/share.js index 79dfe4a174..efd1be00ab 100644 --- a/apps/files_sharing/src/share.js +++ b/apps/files_sharing/src/share.js @@ -25,13 +25,14 @@ * @namespace */ OCA.Sharing.Util = { - - /** - * Regular expression for splitting parts of remote share owners: - * "user@example.com/path/to/owncloud" - * "user@anotherexample.com@example.com/path/to/owncloud - */ - _REMOTE_OWNER_REGEXP: new RegExp('^([^@]*)@(([^@]*)@)?([^/]*)([/](.*)?)?$'), + + /** + * Regular expression for splitting parts of remote share owners: + * "user@example.com/" + * "user@example.com/path/to/owncloud" + * "user@anotherexample.com@example.com/path/to/owncloud + */ + _REMOTE_OWNER_REGEXP: new RegExp('^(([^@]*)@(([^@^/^\\s]*)@)?)([^[\\s/]*)([/](.*))?$'), /** * Initialize the sharing plugin. @@ -350,26 +351,24 @@ */ _formatRemoteShare: function(shareWith, shareWithDisplayName, message) { var parts = OCA.Sharing.Util._REMOTE_OWNER_REGEXP.exec(shareWith) - if (!parts) { + if (!parts || !parts[6]) { // display avatar of the user var avatar = '' var hidden = '' + message + ' ' + escapeHTML(shareWithDisplayName) + ' ' return avatar + hidden } - var userName = parts[1] - var userDomain = parts[3] - var server = parts[4] - var tooltip = message + ' ' + userName - if (userDomain) { - tooltip += '@' + userDomain - } - if (server) { - if (!userDomain) { - userDomain = '…' - } - tooltip += '@' + server - } + var userName = parts[2] + var userDomain = parts[4] + var server = parts[5] + + var tooltip = message + ' ' + userName + if (userDomain) { + tooltip += '@' + userDomain + } + if (server) { + tooltip += '@' + server + } var html = '' html += '' + escapeHTML(userName) + ''