mirror of
https://github.com/freemkv/freemkv-keysources.git
synced 2026-10-07 18:13:11 +00:00
- keydb write_atomic: create the temp file 0600 on Unix (OpenOptionsExt::mode) so umask can't leave renamed keydb.cfg key material world-readable. - online is_blocked_ip: decode 6to4 (2002::/16) and Teredo (2001:0000::/32) embedded IPv4 and re-check via SSRF guard; add unit test. - online resolve_and_guard: cap outstanding DNS-resolver threads (AtomicUsize, max 4) so a black-holed keyserver can't leak threads unboundedly. - keydb cached_db: run the ~62 MiB reparse OUTSIDE self.cache lock, with a double-checked re-acquire to install (avoids stalling all workers; keeps the one-open-one-identity invariant). - keydb unit_keys_from: log tracing::warn! on enc_title_keys()/mkb() Err before falling back to empty (parity with online.rs). - keydb unit_keys_from: skip stored unit keys with CPS number 0 (would collide with unit 1 at idx 0); add regression test. - tests: assert full 16-byte key values (online UK/VUK/at-cap paths) and give parse_disc_entry distinct M/I/V/U values. - docs/keydb-format.md: DiscEntry::title is read (to_keydb_cfg + Debug), not unused; cross-reference the duplicated MAX_KEYDB_BYTES constants.