Commit Graph

166 Commits

Author SHA1 Message Date
Shadowghost 4cc69f4be0 Apply review suggestions 2026-07-21 14:30:55 +02:00
Shadowghost b99703301f Merge remote-tracking branch 'upstream/master' into security-path-traversal-fixes
# Conflicts:
#	Jellyfin.Api/Controllers/HlsSegmentController.cs
#	Jellyfin.Api/Controllers/PluginsController.cs
2026-07-21 07:14:47 +02:00
Cody Robibero 23fa02eb59 Merge pull request #17282 from TowyTowy/fix/13137-clear-profile-image
Fix profile image being impossible to clear when its in-memory key is temporary
2026-07-20 19:58:43 -04:00
Bond-009 aead9c0e22 Merge pull request #17302 from ElianCodes/fix/lastlogindate-stale-entity
Keep authenticated user entity in sync with persisted login timestamps
2026-07-20 08:36:53 +02:00
Shadowghost 21801e8ba1 Harden remaining path-construction sinks against traversal 2026-07-17 17:08:59 +02:00
Elian Van Cutsem 47f567b6f1 Keep authenticated user entity in sync with persisted login timestamps
ExecuteUpdateAsync bypasses the EF change tracker, so the user entity
returned by AuthenticateUser still carried the old LastLoginDate and
LastActivityDate. SessionManager.LogSessionActivity then saved that
stale entity in full, reverting LastLoginDate (usually to null)
milliseconds after every login. Setting the properties on the entity
keeps the follow-up save consistent and lets the 60-second activity
guard skip the redundant write during login.

Fixes #17301
2026-07-11 14:04:07 +02:00
TowyTowy 2326ecdedc Fix profile image being impossible to clear when its in-memory key is temporary
ClearProfileImageAsync removed the ProfileImage instance attached to the
passed-in User, but that instance can carry a stale, never-persisted
(temporary) key because UpdateUserAsync creates the persisted image on a
separately loaded entity and never copies the generated key back.
Removing that detached entity on a fresh DbContext made EF Core throw
InvalidOperationException ('ImageInfo.Id has a temporary value'), leaving
the profile image impossible to delete or replace.

Load the tracked, persisted user and remove its actual ProfileImage,
matching the removal pattern already used in UpdateUserAsync. Adds
regression tests covering the temporary-key case and the no-image no-op
(the first fails before this change and passes after).

Fixes #13137

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 13:39:09 +02:00
theguymadmax 8b826d981b Fix max login attempts 2026-07-08 23:07:57 -04:00
Bond_009 482cf4b8c3 Allow changing capitalization of usernames
Fixes #17195
Adds a regression test
2026-07-03 18:33:10 +02:00
JPVenson 6ccdaad0a4 Backport pull request #16944 from jellyfin/release-10.11.z
Add lockhelper for UserManager

