ModernUO/Projects/UOContent/Accounting
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
..
Security feat(accounts): add a config-gated repair for mis-migrated passwords 2026-08-07 17:00:12 -07:00
Account.cs feat(accounts): add a config-gated repair for mis-migrated passwords 2026-08-07 17:00:12 -07:00
Account.Migrations.cs chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
AccountComment.cs fix(core): Fixes accounts and moves it to codegen (#644) 2021-06-05 19:39:16 -07:00
AccountHandler.cs feat(network): allowlist false-positive IPs, escalate on behavior (#2556) 2026-07-30 23:12:17 -07:00
Accounts.cs fix: Fixes libdeflate gc pin issue (#1794) 2024-05-25 18:11:46 -07:00
AccountTag.cs fix(core): Fixes accounts and moves it to codegen (#644) 2021-06-05 19:39:16 -07:00
IPasswordProtection.cs feat(accounts): rehash stale Argon2 parameters on successful login 2026-08-07 16:50:40 -07:00