0.31.0: hardening and correctness pass across mux, codec, AACS/CSS, UDF/MPLS/CLPI, recovery, drive/SCSI, labels, and I/O

Library-wide review-and-fix pass: tightened AACS keydb/handshake/variant
handling and trailing-partial-unit policy, corrected MPLS mark offset and
added UDF allocation bounds, hardened the mux/codec framing and M2TS paths,
guarded SCSI READ CAPACITY short transfers and unified error mapping, added
overflow guards on untrusted disc input, and made prefetch shutdown
deterministic. Release profile now builds with thin LTO + single codegen unit.
This commit is contained in:
Matthew Jackson
2026-06-07 17:37:38 -07:00
parent 5b6ea8f5c4
commit 061f68594a
128 changed files with 11838 additions and 3831 deletions
+6
View File
@@ -25,8 +25,14 @@ pub struct DriveCapture {
/// A single GET CONFIGURATION feature response from the drive.
#[derive(Debug, Clone)]
pub struct CapturedFeature {
/// MMC-6 GET CONFIGURATION feature code (e.g. `0x010D` = AACS).
pub code: u16,
/// Static human-readable label from the internal `FEATURES` table —
/// not a device-reported string.
pub name: &'static str,
/// Raw feature-descriptor payload bytes, with the 8-byte GET
/// CONFIGURATION header stripped (i.e. `buf[8..]`). Unlike
/// [`DriveCapture::gc_010c`], which retains the full header.
pub data: Vec<u8>,
}