aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSethPattee <97485847+SethPattee@users.noreply.github.com>2024-11-03 07:43:27 -0700
committerGitHub <noreply@github.com>2024-11-03 15:43:27 +0100
commita416c438da1cc94389aa96d97929b27f3c08e5a7 (patch)
tree722cd0341d5c1d23fcb2bd23f9d293824f9baa04
parent30e20a01468d0ac39435adc509b574e1e2b1ffbd (diff)
Added + in username regex validator, Test + in username, issue #10414 (#12819)
-rw-r--r--Jellyfin.Server.Implementations/Users/UserManager.cs2
-rw-r--r--tests/Jellyfin.Server.Implementations.Tests/Users/UserManagerTests.cs3
2 files changed, 4 insertions, 1 deletions
diff --git a/Jellyfin.Server.Implementations/Users/UserManager.cs b/Jellyfin.Server.Implementations/Users/UserManager.cs
index 1b6635938..c7ae0f4db 100644
--- a/Jellyfin.Server.Implementations/Users/UserManager.cs
+++ b/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/>
diff --git a/tests/Jellyfin.Server.Implementations.Tests/Users/UserManagerTests.cs b/tests/Jellyfin.Server.Implementations.Tests/Users/UserManagerTests.cs
index 295f558fa..665afe111 100644
--- a/tests/Jellyfin.Server.Implementations.Tests/Users/UserManagerTests.cs
+++ b/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));