libfreemkv 0.31.8: recover unpositioned device key position from an MKB

Add recover_dk_position: boil a position-less device key down against a
disc MKB to its invariant subset-difference position (node/uv/u_mask_shift)
— zero-descent probe + ancestor walk-up, hoisted verify. Consolidate the
SD-walk surface (drop the research-only probe::walk_pk_against_tables;
make derive_media_key_from_pk_walked internal).
This commit is contained in:
Matthew Jackson
2026-06-17 15:29:51 -07:00
parent 4221cd6a86
commit dc87962e50
4 changed files with 131 additions and 40 deletions
+15
View File
@@ -1,5 +1,20 @@
# Changelog
## 0.31.8 (2026-06-17)
### Added
- `recover_dk_position(mkb, key) -> Option<DeviceKey>`: recover an unpositioned
device key's subset-difference position (`node`/`uv`/`u_mask_shift`) by
scanning a disc MKB — the zero-descent slot probe and ancestor walk-up, with
the verify reduced to the hoisted terminal Processing Key. Lets a caller boil
a position-less device key against a real disc.
### Changed
- Consolidate the SD walk surface: remove the research-only
`probe::walk_pk_against_tables` (the single PK→MK engine is reached via
`derive_media_key_from_pk`); make `derive_media_key_from_pk_walked` internal.
## 0.31.7 (2026-06-17)
### Added