Added + in username regex validator, Test + in username, issue #10414 (#12819)

This commit is contained in:
SethPattee 2024-11-03 07:43:27 -07:00 committed by GitHub
parent 30e20a0146
commit a416c438da
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 1 deletions

View File

@ -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(@"^[\w\ \-'._@+]+$")]
private static partial Regex ValidUsernameRegex(); private static partial Regex ValidUsernameRegex();
/// <inheritdoc/> /// <inheritdoc/>

View File

@ -10,6 +10,9 @@ namespace Jellyfin.Server.Implementations.Tests.Users
[InlineData("this_is_valid")] [InlineData("this_is_valid")]
[InlineData("this is also valid")] [InlineData("this is also valid")]
[InlineData("0@_-' .")] [InlineData("0@_-' .")]
[InlineData("Aa0@_-' .+")]
[InlineData("thisisa+testemail@test.foo")]
[InlineData("------@@@--+++----@@--abcdefghijklmn---------@----_-_-___-_ .9foo+")]
public void ThrowIfInvalidUsername_WhenValidUsername_DoesNotThrowArgumentException(string username) public void ThrowIfInvalidUsername_WhenValidUsername_DoesNotThrowArgumentException(string username)
{ {
var ex = Record.Exception(() => UserManager.ThrowIfInvalidUsername(username)); var ex = Record.Exception(() => UserManager.ThrowIfInvalidUsername(username));