0d0dc81879bd1dd0fd32f932cced5892e0aa4a15
Four libFuzzer targets: - parse_command: Command::from_bytes never panics; bounded payload. - parse_radio_config: RadioConfig::from_bytes never panics. - cobs_decoder_feed: CobsDecoder::feed is panic-free across arbitrary byte streams split into arbitrary chunks. - cobs_roundtrip: structure-aware (via arbitrary crate) Response → cobs_encode_response → ucobs::decode yields identical raw bytes. All four smoke-tested at 50k runs each with no findings. Intended CI cadence is a weekly cron with a larger time budget; per-PR would be expensive. Requires nightly + cargo-fuzz.
donglora-protocol
Wire protocol types and COBS framing for DongLoRa, shared between firmware
and host crates (client-rs, mux-rs, bridge).
no_std by default. defmt::Format derives are opt-in via the default
defmt feature. Host consumers disable default features:
donglora-protocol = { version = "0.1", default-features = false }
Status
Pre-1.0. Currently consumed by path dep; will publish to crates.io once the surface area settles.
Layout
src/lib.rs—Command,Response,RadioConfig,ErrorCode, etc.src/framing.rs—CobsDecoder+cobs_encode_responsefor USB/UART transports.tests/— proptest suite (roundtrips, bounded-capacity invariants, regional-regs, duty-cycle math).fuzz/— cargo-fuzz targets on the parser and framer.
Languages
Rust
98.6%
Just
1.4%