ModernUO/Projects/UOContent/Accounting
Kamron Batman ccfbc1878a fix(accounts): compare salt and digest lengths in NeedsRehash
HashMetadataValues carries SaltLength and HashLength alongside the type and
the cost parameters, and NeedsRehash ignored both. A hash with a 16-byte
digest or an 8-byte salt verified fine and was judged current forever --
exactly the drift this method exists to catch. Unreachable today, since
every hash ModernUO has written uses the library defaults of 32 and 16, but
that is a property of the current configuration rather than of the check.

The two lengths are the decoded sizes of the base64 segments rather than
entries in the m/t/p list, so they cannot be varied through the existing
theory template; they get their own rows with pinned literals. The
"current defaults" row of that theory is the negative control.

Also name the benchmark behind the 8.5 ms / 10.1 ms figures in the parameter
comment: ModernUO-Benchmarks/Benchmarks/Argon2Hashing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 17:30:54 -07:00
..
Security fix(accounts): compare salt and digest lengths in NeedsRehash 2026-08-07 17:30:54 -07:00
Account.cs fix(accounts): gate the password repair on a per-account tag 2026-08-07 17:30:45 -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