feat(go-avahi): implement stateful daemon-aware fuzzing and pure Go DNS decoding harnesses#50
Open
rishavtarway wants to merge 1 commit intoOpenPrinting:mainfrom
Open
Conversation
…zing suite This update expands the go-avahi fuzzing coverage with the following technical enhancements: - Stateful Lifecycle Fuzzing: Added harnesses for EntryGroup and ServiceBrowser utilizing live avahi-daemon interaction. - Pure Go Logic: Implemented targeted DNS resource record decoding fuzzers (A, AAAA, TXT). - Architectural Alignment: Standardized headers and migrated to external seed corpus management to match OpenPrinting standards. - Build Portability: Enhanced RPATH patching in build scripts for robust container execution.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This Pull Request finalizes the fuzzing setup for the
go-avahiproject within theOpenPrinting/fuzzingrepository. The changes expand the existing fuzzing suite to cover both stateful interactions with theavahi-daemonand critical pure Go logic paths, significantly increasing the library's overall test coverage against malformed or adversarial inputs.Technical Achievements:
dbus-daemonand a liveavahi-daemonwithin the OSS-Fuzz environment to test real-world CGo state transitions and asynchronous event handling.ipp-usbandgoippprojects.patchelfto ensure binary compatibility across different container execution environments.Implementation Steps:
avahi-daemon, allowing tests to skip gracefully in restrictive environments while remaining fully functional for intensive fuzzing.Verified Harnesses:
fuzz_dns_decode_afuzz_dns_decode_aaaafuzz_dns_decode_txtfuzz_entry_groupfuzz_service_browserfuzz_client_lifecyclefuzz_string_arrayfuzz_domain_normalizefuzz_domain_roundtripfuzz_service_namefuzz_state_strings