Add minimal Private DNS configuration info in dumpsys
Test: as follows
- built
- flashed
- booted
- adb shell dumpsys netd
Bug: 34953048
Bug: 64133961
Change-Id: Ib09353f7b681a58524f9dbe6dd79fd3dafa4ca24
diff --git a/server/ResolverController.cpp b/server/ResolverController.cpp
index e0dc9f1..1b55f29 100644
--- a/server/ResolverController.cpp
+++ b/server/ResolverController.cpp
@@ -206,6 +206,17 @@
privateDnsTransports.erase(netId);
}
+constexpr const char* validationStatusToString(ResolverController::Validation value) {
+ switch (value) {
+ case ResolverController::Validation::in_process: return "in_process";
+ case ResolverController::Validation::success: return "success";
+ case ResolverController::Validation::fail: return "fail";
+ case ResolverController::Validation::unknown_server: return "unknown_server";
+ case ResolverController::Validation::unknown_netid: return "unknown_netid";
+ default: return "unknown_status";
+ }
+}
+
} // namespace
int ResolverController::setDnsServers(unsigned netId, const char* searchDomains,
@@ -457,6 +468,26 @@
static_cast<unsigned>(params.min_samples),
static_cast<unsigned>(params.max_samples));
}
+ {
+ std::lock_guard<std::mutex> guard(privateDnsLock);
+ const auto& netPair = privateDnsTransports.find(netId);
+ if (netPair == privateDnsTransports.end()) {
+ dw.println("No Private DNS configured");
+ } else {
+ const auto& tracker = netPair->second;
+ dw.println("Private DNS configuration (%zu entries)", tracker.size());
+ dw.incIndent();
+ for (const auto& kv : tracker) {
+ const auto& server = kv.first;
+ const auto status = kv.second;
+ dw.println("%s name{%s} status{%s}",
+ addrToString(&(server.ss)).c_str(),
+ server.name.c_str(),
+ validationStatusToString(status));
+ }
+ dw.decIndent();
+ }
+ }
}
dw.decIndent();
}