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

Commit 15cb4213 authored by Mike Yu's avatar Mike Yu Committed by Automerger Merge Worker
Browse files

Unify the code to use convertEnumType() am: c84b0fbd

parents 04435077 c84b0fbd
Loading
Loading
Loading
Loading
+3 −11
Original line number Diff line number Diff line
@@ -263,17 +263,9 @@ bool parseQuery(span<const uint8_t> msg, uint16_t* query_id, int* rr_type, std::
// Note: Even if it returns PDM_OFF, it doesn't mean there's no DoT stats in the message
// because Private DNS mode can change at any time.
PrivateDnsModes getPrivateDnsModeForMetrics(uint32_t netId) {
    switch (PrivateDnsConfiguration::getInstance().getStatus(netId).mode) {
        case PrivateDnsMode::OFF:
            // It can also be due to netId not found.
            return PrivateDnsModes::PDM_OFF;
        case PrivateDnsMode::OPPORTUNISTIC:
            return PrivateDnsModes::PDM_OPPORTUNISTIC;
        case PrivateDnsMode::STRICT:
            return PrivateDnsModes::PDM_STRICT;
        default:
            return PrivateDnsModes::PDM_UNKNOWN;
    }
    // If the network `netId` doesn't exist, getStatus() sets the mode to PrivateDnsMode::OFF and
    // returns it. This is incorrect for the metrics. Consider returning PDM_UNKNOWN in such case.
    return convertEnumType(PrivateDnsConfiguration::getInstance().getStatus(netId).mode);
}

void initDnsEvent(NetworkDnsEventReported* event, const android_net_context& netContext) {
+2 −2
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ bool ensureNoInvalidIp(const std::vector<std::string>& servers) {

}  // namespace

PrivateDnsModes convert_enum_type(PrivateDnsMode mode) {
PrivateDnsModes convertEnumType(PrivateDnsMode mode) {
    switch (mode) {
        case PrivateDnsMode::OFF:
            return PrivateDnsModes::PDM_OFF;
@@ -203,7 +203,7 @@ NetworkDnsServerSupportReported PrivateDnsConfiguration::getStatusForMetrics(uns
    const PrivateDnsStatus status = getStatusLocked(netId);
    NetworkDnsServerSupportReported event = {};
    event.set_network_type(resolv_get_network_types_for_net(netId));
    event.set_private_dns_modes(convert_enum_type(status.mode));
    event.set_private_dns_modes(convertEnumType(status.mode));

    if (const auto it = mUnorderedDnsTracker.find(netId); it != mUnorderedDnsTracker.end()) {
        for (size_t i = 0; i < it->second.size(); i++) {
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@
namespace android {
namespace net {

PrivateDnsModes convert_enum_type(PrivateDnsMode mode);
PrivateDnsModes convertEnumType(PrivateDnsMode mode);

struct PrivateDnsStatus {
    PrivateDnsMode mode;
+0 −14
Original line number Diff line number Diff line
@@ -141,7 +141,6 @@ using android::net::NsRcode;
using android::net::NsType;
using android::net::PrivateDnsConfiguration;
using android::net::PrivateDnsMode;
using android::net::PrivateDnsModes;
using android::net::PrivateDnsStatus;
using android::net::PROTO_DOH;
using android::net::PROTO_MDNS;
@@ -1311,19 +1310,6 @@ static int sock_eq(struct sockaddr* a, struct sockaddr* b) {
    }
}

PrivateDnsModes convertEnumType(PrivateDnsMode privateDnsmode) {
    switch (privateDnsmode) {
        case PrivateDnsMode::OFF:
            return PrivateDnsModes::PDM_OFF;
        case PrivateDnsMode::OPPORTUNISTIC:
            return PrivateDnsModes::PDM_OPPORTUNISTIC;
        case PrivateDnsMode::STRICT:
            return PrivateDnsModes::PDM_STRICT;
        default:
            return PrivateDnsModes::PDM_UNKNOWN;
    }
}

static int res_private_dns_send(ResState* statp, const Slice query, const Slice answer, int* rcode,
                                bool* fallback) {
    const unsigned netId = statp->netid;