-
-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add fuzzing for payload and fix all the issues found. #113
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
Not related to the diff per se, but it seems the first line of docstring for fn filter
on payload::Set
is incorrect and contradicts the remainder of that docstring and the actual working of that function. It currently says '(..) indicated elements removed', instead of '(..) retained'.
Breaking Changes * Upgrade Rust edition, minimal Rust version to 1.70, and dependencies. ([#88], [#91]) * Removed internal serial numbers and the ability to pass optional diffs between units. ([#96]) New * Added a new `merge` unit that merges the datasets of all its sources. ([#110], [#113]) * Added four new configuration options to the HTTP client: * `http-root-certs` for additional TLS root certificates, * `http-user-agent` for setting a custom user agent, * `http-client-addr` to specify a local address to bind to, and * `http-proxies` to add HTTP proxies (only available if the `socks` feature is enabled which it is by default). ([#111]) * The RTR timer values can now be configured for the RTR target. ([#106]) * The RTR target now produces metrics. By setting `client-metrics: true` in its configuration, the target produces separate metrics for each client address. ([#115], [#117]) * Log changes made by the `slurm` unit to updates. ([#87]) * The `slurm` unit now updates its data set if it discovers that the Slurm files have changed. ([#89]) * Both the `json` unit and target now support conditional HTTP requests via the Etag and Last-Modified headers. ([#98]) Bug Fixes * Fix a race condition where the `slurm` unit would not apply its changes to the first update if loading the files is too slow. ([#89]) * Fixed various race conditions during startup and shutdown. ([#101]) Other Changes * Upgrade the packaging and Docker build workflow to allow for cross-compilation. ([#90])
Breaking Changes * Upgrade Rust edition, minimal Rust version to 1.70, and dependencies. ([#88], [#91]) * Removed internal serial numbers and the ability to pass optional diffs between units. ([#96]) New * Added a new `merge` unit that merges the datasets of all its sources. ([#110], [#113]) * Added four new configuration options to the HTTP client: * `http-root-certs` for additional TLS root certificates, * `http-user-agent` for setting a custom user agent, * `http-client-addr` to specify a local address to bind to, and * `http-proxies` to add HTTP proxies (only available if the `socks` feature is enabled which it is by default). ([#111]) * The RTR timer values can now be configured for the RTR target. ([#106]) * The RTR target now produces metrics. By setting `client-metrics: true` in its configuration, the target produces separate metrics for each client address. ([#115], [#117]) * Log changes made by the `slurm` unit to updates. ([#87]) * The `slurm` unit now updates its data set if it discovers that the Slurm files have changed. ([#89]) * Both the `json` unit and target now support conditional HTTP requests via the Etag and Last-Modified headers. ([#98]) Bug Fixes * Fix a race condition where the `slurm` unit would not apply its changes to the first update if loading the files is too slow. ([#89]) * Fixed various race conditions during startup and shutdown. ([#101]) Other Changes * Upgrade the packaging and Docker build workflow to allow for cross-compilation. ([#90])
This PR adds fuzzing via
cargo fuzz
to thepayload
module and adds fixes for the issues that the fuzzer uncovered.