Skip to content

GREASE-like support for ipptool and ippserver #46

@michaelrsweet

Description

@michaelrsweet

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions