diff options
| author | Mike Yu <yumike@google.com> | 2022-01-04 20:13:15 +0800 |
|---|---|---|
| committer | Mike Yu <yumike@google.com> | 2022-01-04 20:15:00 +0800 |
| commit | 9b748ee32cc6118c5c24b49ff938a99554d8f599 (patch) | |
| tree | 7b56904e57cdd4ea59a2cdbc011c6559722fc83a /ResolverController.cpp | |
| parent | 229fedcb96f5ee24eb384823ae883502a718edef (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.cpp | 8 |
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)); } |
