Chromium Code Reviews| Index: net/dns/dns_config_service_posix.cc |
| diff --git a/net/dns/dns_config_service_posix.cc b/net/dns/dns_config_service_posix.cc |
| index a0571912541db487d1b3ea7dd54cff33bbfce0fa..0caf2f481fe526b55fccfb021eb2d6d2cfdcf14d 100644 |
| --- a/net/dns/dns_config_service_posix.cc |
| +++ b/net/dns/dns_config_service_posix.cc |
| @@ -13,6 +13,7 @@ |
| #include "base/memory/scoped_ptr.h" |
| #include "net/base/ip_endpoint.h" |
| #include "net/base/net_util.h" |
| +#include "net/dns/dns_protocol.h" |
| #include "net/dns/serial_worker.h" |
| namespace net { |
| @@ -189,6 +190,11 @@ bool ConvertResStateToDnsConfig(const struct __res_state& res, |
| #endif |
| dns_config->edns0 = res.options & RES_USE_EDNS0; |
| + // If the only name server is 0.0.0.0:53, assume the configuration is invalid. |
| + const IPEndPoint kDefaultAddress(IPAddressNumber(kIPv4AddressSize), |
| + dns_protocol::kDefaultPort); |
| + if (dns_config->nameservers.size() == 1) |
| + return !(dns_config->nameservers.front() == kDefaultAddress); |
|
mmenke
2012/06/11 22:38:54
Wonder if it makes more sense to fail if any of th
szym
2012/06/14 16:18:20
Done.
|
| return true; |
| } |
| #endif // !defined(OS_ANDROID) |