OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/base64.h" | 7 #include "base/base64.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 // Utility functions ----------------------------------------------------------- | 163 // Utility functions ----------------------------------------------------------- |
164 | 164 |
165 namespace safe_browsing_util { | 165 namespace safe_browsing_util { |
166 | 166 |
167 // Listnames that browser can process. | 167 // Listnames that browser can process. |
168 const char kMalwareList[] = "goog-malware-shavar"; | 168 const char kMalwareList[] = "goog-malware-shavar"; |
169 const char kPhishingList[] = "goog-phish-shavar"; | 169 const char kPhishingList[] = "goog-phish-shavar"; |
170 const char kBinUrlList[] = "goog-badbinurl-shavar"; | 170 const char kBinUrlList[] = "goog-badbinurl-shavar"; |
171 const char kBinHashList[] = "goog-badbin-digestvar"; | 171 const char kBinHashList[] = "goog-badbin-digestvar"; |
172 const char kCsdWhiteList[] = "goog-csdwhite-sha256"; | 172 const char kCsdWhiteList[] = "goog-csdwhite-sha256"; |
| 173 const char kDownloadWhiteList[] = "goog-downloadwhite-digest256"; |
173 | 174 |
174 int GetListId(const std::string& name) { | 175 int GetListId(const std::string& name) { |
175 int id; | 176 int id; |
176 if (name == safe_browsing_util::kMalwareList) { | 177 if (name == safe_browsing_util::kMalwareList) { |
177 id = MALWARE; | 178 id = MALWARE; |
178 } else if (name == safe_browsing_util::kPhishingList) { | 179 } else if (name == safe_browsing_util::kPhishingList) { |
179 id = PHISH; | 180 id = PHISH; |
180 } else if (name == safe_browsing_util::kBinUrlList) { | 181 } else if (name == safe_browsing_util::kBinUrlList) { |
181 id = BINURL; | 182 id = BINURL; |
182 } else if (name == safe_browsing_util::kBinHashList) { | 183 } else if (name == safe_browsing_util::kBinHashList) { |
183 id = BINHASH; | 184 id = BINHASH; |
184 } else if (name == safe_browsing_util::kCsdWhiteList) { | 185 } else if (name == safe_browsing_util::kCsdWhiteList) { |
185 id = CSDWHITELIST; | 186 id = CSDWHITELIST; |
| 187 } else if (name == safe_browsing_util::kDownloadWhiteList) { |
| 188 id = DOWNLOADWHITELIST; |
186 } else { | 189 } else { |
187 id = INVALID; | 190 id = INVALID; |
188 } | 191 } |
189 return id; | 192 return id; |
190 } | 193 } |
191 | 194 |
192 bool GetListName(int list_id, std::string* list) { | 195 bool GetListName(int list_id, std::string* list) { |
193 switch (list_id) { | 196 switch (list_id) { |
194 case MALWARE: | 197 case MALWARE: |
195 *list = safe_browsing_util::kMalwareList; | 198 *list = safe_browsing_util::kMalwareList; |
196 break; | 199 break; |
197 case PHISH: | 200 case PHISH: |
198 *list = safe_browsing_util::kPhishingList; | 201 *list = safe_browsing_util::kPhishingList; |
199 break; | 202 break; |
200 case BINURL: | 203 case BINURL: |
201 *list = safe_browsing_util::kBinUrlList; | 204 *list = safe_browsing_util::kBinUrlList; |
202 break; | 205 break; |
203 case BINHASH: | 206 case BINHASH: |
204 *list = safe_browsing_util::kBinHashList; | 207 *list = safe_browsing_util::kBinHashList; |
205 break; | 208 break; |
206 case CSDWHITELIST: | 209 case CSDWHITELIST: |
207 *list = safe_browsing_util::kCsdWhiteList; | 210 *list = safe_browsing_util::kCsdWhiteList; |
208 break; | 211 break; |
| 212 case DOWNLOADWHITELIST: |
| 213 *list = safe_browsing_util::kDownloadWhiteList; |
| 214 break; |
209 default: | 215 default: |
210 return false; | 216 return false; |
211 } | 217 } |
212 return true; | 218 return true; |
213 } | 219 } |
214 | 220 |
215 std::string Unescape(const std::string& url) { | 221 std::string Unescape(const std::string& url) { |
216 std::string unescaped_str(url); | 222 std::string unescaped_str(url); |
217 std::string old_unescaped_str; | 223 std::string old_unescaped_str; |
218 const int kMaxLoopIterations = 1024; | 224 const int kMaxLoopIterations = 1024; |
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
534 void StringToSBFullHash(const std::string& hash_in, SBFullHash* hash_out) { | 540 void StringToSBFullHash(const std::string& hash_in, SBFullHash* hash_out) { |
535 DCHECK_EQ(static_cast<size_t>(crypto::SHA256_LENGTH), hash_in.size()); | 541 DCHECK_EQ(static_cast<size_t>(crypto::SHA256_LENGTH), hash_in.size()); |
536 memcpy(hash_out->full_hash, hash_in.data(), crypto::SHA256_LENGTH); | 542 memcpy(hash_out->full_hash, hash_in.data(), crypto::SHA256_LENGTH); |
537 } | 543 } |
538 | 544 |
539 std::string SBFullHashToString(const SBFullHash& hash) { | 545 std::string SBFullHashToString(const SBFullHash& hash) { |
540 DCHECK_EQ(static_cast<size_t>(crypto::SHA256_LENGTH), sizeof(hash.full_hash)); | 546 DCHECK_EQ(static_cast<size_t>(crypto::SHA256_LENGTH), sizeof(hash.full_hash)); |
541 return std::string(hash.full_hash, sizeof(hash.full_hash)); | 547 return std::string(hash.full_hash, sizeof(hash.full_hash)); |
542 } | 548 } |
543 } // namespace safe_browsing_util | 549 } // namespace safe_browsing_util |
OLD | NEW |