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

Commit cf2f9fdb authored by waynema's avatar waynema Committed by Automerger Merge Worker
Browse files

Cleanup DoH statistics when DoH is not supported in the private DNS mode. am: ae5fe72c

Original change: https://android-review.googlesource.com/c/platform/packages/modules/DnsResolver/+/1842948

Change-Id: If56da3ec992be0ba7a58562922706cf058c8f2db
parents a7691414 ae5fe72c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@
#include "ResolverEventReporter.h"
#include "doh.h"
#include "netd_resolv/resolv.h"
#include "resolv_cache.h"
#include "resolv_private.h"
#include "util.h"

@@ -476,6 +477,7 @@ int PrivateDnsConfiguration::setDoh(int32_t netId, uint32_t mark,
                           dohId.status);
        mPrivateDnsLog.push(std::move(record));
        LOG(INFO) << __func__ << ": Upgrading server to DoH: " << name;
        resolv_stats_set_addrs(netId, PROTO_DOH, {dohId.ipAddr}, 443);

        int probeTimeout = Experiments::getInstance()->getFlag("doh_probe_timeout_ms",
                                                               kDohProbeDefaultTimeoutMs);
@@ -495,6 +497,7 @@ void PrivateDnsConfiguration::clearDohLocked(unsigned netId) {
    LOG(DEBUG) << "PrivateDnsConfiguration::clearDohLocked (" << netId << ")";
    if (mDohDispatcher != nullptr) doh_net_delete(mDohDispatcher, netId);
    mDohTracker.erase(netId);
    resolv_stats_set_addrs(netId, PROTO_DOH, {}, 443);
}

void PrivateDnsConfiguration::clearDoh(unsigned netId) {
+4 −13
Original line number Diff line number Diff line
@@ -228,22 +228,13 @@ int ResolverController::setResolverConfiguration(const ResolverParamsParcel& res
    }

    if (isDoHEnabled()) {
        if (err = privateDnsConfiguration.setDoh(resolverParams.netId, netcontext.app_mark,
                                                 tlsServers, resolverParams.tlsName,
                                                 resolverParams.caCertificate);
            err != 0) {
            return err;
        }
        auto result = privateDnsConfiguration.getDohServer(resolverParams.netId);
        if (result.ok()) {
            const netdutils::IPSockAddr sockAddr = result.value();
            if (err = resolv_stats_set_addrs(resolverParams.netId, PROTO_DOH,
                                             {sockAddr.ip().toString()}, sockAddr.port());
                err != 0) {
        err = privateDnsConfiguration.setDoh(resolverParams.netId, netcontext.app_mark, tlsServers,
                                             resolverParams.tlsName, resolverParams.caCertificate);

        if (err != 0) {
            return err;
        }
    }
    }

    res_params res_params = {};
    res_params.sample_validity = resolverParams.sampleValiditySeconds;