Skip to content

GREASE-like support for ipptool and ippserver #46

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions