fix(multiplayer): validate persisted matchmaking ids

This commit is contained in:
Josh Creek
2026-09-01 22:46:40 +01:00
parent e9ed8923c9
commit bda3fc5aff
3 changed files with 16 additions and 5 deletions
+2
View File
@@ -1599,6 +1599,8 @@ Allocated `ServerConfig` startup now enforces the opaque match/server ID contrac
Authenticated client REST methods now enforce opaque ticket, proposal, and match IDs before constructing request paths, preventing malformed identifiers from crossing the URL boundary.
Persisted matchmaking snapshots now apply the same opaque-ID validation to ticket and proposal identities, preventing malformed restart state from entering recovery.
Signed MatchNet claims now also require exact JSON string/integer types for every identity, protocol, expiry, slot, team, and generation field; string-number coercion is rejected before canonical signature verification.
Presentation progress: a shared `Game/themes/cosmic_clash_theme.tres` now gives the menu, lobby, matchmaking, and settings surfaces consistent button, input, option, and label styling. The custom-font portion of `TODO.md` remains open until a distributable font asset is selected.