aboutsummaryrefslogtreecommitdiff
path: root/ResolverController.cpp
diff options
context:
space:
mode:
authorMike Yu <yumike@google.com>2022-01-04 20:13:15 +0800
committerMike Yu <yumike@google.com>2022-01-04 20:15:00 +0800
commit9b748ee32cc6118c5c24b49ff938a99554d8f599 (patch)
tree7b56904e57cdd4ea59a2cdbc011c6559722fc83a /ResolverController.cpp
parent229fedcb96f5ee24eb384823ae883502a718edef (diff)
Skip res_doh_send() if there is no validated DoH servers
Since res_doh_send() can take around 2 milliseconds, skip calling it when there is no DoH servers validated. Bug: 212364676 Test: ran "dnschk --attempts 1000 --randomname" w/o this change it takes 36 seconds w/ this change it takes 32 seconds Test: checked the log to ensure that "performing query over Https" is not printed when the DNS doesn't support DoH Change-Id: I1718534889b097eb89ba12a291da0fb19f13bbbd
Diffstat (limited to 'ResolverController.cpp')
-rw-r--r--ResolverController.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/ResolverController.cpp b/ResolverController.cpp
index fedb8cc7..05cd2069 100644
--- a/ResolverController.cpp
+++ b/ResolverController.cpp
@@ -268,7 +268,7 @@ int ResolverController::getResolverInfo(int32_t netId, std::vector<std::string>*
ResolverStats::encodeAll(res_stats, stats);
const auto privateDnsStatus = PrivateDnsConfiguration::getInstance().getStatus(netId);
- for (const auto& [server, _] : privateDnsStatus.serversMap) {
+ for (const auto& [server, _] : privateDnsStatus.dotServersMap) {
tlsServers->push_back(server.toIpString());
}
@@ -362,13 +362,13 @@ void ResolverController::dump(DumpWriter& dw, unsigned netId) {
mDns64Configuration.dump(dw, netId);
const auto privateDnsStatus = PrivateDnsConfiguration::getInstance().getStatus(netId);
dw.println("Private DNS mode: %s", getPrivateDnsModeString(privateDnsStatus.mode));
- if (privateDnsStatus.serversMap.size() == 0) {
+ if (privateDnsStatus.dotServersMap.size() == 0) {
dw.println("No Private DNS servers configured");
} else {
dw.println("Private DNS configuration (%u entries)",
- static_cast<uint32_t>(privateDnsStatus.serversMap.size()));
+ static_cast<uint32_t>(privateDnsStatus.dotServersMap.size()));
dw.incIndent();
- for (const auto& [server, validation] : privateDnsStatus.serversMap) {
+ for (const auto& [server, validation] : privateDnsStatus.dotServersMap) {
dw.println("%s name{%s} status{%s}", server.toIpString().c_str(),
server.name.c_str(), validationStatusToString(validation));
}