// 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 // , // 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]; }