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 "net/base/net_util.h" | 5 #include "net/base/net_util.h" |
6 | 6 |
7 #include <errno.h> | 7 #include <errno.h> |
8 #include <string.h> | 8 #include <string.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
334 | 334 |
335 std::multiset<int> ports; | 335 std::multiset<int> ports; |
336 size_t last = 0; | 336 size_t last = 0; |
337 size_t size = allowed_ports.size(); | 337 size_t size = allowed_ports.size(); |
338 // The comma delimiter. | 338 // The comma delimiter. |
339 const std::string::value_type kComma = ','; | 339 const std::string::value_type kComma = ','; |
340 | 340 |
341 // Overflow is still possible for evil user inputs. | 341 // Overflow is still possible for evil user inputs. |
342 for (size_t i = 0; i <= size; ++i) { | 342 for (size_t i = 0; i <= size; ++i) { |
343 // The string should be composed of only digits and commas. | 343 // The string should be composed of only digits and commas. |
344 if (i != size && !IsAsciiDigit(allowed_ports[i]) && | 344 if (i != size && !base::IsAsciiDigit(allowed_ports[i]) && |
345 (allowed_ports[i] != kComma)) | 345 (allowed_ports[i] != kComma)) |
346 return; | 346 return; |
347 if (i == size || allowed_ports[i] == kComma) { | 347 if (i == size || allowed_ports[i] == kComma) { |
348 if (i > last) { | 348 if (i > last) { |
349 int port; | 349 int port; |
350 base::StringToInt(base::StringPiece(allowed_ports.begin() + last, | 350 base::StringToInt(base::StringPiece(allowed_ports.begin() + last, |
351 allowed_ports.begin() + i), | 351 allowed_ports.begin() + i), |
352 &port); | 352 &port); |
353 ports.insert(port); | 353 ports.insert(port); |
354 } | 354 } |
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
831 }; | 831 }; |
832 const std::string& host = url.host(); | 832 const std::string& host = url.host(); |
833 for (const char* suffix : kGoogleHostSuffixes) { | 833 for (const char* suffix : kGoogleHostSuffixes) { |
834 if (base::EndsWith(host, suffix, false)) | 834 if (base::EndsWith(host, suffix, false)) |
835 return true; | 835 return true; |
836 } | 836 } |
837 return false; | 837 return false; |
838 } | 838 } |
839 | 839 |
840 } // namespace net | 840 } // namespace net |
OLD | NEW |