Original-merge: 39958ad9e5

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Bond_009 <bond.009@outlook.com>
2026-06-07 14:29:36 -04:00
Bond-009 11130030d2 Backport: Fix/user manager collation (#16919)
Backport: Fix/user manager collation
2026-05-26 20:59:20 +02:00
JPVenson ec054f6a34 Backport changes from #15368 2026-05-05 17:57:27 +00:00
Shadowghost 2789532aa8 Optimize Validator and Filter Performance 2026-01-31 19:22:04 +01:00
Collin-Swish 2a464c316d Backport pull request #15752 from jellyfin/release-10.11.z
Fix case sensitivity edge case

Original-merge: b50ce1ad6b

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-12-28 07:22:21 -05:00
Niels van Velzen 19c232809e Merge pull request #14950 from nielsvanvelzen/security-remove-has-password
Deprecate HasPassword property on UserDto
2025-11-27 16:31:05 +01:00
thornbill 1ccd10863e Backport pull request #15254 from jellyfin/release-10.11.z
Update password reset to always return the same response structure

Original-merge: 4ad3141875

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2025-11-02 21:58:42 -05:00
Niels van Velzen 0fb6d930e1 Deprecate HasPassword property on UserDto 2025-10-05 11:10:36 +02:00
evan314159 4246825239 Attach before updating/deleting to avoid DbUpdateConcurrencyException (#14746) 2025-09-20 07:23:04 -06:00
Bond_009 c7c7b30d28 Revert "Merge pull request #13604 from Jxiced/master"
This reverts commit ce78af2ed4, reversing
changes made to db7465e83d.
2025-08-06 15:49:40 +02:00
Joshua M. Boniface 4b6fb6c4bb Merge branch 'master' into master 2025-08-03 17:27:17 -04:00
Tim Eisele 3fc3b04daf Rework parental ratings (#12615) 2025-03-30 21:51:54 -06:00
JPVenson 42bdb22bfb Fixed namespaces 2025-03-25 16:45:00 +01:00
JPVenson 160020c551 WIP fixed namespaces 2025-03-25 15:30:22 +00:00
JPVenson feea5af2f3 Merge remote-tracking branch 'jellyfinorigin/master' into feature/DatabaseRefactor 2025-03-01 14:16:49 +00:00
Jxiced e7bc86ebb8 Move throw into interface to use in wizard, check for null and invalid username. 2025-02-23 22:16:35 +00:00
Jxiced 70d07b830d Prevent whitespaces in username during wizard setup. 2025-02-21 21:19:20 +00:00
Jxiced 84450bb297 Update Jellyfin.Server.Implementations/Users/UserManager.cs
Co-authored-by: gnattu <gnattu@users.noreply.github.com>
2025-02-14 18:13:05 +00:00
Jxiced 237c1d9b97 Update regex and revert previous changes to ThrowIfInvalidUsername. 2025-02-14 17:46:23 +00:00
Jxiced a0ab0eb875 Update ThrowIfInvalidUsername to include whitespaces. 2025-02-14 17:01:01 +00:00
JPVenson 379a104cfb Changed UserName to non-deterministic field 2025-01-29 20:17:50 +00:00
JPVenson aa811eb1e3 Prepared Seperation of Database components for future multi provider support 2025-01-26 20:45:28 +00:00
SethPattee a416c438da Added + in username regex validator, Test + in username, issue #10414 (#12819) 2024-11-03 15:43:27 +01:00
JPVenson 5b696124fc Add catch to remove cached user if creation fails (#12574) 2024-10-20 21:27:18 -06:00
Niels van Velzen 2b492ed8cd Merge pull request #12545 from Bond-009/sha1
Remove passwordSha1 param from AuthenticateUser function
2024-09-06 21:56:59 +02:00
Bond_009 97a02f5803 Remove BOM from UTF-8 files
I think some people need to change their IDE configuration ;)
2024-08-30 15:29:48 +02:00
Bond_009 eca5abe4bb Remove passwordSha1 param from AuthenticateUser function 2024-08-30 14:27:30 +02:00
gnattu 5fe7d7f0bf Backport pull request #11670 from jellyfin/release-10.9.z
Restore caching for UserManager

Original-merge: f8b67ec44c

Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-17 13:51:47 -04:00
Cody Robibero 0bc41c015f Store lyrics in the database as media streams (#9951) 2024-02-26 05:09:40 -07:00
Cody Robibero e7b8d45bbb Use helper function to compare guid (#10825) 2024-01-17 08:51:39 -07:00
Patrick Barron 04dddd3a7b Remove UserManager Cache (#10781)
* Remove redundant user cache

* Use DI for IPasswordResetProvider and IAuthenticationProvider
2024-01-06 13:43:48 -07:00
Bond_009 635d67d458 Revert "Use System.Net.IPNetwork"
This reverts commit 117d05d288da1d412159a29c0cb8d5c8259e48ae.
2023-11-14 21:16:33 +01:00
Bond_009 b62b0ec2b5 Fix warnings 2023-11-14 21:14:21 +01:00
Claus Vium db4605609c Merge pull request #10410 from Ch1nkara/add-users-permission-to-edit-subtitles
add EnableSubtitleManagement permission
2023-10-27 09:44:52 +02:00
chinkara 9f259aa404 add EnableSubtitleManagement permission 2023-10-18 18:31:31 +02:00
Bond-009 84bbf757fa Merge pull request #10366 from goremykin/fix-resharper-warnings 2023-10-17 14:31:35 +02:00
Cody Robibero 13f46e3fff Shorten lines from review 2023-10-14 10:55:12 -06:00
Cody Robibero 6bd6fb6e0a Merge branch 'master' into chromecast-config
# Conflicts:
#	Emby.Server.Implementations/ApplicationHost.cs
2023-10-10 15:59:34 -06:00
Stepan Goremykin 8ea812b65d Reduce string literal length by using verbatim string 2023-10-08 00:26:12 +02:00
Patrick Barron 1ca9f8b04b Remove unused fields and parameters 2023-10-03 09:26:20 -04:00
Cody Robibero bc88c96cbe Validate cast receiver id on get/set 2023-09-23 16:14:03 -06:00