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

Commit 02c72b91 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 7905905 from b26266bf to mainline-tethering-release

Change-Id: I1b849df0fa59c886e8e20338fa0500b55f2b740a
parents 8d2cf708 b26266bf
Loading
Loading
Loading
Loading
+16 −36
Original line number Diff line number Diff line
@@ -326,24 +326,26 @@ filegroup {
    ],
}

rust_ffi_static {
    name: "libdoh_ffi",
    crate_name: "doh",
    srcs: ["doh/doh.rs"],
    edition: "2018",

    rlibs: [
doh_rust_deps = [
    "libandroid_logger",
    "libanyhow",
    "libbase64_rust",
    "libfutures",
    "liblibc",
    "liblog_rust",
        "libquiche",
    "libring",
    "libthiserror",
    "libtokio",
    "liburl",
    ],
]

rust_ffi_static {
    name: "libdoh_ffi",
    crate_name: "doh",
    srcs: ["doh/doh.rs"],
    edition: "2018",

    rlibs: doh_rust_deps + ["libquiche"],
    prefer_rlib: true,

    shared_libs: [
@@ -368,18 +370,7 @@ rust_test {
    // Used to enable root permission for the test.
    // TODO: remove after 'require_root' is supported in rust_test.
    test_config_template: ":resolv_rust_test_config_template",
    rustlibs: [
        "libandroid_logger",
        "libanyhow",
        "libbase64_rust",
        "libfutures",
        "liblibc",
        "liblog_rust",
        "libquiche_static",
        "libring",
        "libtokio",
        "liburl",
    ],
    rustlibs: doh_rust_deps + ["libquiche_static"],
    min_sdk_version: "29",
}

@@ -390,18 +381,7 @@ rust_ffi_static {
    srcs: ["doh/doh.rs"],
    edition: "2018",

    rlibs: [
        "libandroid_logger",
        "libanyhow",
        "libbase64_rust",
        "libfutures",
        "liblibc",
        "liblog_rust",
        "libquiche_static",
        "libring",
        "libtokio",
        "liburl",
    ],
    rlibs: doh_rust_deps + ["libquiche_static"],
    prefer_rlib: true,
    // TODO(b/194022174), for unit tests to run on the Android 10 platform,
    // libunwind must be statically linked.
+3 −2
Original line number Diff line number Diff line
@@ -14,6 +14,8 @@
 * limitations under the License.
 */

#define LOG_TAG "resolv"

#include "DnsResolver.h"

#include <android-base/logging.h>
@@ -28,12 +30,11 @@

bool resolv_init(const ResolverNetdCallbacks* callbacks) {
    android::base::InitLogging(/*argv=*/nullptr);
    android::base::SetDefaultTag("libnetd_resolv");
    LOG(INFO) << __func__ << ": Initializing resolver";
    // TODO(b/170539625): restore log level to WARNING after clarifying flaky tests.
    const bool isDebug = isUserDebugBuild();
    resolv_set_log_severity(isDebug ? android::base::DEBUG : android::base::WARNING);
    doh_init_logger(isDebug ? LOG_LEVEL_DEBUG : LOG_LEVEL_WARN);
    doh_init_logger(isDebug ? DOH_LOG_LEVEL_DEBUG : DOH_LOG_LEVEL_WARN);
    using android::net::gApiLevel;
    gApiLevel = getApiLevel();
    using android::net::gResNetdCallbacks;
+4 −3
Original line number Diff line number Diff line
@@ -81,7 +81,8 @@ int StatsData::averageLatencyMs() const {
}

std::string StatsData::toString() const {
    if (total == 0) return fmt::format("{} <no data>", sockAddr.ip().toString());
    if (total == 0)
        return fmt::format("{}:{} <no data>", sockAddr.ip().toString(), sockAddr.port());

    const auto now = std::chrono::steady_clock::now();
    const int lastUpdateSec = duration_cast<seconds>(now - lastUpdate).count();
@@ -91,8 +92,8 @@ std::string StatsData::toString() const {
            buf += fmt::format("{}:{} ", rcodeToName(rcode), counts);
        }
    }
    return fmt::format("{} ({}, {}ms, [{}], {}s)", sockAddr.ip().toString(), total,
                       averageLatencyMs(), buf, lastUpdateSec);
    return fmt::format("{}:{} ({}, {}ms, [{}], {}s)", sockAddr.ip().toString(), sockAddr.port(),
                       total, averageLatencyMs(), buf, lastUpdateSec);
}

StatsRecords::StatsRecords(const IPSockAddr& ipSockAddr, size_t size)
+6 −5
Original line number Diff line number Diff line
@@ -142,7 +142,8 @@ class DnsStatsTest : public ::testing::Test {

            for (const auto& stats : statsData) {
                ASSERT_TRUE(std::regex_search(*dumpString, sm, pattern));
                EXPECT_EQ(sm[1], stats.sockAddr.ip().toString());
                EXPECT_EQ(sm[1], stats.sockAddr.ip().toString() + ":" +
                                         std::to_string(stats.sockAddr.port()));
                EXPECT_FALSE(sm[2].str().empty());
                EXPECT_FALSE(sm[3].str().empty());
                *dumpString = sm.suffix();
@@ -238,9 +239,9 @@ TEST_F(DnsStatsTest, SetAddrs) {
TEST_F(DnsStatsTest, SetServersDifferentPorts) {
    const std::vector<IPSockAddr> servers = {
            IPSockAddr::toIPSockAddr("127.0.0.1", 0),    IPSockAddr::toIPSockAddr("fe80::1", 0),
            IPSockAddr::toIPSockAddr("127.0.0.1", 53),  IPSockAddr::toIPSockAddr("127.0.0.1", 5353),
            IPSockAddr::toIPSockAddr("127.0.0.1", 853), IPSockAddr::toIPSockAddr("fe80::1", 53),
            IPSockAddr::toIPSockAddr("fe80::1", 5353),  IPSockAddr::toIPSockAddr("fe80::1", 853),
            IPSockAddr::toIPSockAddr("127.0.0.1", 53),   IPSockAddr::toIPSockAddr("127.0.0.1", 853),
            IPSockAddr::toIPSockAddr("127.0.0.1", 5353), IPSockAddr::toIPSockAddr("fe80::1", 53),
            IPSockAddr::toIPSockAddr("fe80::1", 853),    IPSockAddr::toIPSockAddr("fe80::1", 5353),
    };

    // Servers setup fails due to port unset.
+3 −0
Original line number Diff line number Diff line
@@ -18,6 +18,9 @@

namespace android::net {

static constexpr int kDohPort = 443;
static constexpr int kDotPort = 853;

enum class PrivateDnsTransport : uint8_t {
    kDot,  // DNS over TLS.
    kDoh,  // DNS over HTTPS.
Loading