-
Notifications
You must be signed in to change notification settings - Fork 31
Open
Labels
Milestone
Description
Copied from original ippsample issue 71
Investigate implementing fuzzing and GREASE support into ipptool, specifically for inserting randomized attributes with different names, values, and syntaxes.
Probably there should be a way to insert a random value tag, attribute name, and/or value, plus insert N random attributes.
In fuzzing/grease mode we need to make sure we report/record the actual IPP message so that bug reports, etc. can include the full request for testing and debugging.
Feedback from morning IPP session:
- Should also include ippserver
- Perhaps use a separate ipptool file generator for the fuzzing
- GREASE support likely needs to be made part of the ipptool/ippserver code (maybe add an API to libcups to append random attributes to the request?)
Work list for this bug:
- libcups: new "void ippAddRandomAttributes(ipp_t *ipp)" API for adding random attributes and values to a request or response in current group. Needs to be public API so that servers based on the public API can implement it.
- ipptool: new "-g" (GREASE) option to automatically inject random attributes into every request, and a "GREASE" directive inside test files.
- ippserver: new "-g" (GREASE) option and system.conf "GREASE" directive to enable random attributes in every response.
- Documentation of GREASE extensions
I'll file a separate issue to track a new fuzzing tool.