h2::Error now knows whether protocol errors happened because the user sent them, because it was received from the remote peer, or because the library itself emitted an error because it detected a protocol violation. It also keeps track of whether it came from a RST_STREAM or GO_AWAY frame, and in the case of the latter, it includes the additional debug data if any. Fixes #530
h2 integration tests
This crate includes the h2 integration tests. These tests exist in a separate
crate because they transitively depend on the unstable feature flag via
h2-support. Due to a cargo limitation, if these tests existed as part of the
h2 crate, it would require that h2-support be published to crates.io and
force the unstable feature flag to always be on.
Setup
Install honggfuzz for cargo:
cargo install honggfuzz
Running
From within this directory, run the following command:
HFUZZ_RUN_ARGS="-t 1" cargo hfuzz run h2-fuzz