5ea0e2cc5a4bbb4c1cb2b2ba3636ec1b5268d8b1
Restore ld's drive-prep match guard so the firmware unlocker fires exactly once (at drive-prep, kind==Unknown) and never re-fires during the content-keyed Aacs/Css dispatch — the consumer (libfreemkv) dispatches at three points (init/cert/css) with the appropriate kind. Add firmware_unlocker_name(drive_id) for "is this drive supported?" drive-info display without unlocking. 89 tests.
freemkv-unlock
Unlocker plugins for libfreemkv.
libfreemkv ships only the pluggable Unlocker trait + registry and stays
firmware-clean — it contains no concrete unlock code. Each crate in this
workspace implements one unlocker and is registered into libfreemkv by a single
line in the consuming binary:
libfreemkv::register_unlocker(Box::new(my_unlocker::MyUnlocker::new()));
Removing an unlocker is deleting that one line and the dependency (delete-to-comply).
Members
Each member is a self-contained unlocker plugin — see its own README for details.
License: AGPL-3.0-only.
Languages
Rust
100%