| Index: net/base/net_util.cc
|
| diff --git a/net/base/net_util.cc b/net/base/net_util.cc
|
| index 028b56b74a8bb526b4e486bb1c328efda71005d4..97a7f854cb3933e2647127e49030bf04b5d853e5 100644
|
| --- a/net/base/net_util.cc
|
| +++ b/net/base/net_util.cc
|
| @@ -730,10 +730,31 @@ int GetPortFromSockaddr(const struct sockaddr* address, socklen_t address_len) {
|
| return base::NetToHost16(*port_field);
|
| }
|
|
|
| +bool IsLocalhostHostname(const std::string& host, bool* isLocalhost6) {
|
| + std::string lowercased_host = base::StringToLowerASCII(host);
|
| + if (lowercased_host == "localhost6" ||
|
| + lowercased_host == "localhost6.localdomain6" ||
|
| + lowercased_host == "localhost6." ||
|
| + lowercased_host == "localhost6.localdomain6.") {
|
| + *isLocalhost6 = true;
|
| + return true;
|
| + }
|
| +
|
| + if (lowercased_host == "localhost" ||
|
| + lowercased_host == "localhost.localdomain" ||
|
| + lowercased_host == "localhost." ||
|
| + lowercased_host == "localhost.localdomain." ||
|
| + IsLocalhostTLD(lowercased_host)) {
|
| + *isLocalhost6 = false;
|
| + return true;
|
| + }
|
| +
|
| + return false;
|
| +}
|
| +
|
| bool IsLocalhost(const std::string& host) {
|
| - if (host == "localhost" || host == "localhost.localdomain" ||
|
| - host == "localhost6" || host == "localhost6.localdomain6" ||
|
| - IsLocalhostTLD(host))
|
| + bool isIPv6;
|
| + if (IsLocalhostHostname(host, &isIPv6))
|
| return true;
|
|
|
| IPAddressNumber ip_number;
|
|
|