| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 // | |
| 5 // Safe Browsing reporting protocol buffers. | |
| 6 // | |
| 7 // A ClientMalwareReportRequest is sent when a user opts-in to | |
| 8 // sending detailed malware reports from the safe browsing interstitial page. | |
| 9 // | |
| 10 // It is a list of Resource messages, which may contain the url of a | |
| 11 // resource such as the page in the address bar or any other resource | |
| 12 // that was loaded for this page. | |
| 13 // | |
| 14 // In addition to the url, a resource can contain HTTP request and response | |
| 15 // headers and bodies. | |
| 16 | |
| 17 syntax = "proto2"; | |
| 18 | |
| 19 option optimize_for = LITE_RUNTIME; | |
| 20 | |
| 21 package safe_browsing; | |
| 22 | |
| 23 message ClientMalwareReportRequest { | |
| 24 | |
| 25 message HTTPHeader { | |
| 26 required bytes name = 1; | |
| 27 optional bytes value = 2; | |
| 28 } | |
| 29 | |
| 30 message HTTPRequest { | |
| 31 message FirstLine { | |
| 32 optional bytes verb = 1; // Also known as method, eg "GET" | |
| 33 optional bytes uri = 2; | |
| 34 optional bytes version = 3; | |
| 35 } | |
| 36 | |
| 37 optional FirstLine firstline = 1; | |
| 38 repeated HTTPHeader headers = 2; | |
| 39 optional bytes body = 3; | |
| 40 | |
| 41 // bodydigest and bodylength can be useful if the report does not | |
| 42 // contain the body itself. | |
| 43 optional bytes bodydigest = 4; | |
| 44 optional int32 bodylength = 5; | |
| 45 } | |
| 46 | |
| 47 message HTTPResponse { | |
| 48 message FirstLine { | |
| 49 optional int32 code = 1; | |
| 50 optional bytes reason = 2; | |
| 51 optional bytes version = 3; | |
| 52 } | |
| 53 | |
| 54 optional FirstLine firstline = 1; | |
| 55 repeated HTTPHeader headers = 2; | |
| 56 optional bytes body = 3; | |
| 57 | |
| 58 // bodydigest and bodylength can be useful if the report does not | |
| 59 // contain the body itself. | |
| 60 optional bytes bodydigest = 4; | |
| 61 optional int32 bodylength = 5; | |
| 62 optional bytes remote_ip = 6; | |
| 63 } | |
| 64 | |
| 65 message Resource { | |
| 66 required int32 id = 1; | |
| 67 optional string url = 2; | |
| 68 optional HTTPRequest request = 3; | |
| 69 optional HTTPResponse response = 4; | |
| 70 | |
| 71 optional int32 parent_id = 5; // Id of the parent, if known. | |
| 72 | |
| 73 // A list of children. The order of the children in this list is | |
| 74 // significant. The |parent_id| field for child nodes can be derived | |
| 75 // from this, but this allows us to be more flexible. | |
| 76 repeated int32 child_ids = 6; | |
| 77 | |
| 78 // Tag that was used to include this resource, eg "iframe" | |
| 79 optional string tag_name = 7; | |
| 80 } | |
| 81 | |
| 82 // URL of the resource that matches the safe browsing list. | |
| 83 optional string malware_url = 1; | |
| 84 | |
| 85 // URL of the page in the address bar. | |
| 86 optional string page_url = 2; | |
| 87 | |
| 88 optional string referrer_url = 3; | |
| 89 repeated Resource resources = 4; | |
| 90 | |
| 91 // Whether the report has HTTP Responses. | |
| 92 optional bool complete = 5; | |
| 93 | |
| 94 // Whether user chose to proceed. | |
| 95 optional bool did_proceed = 8; | |
| 96 | |
| 97 // Whether user visited this origin before. | |
| 98 optional bool repeat_visit = 9; | |
| 99 } | |
| OLD | NEW |