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/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 #else | 182 #else |
183 const char kMalwareList[] = "goog-malware-shavar"; | 183 const char kMalwareList[] = "goog-malware-shavar"; |
184 const char kPhishingList[] = "goog-phish-shavar"; | 184 const char kPhishingList[] = "goog-phish-shavar"; |
185 #endif | 185 #endif |
186 const char kBinUrlList[] = "goog-badbinurl-shavar"; | 186 const char kBinUrlList[] = "goog-badbinurl-shavar"; |
187 const char kCsdWhiteList[] = "goog-csdwhite-sha256"; | 187 const char kCsdWhiteList[] = "goog-csdwhite-sha256"; |
188 const char kDownloadWhiteList[] = "goog-downloadwhite-digest256"; | 188 const char kDownloadWhiteList[] = "goog-downloadwhite-digest256"; |
189 const char kExtensionBlacklist[] = "goog-badcrxids-digestvar"; | 189 const char kExtensionBlacklist[] = "goog-badcrxids-digestvar"; |
190 const char kSideEffectFreeWhitelist[] = "goog-sideeffectfree-shavar"; | 190 const char kSideEffectFreeWhitelist[] = "goog-sideeffectfree-shavar"; |
191 const char kIPBlacklist[] = "goog-badip-digest256"; | 191 const char kIPBlacklist[] = "goog-badip-digest256"; |
| 192 const char kUnwantedUrlList[] = "goog-unwanted-shavar"; |
192 | 193 |
193 const char* kAllLists[8] = { | 194 const char* kAllLists[9] = { |
194 kMalwareList, | 195 kMalwareList, |
195 kPhishingList, | 196 kPhishingList, |
196 kBinUrlList, | 197 kBinUrlList, |
197 kCsdWhiteList, | 198 kCsdWhiteList, |
198 kDownloadWhiteList, | 199 kDownloadWhiteList, |
199 kExtensionBlacklist, | 200 kExtensionBlacklist, |
200 kSideEffectFreeWhitelist, | 201 kSideEffectFreeWhitelist, |
201 kIPBlacklist, | 202 kIPBlacklist, |
| 203 kUnwantedUrlList, |
202 }; | 204 }; |
203 | 205 |
204 ListType GetListId(const base::StringPiece& name) { | 206 ListType GetListId(const base::StringPiece& name) { |
205 ListType id; | 207 ListType id; |
206 if (name == safe_browsing_util::kMalwareList) { | 208 if (name == safe_browsing_util::kMalwareList) { |
207 id = MALWARE; | 209 id = MALWARE; |
208 } else if (name == safe_browsing_util::kPhishingList) { | 210 } else if (name == safe_browsing_util::kPhishingList) { |
209 id = PHISH; | 211 id = PHISH; |
210 } else if (name == safe_browsing_util::kBinUrlList) { | 212 } else if (name == safe_browsing_util::kBinUrlList) { |
211 id = BINURL; | 213 id = BINURL; |
212 } else if (name == safe_browsing_util::kCsdWhiteList) { | 214 } else if (name == safe_browsing_util::kCsdWhiteList) { |
213 id = CSDWHITELIST; | 215 id = CSDWHITELIST; |
214 } else if (name == safe_browsing_util::kDownloadWhiteList) { | 216 } else if (name == safe_browsing_util::kDownloadWhiteList) { |
215 id = DOWNLOADWHITELIST; | 217 id = DOWNLOADWHITELIST; |
216 } else if (name == safe_browsing_util::kExtensionBlacklist) { | 218 } else if (name == safe_browsing_util::kExtensionBlacklist) { |
217 id = EXTENSIONBLACKLIST; | 219 id = EXTENSIONBLACKLIST; |
218 } else if (name == safe_browsing_util::kSideEffectFreeWhitelist) { | 220 } else if (name == safe_browsing_util::kSideEffectFreeWhitelist) { |
219 id = SIDEEFFECTFREEWHITELIST; | 221 id = SIDEEFFECTFREEWHITELIST; |
220 } else if (name == safe_browsing_util::kIPBlacklist) { | 222 } else if (name == safe_browsing_util::kIPBlacklist) { |
221 id = IPBLACKLIST; | 223 id = IPBLACKLIST; |
| 224 } else if (name == safe_browsing_util::kUnwantedUrlList) { |
| 225 id = UNWANTEDURL; |
222 } else { | 226 } else { |
223 id = INVALID; | 227 id = INVALID; |
224 } | 228 } |
225 return id; | 229 return id; |
226 } | 230 } |
227 | 231 |
228 bool GetListName(ListType list_id, std::string* list) { | 232 bool GetListName(ListType list_id, std::string* list) { |
229 switch (list_id) { | 233 switch (list_id) { |
230 case MALWARE: | 234 case MALWARE: |
231 *list = safe_browsing_util::kMalwareList; | 235 *list = safe_browsing_util::kMalwareList; |
(...skipping 12 matching lines...) Expand all Loading... |
244 break; | 248 break; |
245 case EXTENSIONBLACKLIST: | 249 case EXTENSIONBLACKLIST: |
246 *list = safe_browsing_util::kExtensionBlacklist; | 250 *list = safe_browsing_util::kExtensionBlacklist; |
247 break; | 251 break; |
248 case SIDEEFFECTFREEWHITELIST: | 252 case SIDEEFFECTFREEWHITELIST: |
249 *list = safe_browsing_util::kSideEffectFreeWhitelist; | 253 *list = safe_browsing_util::kSideEffectFreeWhitelist; |
250 break; | 254 break; |
251 case IPBLACKLIST: | 255 case IPBLACKLIST: |
252 *list = safe_browsing_util::kIPBlacklist; | 256 *list = safe_browsing_util::kIPBlacklist; |
253 break; | 257 break; |
| 258 case UNWANTEDURL: |
| 259 *list = safe_browsing_util::kUnwantedUrlList; |
| 260 break; |
254 default: | 261 default: |
255 return false; | 262 return false; |
256 } | 263 } |
257 DCHECK(IsKnownList(*list)); | 264 DCHECK(IsKnownList(*list)); |
258 return true; | 265 return true; |
259 } | 266 } |
260 | 267 |
261 std::string Unescape(const std::string& url) { | 268 std::string Unescape(const std::string& url) { |
262 std::string unescaped_str(url); | 269 std::string unescaped_str(url); |
263 std::string old_unescaped_str; | 270 std::string old_unescaped_str; |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
511 memcpy(hash_out.full_hash, hash_in.data(), crypto::kSHA256Length); | 518 memcpy(hash_out.full_hash, hash_in.data(), crypto::kSHA256Length); |
512 return hash_out; | 519 return hash_out; |
513 } | 520 } |
514 | 521 |
515 std::string SBFullHashToString(const SBFullHash& hash) { | 522 std::string SBFullHashToString(const SBFullHash& hash) { |
516 DCHECK_EQ(crypto::kSHA256Length, sizeof(hash.full_hash)); | 523 DCHECK_EQ(crypto::kSHA256Length, sizeof(hash.full_hash)); |
517 return std::string(hash.full_hash, sizeof(hash.full_hash)); | 524 return std::string(hash.full_hash, sizeof(hash.full_hash)); |
518 } | 525 } |
519 | 526 |
520 } // namespace safe_browsing_util | 527 } // namespace safe_browsing_util |
OLD | NEW |