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