| // Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Based on net::ReportingPolicy class declaration. |
| |
| syntax = "proto2"; |
| |
| import "testing/libfuzzer/proto/json.proto"; |
| |
| package net_reporting_policy_proto; |
| |
| // TODO(chlily): Can we get rid of this proto? ReportingHeaderParser doesn't |
| // really consider any of the ReportingPolicy fields except maybe |
| // max_endpoint_count. |
| message ReportingPolicy { |
| // TODO: consider implementing proto for endpoint_backoff_policy. |
| required uint64 max_report_count = 1; |
| required uint64 max_endpoint_count = 2; |
| required uint64 delivery_interval_us = 3; |
| required uint64 persistence_interval_us = 4; |
| required bool persist_reports_across_restarts = 5; |
| required bool persist_clients_across_restarts = 6; |
| required uint64 garbage_collection_interval_us = 7; |
| required uint64 max_report_age_us = 8; |
| required int32 max_report_attempts = 9; |
| required bool persist_reports_across_network_changes = 10; |
| required bool persist_clients_across_network_changes = 11; |
| optional uint64 max_endpoints_per_origin = 12 [default = 40]; |
| optional uint64 max_group_staleness_us = 13 [default = 604800000000]; |
| } |
| |
| message ReportingHeaderParserFuzzInput { |
| required ReportingPolicy policy = 1; |
| required json_proto.JsonObject headers = 2; |
| } |