blob: 0291eacd883299c78cee5f02884f436a1bf87606 [file] [log] [blame]
// Copyright 2018 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package fuzz;
import public "fuzz/pinweaver/pinweaver.proto";
message RandomBytes {
bytes value = 1;
}
message Cr50SubAction {
// Allows a logical representation of an action (PinWeaver) or a literal
// representation (RandomBytes). The logical representation fills out the
// expected values of particular fields when they are empty or not part of the
// proto so that the fuzzer can reach parts of the code without having to
// brute force an HMAC. The literal representation allows for the fuzzer to
// represent inputs that cannot be represented with the logical
// representation.
oneof sub_action {
RandomBytes random_bytes = 1;
pinweaver.Request pinweaver = 2;
}
}
message Cr50FuzzerInput {
repeated Cr50SubAction sub_actions = 1;
}