Decouple PrivateDnsConfiguration from resolv_cache.h
This change is to simplify writting tests for PrivateDnsConfiguration.
Also add a network ID check before starting any resolver configuration.
Bug: 79727473
Test: cd packages/modules/DnsResolver && atest
Change-Id: Icf0040c67aafe5318a61fc3d2b7158d8f0384367
diff --git a/ResolverController.cpp b/ResolverController.cpp
index 6a10326..051f095 100644
--- a/ResolverController.cpp
+++ b/ResolverController.cpp
@@ -201,6 +201,10 @@
int ResolverController::setResolverConfiguration(const ResolverParamsParcel& resolverParams) {
using aidl::android::net::IDnsResolver;
+ if (!has_named_cache(resolverParams.netId)) {
+ return -ENOENT;
+ }
+
// Expect to get the mark with system permission.
android_net_context netcontext;
gResNetdCallbacks.get_network_context(resolverParams.netId, 0 /* uid */, &netcontext);
@@ -223,6 +227,10 @@
return err;
}
+ if (int err = resolv_stats_set_servers_for_dot(resolverParams.netId, tlsServers); err != 0) {
+ return err;
+ }
+
res_params res_params = {};
res_params.sample_validity = resolverParams.sampleValiditySeconds;
res_params.success_threshold = resolverParams.successThreshold;