Files
libfreemkv/docs/aacs-trace.md
T
Matthew Jackson 6e14fc0c0c libfreemkv: 1.7.0 groundwork — sector-recycle soundness + CI hardening
Security
- Remove the unsafe Vec::set_len over recycled sector buffers — UB reachable
  from safe code (GHSA-j8ww-f5fg-9pmh, low). Uses Vec::resize; pooling unchanged.

CI / tooling
- clippy on stable with the MSRV single-sourced from Cargo.toml; cargo-deny
  dependency-audit gate with first-party git sources allowed (#15); audience-based
  comment-guard (#17).

Docs
- README (keydb ownership, BD-J parser count), drive-access transport/reset
  notes, mux timeline module-doc links.
2026-09-02 12:40:55 -07:00

757 B

AACS resolution trace shape

src/aacs/trace.rs defines the structured trace of a resolution attempt (the unlock phase, then the key-resolution phase).

  • No user-facing English: every step's STATE is a typed enum variant. Applications render these into localized text — the library never does. This module only defines the shape and is wired through the resolve/handshake return path far enough to compile.
  • The who of each step is the source's label() / unlocker's name() — a stable identifier string (a NAME, like a codec id, NOT user-facing prose), carried verbatim so an app renderer never has to match an enum back to a name it already has. Only the OUTCOME / path enums are structured states the app maps to i18n English.