- a panic writes benilla-config/Diagnostics/crash-<time>.txt with the build id, the location, a backtrace and the last 200 log lines, and names the file as its last line, so a bug report can attach it (2266) - every wire-count allocation hint is capped and the compressed update object reads through the cursor, so a malformed packet can no longer ask for gigabytes (2266) - the 23 in-world run conditions are one set, the 45 probe variables one registry, the install-gated tests say when they skip, and every gate is timed (2266) - one workspace-level lint allowance replaces 413 per-site attributes, and the decision corpus gets a lint in the gate (2266) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
20 lines
908 B
TOML
20 lines
908 B
TOML
[package]
|
|
name = "benilla-mpq"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "Read-only MPQ archive reader for WoW 1.12.1 (build 5875) — in-repo, decision 0021"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
# Bounds-checked byte readers + the allocation-cap guard (decision 0064). MPQ migrates minimally: the
|
|
# hand-rolled rd_u16/rd_u32 move to ByteExt and the header/block-table/sector allocations get capped;
|
|
# nothing else here changes (this crate is StormLib-pinned and deliberately not churned further).
|
|
benilla-bytes = { path = "../benilla-bytes" }
|
|
# zlib/inflate for the ZLIB (0x02) sector codec. miniz_oxide backend (pure Rust); no C, no archive
|
|
# writing. Any other codec the differential pass turns up in real 1.12.1 data (e.g. PKWARE-DCL 0x08)
|
|
# gets vendored alongside; `decompress` errors loudly on an unknown method so nothing is missed.
|
|
flate2 = "1.1"
|