OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/safe_browsing/safe_browsing_util.h" | 5 #include "chrome/browser/safe_browsing/safe_browsing_util.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "chrome/browser/google/google_util.h" | 10 #include "chrome/browser/google/google_util.h" |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 return false; | 162 return false; |
163 } | 163 } |
164 } // namespace | 164 } // namespace |
165 | 165 |
166 namespace safe_browsing_util { | 166 namespace safe_browsing_util { |
167 | 167 |
168 // Listnames that browser can process. | 168 // Listnames that browser can process. |
169 const char kMalwareList[] = "goog-malware-shavar"; | 169 const char kMalwareList[] = "goog-malware-shavar"; |
170 const char kPhishingList[] = "goog-phish-shavar"; | 170 const char kPhishingList[] = "goog-phish-shavar"; |
171 const char kBinUrlList[] = "goog-badbinurl-shavar"; | 171 const char kBinUrlList[] = "goog-badbinurl-shavar"; |
172 // We don't use the bad binary digest list anymore. Use a fake listname to be | |
173 // sure we don't request it accidentally. | |
174 const char kBinHashList[] = "goog-badbin-digestvar-disabled"; | |
175 const char kCsdWhiteList[] = "goog-csdwhite-sha256"; | 172 const char kCsdWhiteList[] = "goog-csdwhite-sha256"; |
176 const char kDownloadWhiteList[] = "goog-downloadwhite-digest256"; | 173 const char kDownloadWhiteList[] = "goog-downloadwhite-digest256"; |
177 const char kExtensionBlacklist[] = "goog-badcrxids-digestvar"; | 174 const char kExtensionBlacklist[] = "goog-badcrxids-digestvar"; |
178 const char kSideEffectFreeWhitelist[] = "goog-sideeffectfree-shavar"; | 175 const char kSideEffectFreeWhitelist[] = "goog-sideeffectfree-shavar"; |
179 const char kIPBlacklist[] = "goog-badip-digest256"; | 176 const char kIPBlacklist[] = "goog-badip-digest256"; |
180 | 177 |
181 const char* kAllLists[10] = { | 178 const char* kAllLists[8] = { |
182 kMalwareList, | 179 kMalwareList, |
183 kPhishingList, | 180 kPhishingList, |
184 kBinUrlList, | 181 kBinUrlList, |
185 kBinHashList, | |
186 kCsdWhiteList, | 182 kCsdWhiteList, |
187 kDownloadWhiteList, | 183 kDownloadWhiteList, |
188 kDownloadWhiteList, | |
189 kExtensionBlacklist, | 184 kExtensionBlacklist, |
190 kSideEffectFreeWhitelist, | 185 kSideEffectFreeWhitelist, |
191 kIPBlacklist, | 186 kIPBlacklist, |
192 }; | 187 }; |
193 | 188 |
194 ListType GetListId(const std::string& name) { | 189 ListType GetListId(const std::string& name) { |
195 ListType id; | 190 ListType id; |
196 if (name == safe_browsing_util::kMalwareList) { | 191 if (name == safe_browsing_util::kMalwareList) { |
197 id = MALWARE; | 192 id = MALWARE; |
198 } else if (name == safe_browsing_util::kPhishingList) { | 193 } else if (name == safe_browsing_util::kPhishingList) { |
199 id = PHISH; | 194 id = PHISH; |
200 } else if (name == safe_browsing_util::kBinUrlList) { | 195 } else if (name == safe_browsing_util::kBinUrlList) { |
201 id = BINURL; | 196 id = BINURL; |
202 } else if (name == safe_browsing_util::kBinHashList) { | |
203 id = BINHASH; | |
204 } else if (name == safe_browsing_util::kCsdWhiteList) { | 197 } else if (name == safe_browsing_util::kCsdWhiteList) { |
205 id = CSDWHITELIST; | 198 id = CSDWHITELIST; |
206 } else if (name == safe_browsing_util::kDownloadWhiteList) { | 199 } else if (name == safe_browsing_util::kDownloadWhiteList) { |
207 id = DOWNLOADWHITELIST; | 200 id = DOWNLOADWHITELIST; |
208 } else if (name == safe_browsing_util::kExtensionBlacklist) { | 201 } else if (name == safe_browsing_util::kExtensionBlacklist) { |
209 id = EXTENSIONBLACKLIST; | 202 id = EXTENSIONBLACKLIST; |
210 } else if (name == safe_browsing_util::kSideEffectFreeWhitelist) { | 203 } else if (name == safe_browsing_util::kSideEffectFreeWhitelist) { |
211 id = SIDEEFFECTFREEWHITELIST; | 204 id = SIDEEFFECTFREEWHITELIST; |
212 } else if (name == safe_browsing_util::kIPBlacklist) { | 205 } else if (name == safe_browsing_util::kIPBlacklist) { |
213 id = IPBLACKLIST; | 206 id = IPBLACKLIST; |
214 } else { | 207 } else { |
215 id = INVALID; | 208 id = INVALID; |
216 } | 209 } |
217 return id; | 210 return id; |
218 } | 211 } |
219 | 212 |
220 bool GetListName(ListType list_id, std::string* list) { | 213 bool GetListName(ListType list_id, std::string* list) { |
221 switch (list_id) { | 214 switch (list_id) { |
222 case MALWARE: | 215 case MALWARE: |
223 *list = safe_browsing_util::kMalwareList; | 216 *list = safe_browsing_util::kMalwareList; |
224 break; | 217 break; |
225 case PHISH: | 218 case PHISH: |
226 *list = safe_browsing_util::kPhishingList; | 219 *list = safe_browsing_util::kPhishingList; |
227 break; | 220 break; |
228 case BINURL: | 221 case BINURL: |
229 *list = safe_browsing_util::kBinUrlList; | 222 *list = safe_browsing_util::kBinUrlList; |
230 break; | 223 break; |
231 case BINHASH: | |
232 *list = safe_browsing_util::kBinHashList; | |
233 break; | |
234 case CSDWHITELIST: | 224 case CSDWHITELIST: |
235 *list = safe_browsing_util::kCsdWhiteList; | 225 *list = safe_browsing_util::kCsdWhiteList; |
236 break; | 226 break; |
237 case DOWNLOADWHITELIST: | 227 case DOWNLOADWHITELIST: |
238 *list = safe_browsing_util::kDownloadWhiteList; | 228 *list = safe_browsing_util::kDownloadWhiteList; |
239 break; | 229 break; |
240 case EXTENSIONBLACKLIST: | 230 case EXTENSIONBLACKLIST: |
241 *list = safe_browsing_util::kExtensionBlacklist; | 231 *list = safe_browsing_util::kExtensionBlacklist; |
242 break; | 232 break; |
243 case SIDEEFFECTFREEWHITELIST: | 233 case SIDEEFFECTFREEWHITELIST: |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
504 } | 494 } |
505 | 495 |
506 bool IsMalwareList(const std::string& list_name) { | 496 bool IsMalwareList(const std::string& list_name) { |
507 return list_name.compare(kMalwareList) == 0; | 497 return list_name.compare(kMalwareList) == 0; |
508 } | 498 } |
509 | 499 |
510 bool IsBadbinurlList(const std::string& list_name) { | 500 bool IsBadbinurlList(const std::string& list_name) { |
511 return list_name.compare(kBinUrlList) == 0; | 501 return list_name.compare(kBinUrlList) == 0; |
512 } | 502 } |
513 | 503 |
514 bool IsBadbinhashList(const std::string& list_name) { | |
515 return list_name.compare(kBinHashList) == 0; | |
516 } | |
517 | |
518 bool IsExtensionList(const std::string& list_name) { | 504 bool IsExtensionList(const std::string& list_name) { |
519 return list_name.compare(kExtensionBlacklist) == 0; | 505 return list_name.compare(kExtensionBlacklist) == 0; |
520 } | 506 } |
521 | 507 |
522 GURL GeneratePhishingReportUrl(const std::string& report_page, | 508 GURL GeneratePhishingReportUrl(const std::string& report_page, |
523 const std::string& url_to_report, | 509 const std::string& url_to_report, |
524 bool is_client_side_detection) { | 510 bool is_client_side_detection) { |
525 const std::string current_esc = net::EscapeQueryParamValue(url_to_report, | 511 const std::string current_esc = net::EscapeQueryParamValue(url_to_report, |
526 true); | 512 true); |
527 | 513 |
(...skipping 18 matching lines...) Expand all Loading... |
546 memcpy(hash_out.full_hash, hash_in.data(), crypto::kSHA256Length); | 532 memcpy(hash_out.full_hash, hash_in.data(), crypto::kSHA256Length); |
547 return hash_out; | 533 return hash_out; |
548 } | 534 } |
549 | 535 |
550 std::string SBFullHashToString(const SBFullHash& hash) { | 536 std::string SBFullHashToString(const SBFullHash& hash) { |
551 DCHECK_EQ(crypto::kSHA256Length, sizeof(hash.full_hash)); | 537 DCHECK_EQ(crypto::kSHA256Length, sizeof(hash.full_hash)); |
552 return std::string(hash.full_hash, sizeof(hash.full_hash)); | 538 return std::string(hash.full_hash, sizeof(hash.full_hash)); |
553 } | 539 } |
554 | 540 |
555 } // namespace safe_browsing_util | 541 } // namespace safe_browsing_util |
OLD | NEW |