Files
libfreemkv/CONTRIBUTING.md
T
Matthew Jackson 81ecc8acce decrypt: one content-detected decryption stage; keep going past damage
Every input decrypts through one stage that detects its content, with
strict stale-CPI handling and partial units only at EOF. Damage no
longer ends a rip where usable content remains (E7031, UDF FID,
MPLS/CLPI truncation, whole-disc E7032). M2TS output declares tracks in
an HDMV PMT and paces PCR; network:// allows LAN and loopback and
is_blocked_ip is public; parity goldens pin today's outputs.
2026-09-30 20:11:59 -07:00

39 lines
990 B
Markdown

# Contributing to libfreemkv
Thanks for your interest in contributing!
## Ways to help
- **Report a bug** — open an issue with steps to reproduce
- **Submit your drive profile** — run `freemkv info --share` to help expand hardware support
- **Fix a bug** — fork, branch, PR
- **Add a feature** — open an issue first to discuss
## Development
```bash
cargo build
cargo test
```
### Parity goldens
`parity_*` tests pin what every input-to-output path produces today (output hashes, loss
counters, refusal codes) in `tests/goldens/*.golden`. A change that moves one must say why.
Re-bless on purpose, then review the diff:
```bash
FREEMKV_BLESS_GOLDENS=1 cargo test --lib parity_
git diff tests/goldens
```
## Code style
- Follow Rust conventions (`cargo fmt`, `cargo clippy`)
- Field names follow SPC-4 and MMC-6 SCSI standards
- Error codes are structured — no user-facing text in the library
## License
By contributing, you agree your code will be licensed under MIT.