-
Notifications
You must be signed in to change notification settings - Fork 64
Description
#693 introduced fuzzing targets to some crates and in the interest of avoiding forever lasting PRs, I didn't fix all of the found issues. Current status at the end of the PR is:
- packet: address is good, packet roundtrip added late, immediate roundtrip failure(s), #[ignore] tests
- btp: most fuzzed, looking quite good
- stream: roundtrip added late, immediate roundtrip failure(s), #[ignore] tests
- ccp: roundtripping, might be good
Other crates have not been fuzzed.
One obvious fix which isn't implemented yet is matching the Done in #707.interledger-packet datetime string against a regex before asking chrono to parse it in crates/interledger-packet/src/packet.rs. This fix would be similar to what was done for the variable length btp timestamp in e6f21c9.
#[ignore]'d test cases:
interledger_packet::packet::fuzzed::fuzzed_0_trailing_bytes(see https://github.com/interledger-rs/interledger-rs/issues/705#issuecomment-814876557)interledger_stream::packet::fuzzedtwo cases
Marking this as good-first-issue as with any hand-written parsing code, there are most likely issues still to be discovered even after fixing the #[ignore] test cases. Mentoring is available by pinging me or anyone who recently contributed to the repository. As there are many things to do, it might be best to avoid huge PRs like I ended up doing and tackling one issue at a time.