ModernUO/Projects
Kamron Batman 065f5c5117
fix(network): restore huffman code for symbol 0x19
#2522 rewrote the outgoing huffman table and transposed symbol 0x19's code
from 0x1CE to 0x12E. The resulting code (100101110) is prefixed by symbol
0x0D's code (10010111), so the table was no longer prefix-free: the client's
decoder matched 0x0D after 8 bits, emitted the wrong byte, and desynced the
framing of everything that followed.

Any outgoing packet containing byte 0x19 anywhere in its body was affected.
StatLockInfo (0xBF/0x19) is sent during login, so clients jammed shortly after
entering the world - frozen world state, no disconnect.

Validated all 257 entries against every revision of the table in history: all
34 revisions back to the original import agree, and 0x1CE is the only outlier.

Adds regression tests: known-answer vectors generated from the canonical table
(pinning every entry), and a structural check that the table is a complete
prefix-free code, which is what makes this class of typo detectable at all.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 09:18:00 -07:00
..
Application feat(build-tool): add application icon and refresh MUO.ico (#2487) 2026-06-14 11:59:54 -07:00
BuildTool fix: Bumps dependencies. Adds Server 2012/2016 support. (#2509) 2026-07-02 19:29:34 -07:00
Logger fix: Fixes publishing with build tool (#2398) 2026-04-04 00:35:39 -07:00
Server fix(network): restore huffman code for symbol 0x19 2026-07-14 09:18:00 -07:00
Server.Tests fix(network): restore huffman code for symbol 0x19 2026-07-14 09:18:00 -07:00
UOContent perf(pathing): pool the StepCache strata buffer, then clean up the pathing engine around it (#2523) 2026-07-12 20:02:29 -07:00
UOContent.Tests perf(pathing): pool the StepCache strata buffer, then clean up the pathing engine around it (#2523) 2026-07-12 20:02:29 -07:00