blob: d9d1082d8666dadc3fa9b738d807cea9dd34fbc6 [file] [log] [blame]
// Copyright 2014 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.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package safe_browsing;
// Everything below this comment was copied from the page
// <https://devsite.googleplex.com/safe-browsing/developers_guide_v3> ,
// section "HTTP Response for Data" under "Response Body".
// Chunk data encoding format for the shavar-proto list format.
message ChunkData {
required int32 chunk_number = 1;
// The chunk type is either an add or sub chunk.
enum ChunkType {
ADD = 0;
SUB = 1;
}
optional ChunkType chunk_type = 2 [default = ADD];
// Prefix type which currently is either 4B or 32B. The default is set
// to the prefix length, so it doesn't have to be set at all for most
// chunks.
enum PrefixType {
PREFIX_4B = 0;
FULL_32B = 1;
}
optional PrefixType prefix_type = 3 [default = PREFIX_4B];
// Stores all SHA256 add or sub prefixes or full-length hashes. The number
// of hashes can be inferred from the length of the hashes string and the
// prefix type above.
optional bytes hashes = 4;
// Sub chunks also encode one add chunk number for every hash stored above.
repeated int32 add_numbers = 5 [packed = true];
}