Skip to content
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

GREASE-like support for ipptool and ippserver #46

Open
4 tasks
michaelrsweet opened this issue Mar 20, 2023 · 0 comments
Open
4 tasks

GREASE-like support for ipptool and ippserver #46

michaelrsweet opened this issue Mar 20, 2023 · 0 comments
Labels
enhancement New feature or request priority-low
Milestone

Comments

@michaelrsweet
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request priority-low
Projects
None yet
Development

No branches or pull requests

1 participant