mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-06-01 04:34:26 -04:00
Merge pull request #13556 from Jxiced/master
Don't allow usernames to have leading or trailing spaces
This commit is contained in:
commit
51e0ce7ea4
@ -113,7 +113,7 @@ namespace Jellyfin.Server.Implementations.Users
|
|||||||
// This is some regex that matches only on unicode "word" characters, as well as -, _ and @
|
// This is some regex that matches only on unicode "word" characters, as well as -, _ and @
|
||||||
// In theory this will cut out most if not all 'control' characters which should help minimize any weirdness
|
// In theory this will cut out most if not all 'control' characters which should help minimize any weirdness
|
||||||
// Usernames can contain letters (a-z + whatever else unicode is cool with), numbers (0-9), at-signs (@), dashes (-), underscores (_), apostrophes ('), periods (.) and spaces ( )
|
// Usernames can contain letters (a-z + whatever else unicode is cool with), numbers (0-9), at-signs (@), dashes (-), underscores (_), apostrophes ('), periods (.) and spaces ( )
|
||||||
[GeneratedRegex(@"^[\w\ \-'._@+]+$")]
|
[GeneratedRegex(@"^(?!\s)[\w\ \-'._@+]+(?<!\s)$")]
|
||||||
private static partial Regex ValidUsernameRegex();
|
private static partial Regex ValidUsernameRegex();
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
@ -23,6 +23,10 @@ namespace Jellyfin.Server.Implementations.Tests.Users
|
|||||||
[InlineData(" ")]
|
[InlineData(" ")]
|
||||||
[InlineData("")]
|
[InlineData("")]
|
||||||
[InlineData("special characters like & $ ? are not allowed")]
|
[InlineData("special characters like & $ ? are not allowed")]
|
||||||
|
[InlineData("thishasaspaceontheend ")]
|
||||||
|
[InlineData(" thishasaspaceatthestart")]
|
||||||
|
[InlineData(" thishasaspaceatbothends ")]
|
||||||
|
[InlineData(" this has a space at both ends and inbetween ")]
|
||||||
public void ThrowIfInvalidUsername_WhenInvalidUsername_ThrowsArgumentException(string username)
|
public void ThrowIfInvalidUsername_WhenInvalidUsername_ThrowsArgumentException(string username)
|
||||||
{
|
{
|
||||||
Assert.Throws<ArgumentException>(() => UserManager.ThrowIfInvalidUsername(username));
|
Assert.Throws<ArgumentException>(() => UserManager.ThrowIfInvalidUsername(username));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user