File: safebrowsing_v5.patch

package info (click to toggle)
thunderbird 1%3A143.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 4,703,968 kB
  • sloc: cpp: 7,770,492; javascript: 5,943,842; ansic: 3,918,754; python: 1,418,263; xml: 653,354; asm: 474,045; java: 183,079; sh: 111,238; makefile: 20,410; perl: 14,359; objc: 13,059; yacc: 4,583; pascal: 3,405; lex: 1,720; ruby: 999; exp: 762; sql: 715; awk: 580; php: 436; lisp: 430; sed: 69; csh: 10
file content (222 lines) | stat: -rw-r--r-- 9,223 bytes parent folder | download | duplicates (3)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
diff --git a/toolkit/components/url-classifier/chromium/safebrowsing_v5.proto b/toolkit/components/url-classifier/chromium/safebrowsing_v5.proto
index 0d5947d99a10..764b185d18ee 100644
--- a/toolkit/components/url-classifier/chromium/safebrowsing_v5.proto
+++ b/toolkit/components/url-classifier/chromium/safebrowsing_v5.proto
@@ -14,77 +14,9 @@
 
 syntax = "proto3";
 
-package google.security.safebrowsing.v5;
+option optimize_for = LITE_RUNTIME;
 
-import "google/api/annotations.proto";
-import "google/api/client.proto";
-import "google/api/field_behavior.proto";
-import "google/api/resource.proto";
-import "google/protobuf/duration.proto";
-
-option go_package = "google.golang.org/genproto/googleapis/security/safebrowsing/v5;safebrowsing";
-option java_multiple_files = true;
-option java_outer_classname = "SafeBrowsingProto";
-option java_package = "com.google.security.safebrowsing.v5";
-
-// The Safe Browsing APIs enable clients to check web resources (most commonly
-// URLs) against Google's constantly updated lists of unsafe web resources.
-service SafeBrowsing {
-  option (google.api.default_host) = "safebrowsing.googleapis.com";
-
-  // Search for full hashes matching the specified prefixes.
-  //
-  // This is a custom method as defined by https://google.aip.dev/136 (the
-  // custom method refers to this method having a custom name within Google's
-  // general API development nomenclature; it does not refer to using a custom
-  // HTTP method).
-  rpc SearchHashes(SearchHashesRequest) returns (SearchHashesResponse) {
-    option (google.api.http) = {
-      get: "/v5/hashes:search"
-    };
-  }
-
-  // Get the latest contents of a hash list. A hash list may either by a threat
-  // list or a non-threat list such as the Global Cache.
-  //
-  // This is a standard Get method as defined by https://google.aip.dev/131 and
-  // the HTTP method is also GET.
-  rpc GetHashList(GetHashListRequest) returns (HashList) {
-    option (google.api.http) = {
-      get: "/v5/hashList/{name}"
-    };
-    option (google.api.method_signature) = "name";
-  }
-
-  // List hash lists.
-  //
-  // In the V5 API, Google will never remove a hash list that has ever been
-  // returned by this method. This enables clients to skip using this method and
-  // simply hard-code all hash lists they need.
-  //
-  // This is a standard List method as defined by https://google.aip.dev/132 and
-  // the HTTP method is GET.
-  rpc ListHashLists(ListHashListsRequest) returns (ListHashListsResponse) {
-    option (google.api.http) = {
-      get: "/v5/hashLists"
-    };
-    option (google.api.method_signature) = "";
-  }
-
-  // Get multiple hash lists at once.
-  //
-  // It is very common for a client to need to get multiple hash lists. Using
-  // this method is preferred over using the regular Get method multiple times.
-  //
-  // This is a standard batch Get method as defined by
-  // https://google.aip.dev/231 and the HTTP method is also GET.
-  rpc BatchGetHashLists(BatchGetHashListsRequest)
-      returns (BatchGetHashListsResponse) {
-    option (google.api.http) = {
-      get: "/v5/hashLists:batchGet"
-    };
-  }
-}
+package mozilla.safebrowsing.v5;
 
 // Types of threats.
 enum ThreatType {
@@ -179,7 +111,25 @@ message SearchHashesRequest {
   //
   // Currently each hash prefix is required to be exactly 4 bytes long. This MAY
   // be relaxed in the future.
-  repeated bytes hash_prefixes = 1 [(google.api.field_behavior) = REQUIRED];
+  repeated bytes hash_prefixes = 1;
+}
+
+// A message that copy from the duration.proto. This is used for replacing the
+// reducing the google.protobuf.Duration. So we can decrease the number of
+// needed compiled protobuf files.
+message Duration {
+  // Signed seconds of the span of time. Must be from -315,576,000,000
+  // to +315,576,000,000 inclusive. Note: these bounds are computed from:
+  // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+  int64 seconds = 1;
+
+  // Signed fractions of a second at nanosecond resolution of the span
+  // of time. Durations less than one second are represented with a 0
+  // `seconds` field and a positive or negative `nanos` field. For durations
+  // of one second or more, a non-zero value for the `nanos` field must be
+  // of the same sign as the `seconds` field. Must be from -999,999,999
+  // to +999,999,999 inclusive.
+  int32 nanos = 2;
 }
 
 // The response returned after searching threat hashes.
@@ -195,8 +145,7 @@ message SearchHashesRequest {
 // simplified into a single `cache_duration` field.
 message SearchHashesResponse {
   // Unordered list. The unordered list of full hashes found.
-  repeated FullHash full_hashes = 1
-      [(google.api.field_behavior) = UNORDERED_LIST];
+  repeated FullHash full_hashes = 1;
 
   // The client-side cache duration. The client MUST add this duration to the
   // current time to determine the expiration time. The expiration time then
@@ -213,7 +162,7 @@ message SearchHashesResponse {
   // Important: the client MUST NOT assume that the server will return the same
   // cache duration for all responses. The server MAY choose different cache
   // durations for different responses depending on the situation.
-  google.protobuf.Duration cache_duration = 2;
+  Duration cache_duration = 2;
 }
 
 // The full hash identified with one or more matches.
@@ -237,8 +186,7 @@ message FullHash {
 
     // Unordered list. Additional attributes about those full hashes. This may
     // be empty.
-    repeated ThreatAttribute attributes = 2
-        [(google.api.field_behavior) = UNORDERED_LIST];
+    repeated ThreatAttribute attributes = 2;
   }
 
   // The matching full hash. This is the SHA256 hash. The length will be exactly
@@ -247,8 +195,7 @@ message FullHash {
 
   // Unordered list. A repeated field identifying the details relevant to this
   // full hash.
-  repeated FullHashDetail full_hash_details = 2
-      [(google.api.field_behavior) = UNORDERED_LIST];
+  repeated FullHashDetail full_hash_details = 2;
 }
 
 // A request to obtain a hash list, which may be a threat list or a non-threat
@@ -265,12 +212,7 @@ message FullHash {
 message GetHashListRequest {
   // Required. The name of this particular hash list. It may be a threat list,
   // or it may be the Global Cache.
-  string name = 1 [
-    (google.api.field_behavior) = REQUIRED,
-    (google.api.resource_reference) = {
-      type: "safebrowsing.googleapis.com/HashList"
-    }
-  ];
+  string name = 1;
 
   // The version of the hash list that the client already has. If this is the
   // first time the client is fetching the hash list, this field MUST be
@@ -437,15 +379,13 @@ message HashListMetadata {
   // hashes or hash prefixes in this hash list. May be empty if the entry does
   // not represent a threat, i.e. in the case that it represents a likely safe
   // type.
-  repeated ThreatType threat_types = 1
-      [(google.api.field_behavior) = UNORDERED_LIST];
+  repeated ThreatType threat_types = 1;
 
   // Unordered list. If not empty, this specifies that the hash list represents
   // a list of likely safe hashes, and this enumerates the ways they are
   // considered likely safe. This field is mutually exclusive with the
   // threat_types field.
-  repeated LikelySafeType likely_safe_types = 2
-      [(google.api.field_behavior) = UNORDERED_LIST];
+  repeated LikelySafeType likely_safe_types = 2;
 
   // A human-readable description about this list. Written in English.
   string description = 4;
@@ -459,11 +399,6 @@ message HashListMetadata {
 
 // A list of hashes identified by its name.
 message HashList {
-  option (google.api.resource) = {
-    type: "safebrowsing.googleapis.com/HashList"
-    pattern: "hashLists/{hash_list}"
-  };
-
   // The Rice-delta encoded version of additions. The hash prefix lengths of
   // additions are uniform across all additions in the list.
   oneof compressed_additions {
@@ -509,7 +444,7 @@ message HashList {
   // omitted or zero, clients SHOULD fetch immediately because it indicates that
   // the server has an additional update to be sent to the client, but could not
   // due to the client-specified constraints.
-  google.protobuf.Duration minimum_wait_duration = 6;
+  Duration minimum_wait_duration = 6;
 
   // The sorted list of all hashes, hashed again with SHA256.
   // This is the checksum for the sorted list of all hashes present in the
@@ -529,12 +464,7 @@ message BatchGetHashListsRequest {
   // Required. The names of the particular hash lists. The list MAY be a threat
   // list, or it may be the Global Cache. The names MUST NOT contain duplicates;
   // if they did, the client will get an error.
-  repeated string names = 1 [
-    (google.api.field_behavior) = REQUIRED,
-    (google.api.resource_reference) = {
-      type: "safebrowsing.googleapis.com/HashList"
-    }
-  ];
+  repeated string names = 1;
 
   // The versions of the hash list that the client already has. If this is the
   // first time the client is fetching the hash lists, the field should be
@@ -586,4 +516,3 @@ message ListHashListsResponse {
   // If this field is omitted, there are no subsequent pages.
   string next_page_token = 2;
 }
-