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

Commit 665a6a3e 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:...

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

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

Change-Id: I2f8ea13f0b4d08c69362ee9a5c530478400dc622
parents ed539b71 8efa8be0
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;