diff options
author | Julius Härtl <jus@bitgrid.net> | 2020-03-03 17:19:34 +0100 |
---|---|---|
committer | Julius Härtl <jus@bitgrid.net> | 2020-03-03 18:19:46 +0100 |
commit | d612aeec2d7990463ae396c8690d1cd91f809531 (patch) | |
tree | 774f65bbabf4e4d6bb71fcfa53ce4aada4e7152e | |
parent | 6ea1aef0315fa2812ad80e0af8456531e19ea642 (diff) | |
download | nextcloud-server-d612aeec2d7990463ae396c8690d1cd91f809531.tar.gz nextcloud-server-d612aeec2d7990463ae396c8690d1cd91f809531.zip |
Fix regex to not take email uids as federated ids
Signed-off-by: Julius Härtl <jus@bitgrid.net>
-rw-r--r-- | apps/files_sharing/src/share.js | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/apps/files_sharing/src/share.js b/apps/files_sharing/src/share.js index 79dfe4a174f..efd1be00ab7 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 = '<span class="avatar" data-username="' + escapeHTML(shareWith) + '" title="' + message + ' ' + escapeHTML(shareWithDisplayName) + '"></span>' var hidden = '<span class="hidden-visually">' + message + ' ' + escapeHTML(shareWithDisplayName) + '</span> ' 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 = '<span class="remoteAddress" title="' + escapeHTML(tooltip) + '">' html += '<span class="username">' + escapeHTML(userName) + '</span>' |