Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 13a30cbe authored by Luke Huang's avatar Luke Huang Committed by android-build-merger
Browse files

Use IDnsResolver instead of INetd for all resolver related commands

am: d33a8f4361

Change-Id: I169739c08c7be8abb717c8195e85f1a216e98e50
parents 78ae3b88 5bd827c0
Loading
Loading
Loading
Loading
+1 −10
Original line number Diff line number Diff line
@@ -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
+7 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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;
+1 −2
Original line number Diff line number Diff line
@@ -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;
+0 −1
Original line number Diff line number Diff line
@@ -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