Loading DnsProxyListener.cpp +1 −10 Original line number Diff line number Diff line Loading @@ -476,17 +476,8 @@ bool synthesizeNat64PrefixWithARecord(const netdutils::IPPrefix& prefix, addrinf return true; } // TODO: Make it call internal resolver to getPrefix64 // after resolver related commands migration done bool getDns64Prefix(unsigned netId, netdutils::IPPrefix* prefix) { in6_addr v6addr{}; uint8_t prefixLen = 0; if (!gResNetdCallbacks.get_dns64_prefix(netId, &v6addr, &prefixLen)) { return false; } const netdutils::IPAddress ipv6(v6addr); *prefix = netdutils::IPPrefix(ipv6, static_cast<int>(prefixLen)); return true; return !gDnsResolv->resolverCtrl.getPrefix64(netId, prefix); } } // namespace Loading DnsResolverService.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -242,5 +242,12 @@ static std::vector<uint8_t> parseBase64(const std::string& input) { return ::ndk::ScopedAStatus(AStatus_newOk()); } ::ndk::ScopedAStatus DnsResolverService::clearResolverConfiguration(int netId) { ENFORCE_NETWORK_STACK_PERMISSIONS(); gDnsResolv->resolverCtrl.clearDnsServers(netId); return ::ndk::ScopedAStatus(AStatus_newOk()); } } // namespace net } // namespace android DnsResolverService.h +1 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ class DnsResolverService : public aidl::android::net::BnDnsResolver { std::vector<std::string>* domains, std::vector<int32_t>* params, std::vector<int32_t>* stats, std::vector<int32_t>* wait_for_pending_req_timeout_count) override; ::ndk::ScopedAStatus clearResolverConfiguration(int32_t netId) override; // DNS64-related commands ::ndk::ScopedAStatus startPrefix64Discovery(int32_t netId) override; Loading ResolverController.cpp +1 −2 Original line number Diff line number Diff line Loading @@ -181,11 +181,10 @@ ResolverController::ResolverController() std::bind(sendNat64PrefixEvent, _1)) {} int ResolverController::clearDnsServers(unsigned netId) { // It will create the cache if it doesn't exist. resolv_set_nameservers_for_net(netId, nullptr, 0, "", nullptr); if (DBG) { ALOGD("clearDnsServers netId = %u\n", netId); } resolv_delete_cache_for_net(netId); mDns64Configuration.stopPrefixDiscovery(netId); resolv_delete_private_dns_for_net(netId); return 0; Loading ResolverController.h +0 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ class ResolverController { ResolverController(); ~ResolverController() = default; // TODO: Check if we really need it. int clearDnsServers(unsigned netid); int getPrefix64(unsigned netId, netdutils::IPPrefix* prefix); Loading Loading
DnsProxyListener.cpp +1 −10 Original line number Diff line number Diff line Loading @@ -476,17 +476,8 @@ bool synthesizeNat64PrefixWithARecord(const netdutils::IPPrefix& prefix, addrinf return true; } // TODO: Make it call internal resolver to getPrefix64 // after resolver related commands migration done bool getDns64Prefix(unsigned netId, netdutils::IPPrefix* prefix) { in6_addr v6addr{}; uint8_t prefixLen = 0; if (!gResNetdCallbacks.get_dns64_prefix(netId, &v6addr, &prefixLen)) { return false; } const netdutils::IPAddress ipv6(v6addr); *prefix = netdutils::IPPrefix(ipv6, static_cast<int>(prefixLen)); return true; return !gDnsResolv->resolverCtrl.getPrefix64(netId, prefix); } } // namespace Loading
DnsResolverService.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -242,5 +242,12 @@ static std::vector<uint8_t> parseBase64(const std::string& input) { return ::ndk::ScopedAStatus(AStatus_newOk()); } ::ndk::ScopedAStatus DnsResolverService::clearResolverConfiguration(int netId) { ENFORCE_NETWORK_STACK_PERMISSIONS(); gDnsResolv->resolverCtrl.clearDnsServers(netId); return ::ndk::ScopedAStatus(AStatus_newOk()); } } // namespace net } // namespace android
DnsResolverService.h +1 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ class DnsResolverService : public aidl::android::net::BnDnsResolver { std::vector<std::string>* domains, std::vector<int32_t>* params, std::vector<int32_t>* stats, std::vector<int32_t>* wait_for_pending_req_timeout_count) override; ::ndk::ScopedAStatus clearResolverConfiguration(int32_t netId) override; // DNS64-related commands ::ndk::ScopedAStatus startPrefix64Discovery(int32_t netId) override; Loading
ResolverController.cpp +1 −2 Original line number Diff line number Diff line Loading @@ -181,11 +181,10 @@ ResolverController::ResolverController() std::bind(sendNat64PrefixEvent, _1)) {} int ResolverController::clearDnsServers(unsigned netId) { // It will create the cache if it doesn't exist. resolv_set_nameservers_for_net(netId, nullptr, 0, "", nullptr); if (DBG) { ALOGD("clearDnsServers netId = %u\n", netId); } resolv_delete_cache_for_net(netId); mDns64Configuration.stopPrefixDiscovery(netId); resolv_delete_private_dns_for_net(netId); return 0; Loading
ResolverController.h +0 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ class ResolverController { ResolverController(); ~ResolverController() = default; // TODO: Check if we really need it. int clearDnsServers(unsigned netid); int getPrefix64(unsigned netId, netdutils::IPPrefix* prefix); Loading