mirror of
https://github.com/freemkv/freemkv-keysources.git
synced 2026-10-07 18:13:11 +00:00
d2e0ecc2d49422b5980d75cfdca449680425acd0
The published key-source layer for libfreemkv. libfreemkv does no lookup; it is handed a Key and derives down. This crate provides the KeySource impls that do the lookup and hand a Key in. Applications choose and order the sources. This first cut ships: - KeydbSource: parses a local keydb.cfg and enumerates its material as ordered candidate keys (per-disc VUK/unit/media first, then the universal device-key, processing-key, and media-key pools). It does no derivation — the library walks the MKB and verifies media keys. Candidate ordering lets the library try each path a keydb can satisfy. - resolve_first: tries each source's candidates in order and returns the first the caller's validator accepts (validate-before-return), so a stale entry falls through to the next source. OnlineSource (remote key service) and MapfileSource (cached unit key) land with the application wiring, where the sample-read and mapfile paths already live.
Languages
Rust
100%