Loading Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -334,6 +334,7 @@ doh_rust_deps = [ "liblibc", "liblog_rust", "libring", "libthiserror", "libtokio", "liburl", ] Loading DnsResolver.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -14,6 +14,8 @@ * limitations under the License. */ #define LOG_TAG "resolv" #include "DnsResolver.h" #include <android-base/logging.h> Loading @@ -28,7 +30,6 @@ 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(); Loading DnsStats.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ 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.toString()); const auto now = std::chrono::steady_clock::now(); const int lastUpdateSec = duration_cast<seconds>(now - lastUpdate).count(); Loading @@ -91,8 +91,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.toString(), total, averageLatencyMs(), buf, lastUpdateSec); } StatsRecords::StatsRecords(const IPSockAddr& ipSockAddr, size_t size) Loading DnsStatsTest.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -121,7 +121,7 @@ class DnsStatsTest : public ::testing::Test { const std::vector<StatsData>& dohData) { // A pattern to capture three matches: // server address (empty allowed), the statistics, and the score. const std::regex pattern(R"(\s{4,}([0-9a-fA-F:\.]*)[ ]?([<(].*[>)])[ ]?(\S*))"); const std::regex pattern(R"(\s{4,}([0-9a-fA-F:\.\]\[]*)[ ]?([<(].*[>)])[ ]?(\S*))"); std::string dumpString = captureDumpOutput(); const auto check = [&](const std::vector<StatsData>& statsData, const std::string& protocol, Loading @@ -142,7 +142,7 @@ 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.toString()); EXPECT_FALSE(sm[2].str().empty()); EXPECT_FALSE(sm[3].str().empty()); *dumpString = sm.suffix(); Loading Loading @@ -238,9 +238,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. Loading Experiments.h +2 −2 Original line number Diff line number Diff line Loading @@ -17,10 +17,10 @@ #pragma once #include <climits> #include <map> #include <mutex> #include <string> #include <string_view> #include <unordered_map> #include <android-base/thread_annotations.h> #include <netdutils/DumpWriter.h> Loading @@ -45,7 +45,7 @@ class Experiments { Experiments() = delete; void updateInternal() EXCLUDES(mMutex); mutable std::mutex mMutex; std::unordered_map<std::string_view, int> mFlagsMapInt GUARDED_BY(mMutex); std::map<std::string_view, int> mFlagsMapInt GUARDED_BY(mMutex); // TODO: Migrate other experiment flags to here. // (retry_count, retransmission_time_interval) static constexpr const char* const kExperimentFlagKeyList[] = { Loading Loading
Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -334,6 +334,7 @@ doh_rust_deps = [ "liblibc", "liblog_rust", "libring", "libthiserror", "libtokio", "liburl", ] Loading
DnsResolver.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -14,6 +14,8 @@ * limitations under the License. */ #define LOG_TAG "resolv" #include "DnsResolver.h" #include <android-base/logging.h> Loading @@ -28,7 +30,6 @@ 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(); Loading
DnsStats.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ 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.toString()); const auto now = std::chrono::steady_clock::now(); const int lastUpdateSec = duration_cast<seconds>(now - lastUpdate).count(); Loading @@ -91,8 +91,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.toString(), total, averageLatencyMs(), buf, lastUpdateSec); } StatsRecords::StatsRecords(const IPSockAddr& ipSockAddr, size_t size) Loading
DnsStatsTest.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -121,7 +121,7 @@ class DnsStatsTest : public ::testing::Test { const std::vector<StatsData>& dohData) { // A pattern to capture three matches: // server address (empty allowed), the statistics, and the score. const std::regex pattern(R"(\s{4,}([0-9a-fA-F:\.]*)[ ]?([<(].*[>)])[ ]?(\S*))"); const std::regex pattern(R"(\s{4,}([0-9a-fA-F:\.\]\[]*)[ ]?([<(].*[>)])[ ]?(\S*))"); std::string dumpString = captureDumpOutput(); const auto check = [&](const std::vector<StatsData>& statsData, const std::string& protocol, Loading @@ -142,7 +142,7 @@ 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.toString()); EXPECT_FALSE(sm[2].str().empty()); EXPECT_FALSE(sm[3].str().empty()); *dumpString = sm.suffix(); Loading Loading @@ -238,9 +238,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. Loading
Experiments.h +2 −2 Original line number Diff line number Diff line Loading @@ -17,10 +17,10 @@ #pragma once #include <climits> #include <map> #include <mutex> #include <string> #include <string_view> #include <unordered_map> #include <android-base/thread_annotations.h> #include <netdutils/DumpWriter.h> Loading @@ -45,7 +45,7 @@ class Experiments { Experiments() = delete; void updateInternal() EXCLUDES(mMutex); mutable std::mutex mMutex; std::unordered_map<std::string_view, int> mFlagsMapInt GUARDED_BY(mMutex); std::map<std::string_view, int> mFlagsMapInt GUARDED_BY(mMutex); // TODO: Migrate other experiment flags to here. // (retry_count, retransmission_time_interval) static constexpr const char* const kExperimentFlagKeyList[] = { Loading