| Index: net/base/host_resolver_impl.cc
|
| diff --git a/net/base/host_resolver_impl.cc b/net/base/host_resolver_impl.cc
|
| index c1b7a3fc07827e10b69334d7ed91bf0441e6a1e8..73a3d1291e51706114df71e46124fc70be6a7f1b 100644
|
| --- a/net/base/host_resolver_impl.cc
|
| +++ b/net/base/host_resolver_impl.cc
|
| @@ -1722,7 +1722,6 @@ bool HostResolverImpl::ServeFromCache(const Key& key,
|
| if (!cache_entry)
|
| return false;
|
|
|
| -
|
| *net_error = cache_entry->error;
|
| if (*net_error == OK)
|
| *addresses = CreateAddressListUsingPort(cache_entry->addrlist, info.port());
|
| @@ -1736,13 +1735,16 @@ bool HostResolverImpl::ServeFromHosts(const Key& key,
|
| if (!HaveDnsConfig())
|
| return false;
|
|
|
| + // HOSTS lookups are case-insensitive.
|
| + std::string hostname = StringToLowerASCII(key.hostname);
|
| +
|
| // If |address_family| is ADDRESS_FAMILY_UNSPECIFIED other implementations
|
| // (glibc and c-ares) return the first matching line. We have more
|
| // flexibility, but lose implicit ordering.
|
| // TODO(szym) http://crbug.com/117850
|
| const DnsHosts& hosts = dns_client_->GetConfig()->hosts;
|
| DnsHosts::const_iterator it = hosts.find(
|
| - DnsHostsKey(key.hostname,
|
| + DnsHostsKey(hostname,
|
| key.address_family == ADDRESS_FAMILY_UNSPECIFIED ?
|
| ADDRESS_FAMILY_IPV4 : key.address_family));
|
|
|
| @@ -1750,7 +1752,7 @@ bool HostResolverImpl::ServeFromHosts(const Key& key,
|
| if (key.address_family != ADDRESS_FAMILY_UNSPECIFIED)
|
| return false;
|
|
|
| - it = hosts.find(DnsHostsKey(key.hostname, ADDRESS_FAMILY_IPV6));
|
| + it = hosts.find(DnsHostsKey(hostname, ADDRESS_FAMILY_IPV6));
|
| if (it == hosts.end())
|
| return false;
|
| }
|
|
|