ModernUO/Projects
Kamron Batman e7ab7e8738 feat(accounts): add a config-gated repair for mis-migrated passwords
Accounts corrupted by the pre-fix SetPassword hold argon2(username + password)
tagged with an algorithm whose phrase rule omits the username. Nothing in the
hash distinguishes that from a forgotten password, so the only detection is to
retry with the other phrase on a failed verify -- which doubles the cost of
every failed login, and failed logins are the credential-stuffing surface.

Hence accountSecurity.repairMigratedPasswords, default false: an operator turns
it on for a migration window and off again. Repaired accounts are force-rehashed
because their stored parameters may already be current, in which case NeedsRehash
would decline and the account would verify once and stay broken.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 17:00:12 -07:00
..
Application fix: Bumps dependencies. (#2531) 2026-07-14 15:17:55 -07:00
BuildTool fix: Require only runtime packages on Linux, and check ICU and tzdata the way the runtime does (#2561) 2026-08-07 15:03:08 -07:00
Logger fix: Bumps dependencies. (#2531) 2026-07-14 15:17:55 -07:00
Server fix: Require only runtime packages on Linux, and check ICU and tzdata the way the runtime does (#2561) 2026-08-07 15:03:08 -07:00
Server.Tests feat(network): allowlist false-positive IPs, escalate on behavior (#2556) 2026-07-30 23:12:17 -07:00
UOContent feat(accounts): add a config-gated repair for mis-migrated passwords 2026-08-07 17:00:12 -07:00
UOContent.Tests feat(accounts): add a config-gated repair for mis-migrated passwords 2026-08-07 17:00:12 -07:00