瀏覽代碼

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

SethPattee 7 月之前
父節點
當前提交
a416c438da

+ 1 - 1
Jellyfin.Server.Implementations/Users/UserManager.cs

@@ -113,7 +113,7 @@ namespace Jellyfin.Server.Implementations.Users
         // 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
         // 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();
 
         /// <inheritdoc/>

+ 3 - 0
tests/Jellyfin.Server.Implementations.Tests/Users/UserManagerTests.cs

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