summaryrefslogtreecommitdiff
path: root/chromium/net/reporting/reporting_policy.proto
blob: 235101833de6b7888660fc8ebd49ce274dbf3cac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// 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;
}