Loading DnsTlsServer.h +3 −3 Original line number Original line Diff line number Diff line Loading @@ -62,9 +62,9 @@ struct DnsTlsServer { // The time to wait for the attempt on connecting to the server. // The time to wait for the attempt on connecting to the server. // Set the default value 127 seconds to be consistent with TCP connect timeout. // Set the default value 127 seconds to be consistent with TCP connect timeout. // (presume net.ipv4.tcp_syn_retries = 6) // (presume net.ipv4.tcp_syn_retries = 6) std::chrono::milliseconds connectTimeout = std::chrono::milliseconds(kDotConnectTimeoutMs); static constexpr std::chrono::milliseconds kDotConnectTimeoutMs = std::chrono::milliseconds(127 * 1000); static constexpr int kDotConnectTimeoutMs = 127 * 1000; std::chrono::milliseconds connectTimeout = kDotConnectTimeoutMs; // Exact comparison of DnsTlsServer objects // Exact comparison of DnsTlsServer objects bool operator<(const DnsTlsServer& other) const; bool operator<(const DnsTlsServer& other) const; Loading PrivateDnsConfiguration.cpp +6 −10 Original line number Original line Diff line number Diff line Loading @@ -19,11 +19,9 @@ #include "PrivateDnsConfiguration.h" #include "PrivateDnsConfiguration.h" #include <android-base/logging.h> #include <android-base/logging.h> #include <android-base/parseint.h> #include <android-base/stringprintf.h> #include <android-base/stringprintf.h> #include <netdb.h> #include <netdb.h> #include <netdutils/ThreadUtil.h> #include <netdutils/ThreadUtil.h> #include <server_configurable_flags/get_flags.h> #include <sys/socket.h> #include <sys/socket.h> #include "DnsTlsTransport.h" #include "DnsTlsTransport.h" Loading @@ -31,9 +29,8 @@ #include "netd_resolv/resolv.h" #include "netd_resolv/resolv.h" #include "netdutils/BackoffSequence.h" #include "netdutils/BackoffSequence.h" #include "resolv_cache.h" #include "resolv_cache.h" #include "util.h" using android::base::ParseInt; using server_configurable_flags::GetServerConfigurableFlag; using std::chrono::milliseconds; using std::chrono::milliseconds; namespace android { namespace android { Loading @@ -41,10 +38,9 @@ namespace net { namespace { namespace { milliseconds getTimeoutFromExperimentFlag(const std::string& flagName, const int defaultValue) { milliseconds getExperimentTimeout(const std::string& flagName, const milliseconds defaultValue) { int val = defaultValue; int val = getExperimentFlagInt(flagName, defaultValue.count()); ParseInt(GetServerConfigurableFlag("netd_native", flagName, ""), &val); return milliseconds((val < 1000) ? 1000 : val); return (val < 1000) ? milliseconds(1000) : milliseconds(val); } } } // namespace } // namespace Loading Loading @@ -90,8 +86,8 @@ int PrivateDnsConfiguration::set(int32_t netId, uint32_t mark, DnsTlsServer server(parsed); DnsTlsServer server(parsed); server.name = name; server.name = name; server.certificate = caCert; server.certificate = caCert; server.connectTimeout = getTimeoutFromExperimentFlag("dot_connect_timeout_ms", server.connectTimeout = DnsTlsServer::kDotConnectTimeoutMs); getExperimentTimeout("dot_connect_timeout_ms", DnsTlsServer::kDotConnectTimeoutMs); tlsServers.insert(server); tlsServers.insert(server); LOG(DEBUG) << "Set DoT connect timeout " << server.connectTimeout.count() << "ms for " << s; LOG(DEBUG) << "Set DoT connect timeout " << server.connectTimeout.count() << "ms for " << s; } } Loading res_cache.cpp +3 −8 Original line number Original line Diff line number Diff line Loading @@ -1527,18 +1527,13 @@ static resolv_cache_info* find_cache_info_locked(unsigned netid) { } } static void resolv_set_experiment_params(res_params* params) { static void resolv_set_experiment_params(res_params* params) { using android::base::ParseInt; using server_configurable_flags::GetServerConfigurableFlag; if (params->retry_count == 0) { if (params->retry_count == 0) { params->retry_count = RES_DFLRETRY; params->retry_count = getExperimentFlagInt("retry_count", RES_DFLRETRY); ParseInt(GetServerConfigurableFlag("netd_native", "retry_count", ""), ¶ms->retry_count); } } if (params->base_timeout_msec == 0) { if (params->base_timeout_msec == 0) { params->base_timeout_msec = RES_TIMEOUT; params->base_timeout_msec = ParseInt(GetServerConfigurableFlag("netd_native", "retransmission_time_interval", ""), getExperimentFlagInt("retransmission_time_interval", RES_TIMEOUT); ¶ms->base_timeout_msec); } } } } Loading util.cpp +12 −0 Original line number Original line Diff line number Diff line Loading @@ -17,6 +17,12 @@ #include "util.h" #include "util.h" #include <android-base/parseint.h> #include <server_configurable_flags/get_flags.h> using android::base::ParseInt; using server_configurable_flags::GetServerConfigurableFlag; socklen_t sockaddrSize(const sockaddr* sa) { socklen_t sockaddrSize(const sockaddr* sa) { if (sa == nullptr) return 0; if (sa == nullptr) return 0; Loading @@ -33,3 +39,9 @@ socklen_t sockaddrSize(const sockaddr* sa) { socklen_t sockaddrSize(const sockaddr_storage& ss) { socklen_t sockaddrSize(const sockaddr_storage& ss) { return sockaddrSize(reinterpret_cast<const sockaddr*>(&ss)); return sockaddrSize(reinterpret_cast<const sockaddr*>(&ss)); } } int getExperimentFlagInt(const std::string& flagName, int defaultValue) { int val = defaultValue; ParseInt(GetServerConfigurableFlag("netd_native", flagName, ""), &val); return val; } util.h +5 −0 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,12 @@ #pragma once #pragma once #include <string> #include <netinet/in.h> #include <netinet/in.h> socklen_t sockaddrSize(const sockaddr* sa); socklen_t sockaddrSize(const sockaddr* sa); socklen_t sockaddrSize(const sockaddr_storage& ss); socklen_t sockaddrSize(const sockaddr_storage& ss); // TODO: getExperimentFlagString int getExperimentFlagInt(const std::string& flagName, int defaultValue); Loading
DnsTlsServer.h +3 −3 Original line number Original line Diff line number Diff line Loading @@ -62,9 +62,9 @@ struct DnsTlsServer { // The time to wait for the attempt on connecting to the server. // The time to wait for the attempt on connecting to the server. // Set the default value 127 seconds to be consistent with TCP connect timeout. // Set the default value 127 seconds to be consistent with TCP connect timeout. // (presume net.ipv4.tcp_syn_retries = 6) // (presume net.ipv4.tcp_syn_retries = 6) std::chrono::milliseconds connectTimeout = std::chrono::milliseconds(kDotConnectTimeoutMs); static constexpr std::chrono::milliseconds kDotConnectTimeoutMs = std::chrono::milliseconds(127 * 1000); static constexpr int kDotConnectTimeoutMs = 127 * 1000; std::chrono::milliseconds connectTimeout = kDotConnectTimeoutMs; // Exact comparison of DnsTlsServer objects // Exact comparison of DnsTlsServer objects bool operator<(const DnsTlsServer& other) const; bool operator<(const DnsTlsServer& other) const; Loading
PrivateDnsConfiguration.cpp +6 −10 Original line number Original line Diff line number Diff line Loading @@ -19,11 +19,9 @@ #include "PrivateDnsConfiguration.h" #include "PrivateDnsConfiguration.h" #include <android-base/logging.h> #include <android-base/logging.h> #include <android-base/parseint.h> #include <android-base/stringprintf.h> #include <android-base/stringprintf.h> #include <netdb.h> #include <netdb.h> #include <netdutils/ThreadUtil.h> #include <netdutils/ThreadUtil.h> #include <server_configurable_flags/get_flags.h> #include <sys/socket.h> #include <sys/socket.h> #include "DnsTlsTransport.h" #include "DnsTlsTransport.h" Loading @@ -31,9 +29,8 @@ #include "netd_resolv/resolv.h" #include "netd_resolv/resolv.h" #include "netdutils/BackoffSequence.h" #include "netdutils/BackoffSequence.h" #include "resolv_cache.h" #include "resolv_cache.h" #include "util.h" using android::base::ParseInt; using server_configurable_flags::GetServerConfigurableFlag; using std::chrono::milliseconds; using std::chrono::milliseconds; namespace android { namespace android { Loading @@ -41,10 +38,9 @@ namespace net { namespace { namespace { milliseconds getTimeoutFromExperimentFlag(const std::string& flagName, const int defaultValue) { milliseconds getExperimentTimeout(const std::string& flagName, const milliseconds defaultValue) { int val = defaultValue; int val = getExperimentFlagInt(flagName, defaultValue.count()); ParseInt(GetServerConfigurableFlag("netd_native", flagName, ""), &val); return milliseconds((val < 1000) ? 1000 : val); return (val < 1000) ? milliseconds(1000) : milliseconds(val); } } } // namespace } // namespace Loading Loading @@ -90,8 +86,8 @@ int PrivateDnsConfiguration::set(int32_t netId, uint32_t mark, DnsTlsServer server(parsed); DnsTlsServer server(parsed); server.name = name; server.name = name; server.certificate = caCert; server.certificate = caCert; server.connectTimeout = getTimeoutFromExperimentFlag("dot_connect_timeout_ms", server.connectTimeout = DnsTlsServer::kDotConnectTimeoutMs); getExperimentTimeout("dot_connect_timeout_ms", DnsTlsServer::kDotConnectTimeoutMs); tlsServers.insert(server); tlsServers.insert(server); LOG(DEBUG) << "Set DoT connect timeout " << server.connectTimeout.count() << "ms for " << s; LOG(DEBUG) << "Set DoT connect timeout " << server.connectTimeout.count() << "ms for " << s; } } Loading
res_cache.cpp +3 −8 Original line number Original line Diff line number Diff line Loading @@ -1527,18 +1527,13 @@ static resolv_cache_info* find_cache_info_locked(unsigned netid) { } } static void resolv_set_experiment_params(res_params* params) { static void resolv_set_experiment_params(res_params* params) { using android::base::ParseInt; using server_configurable_flags::GetServerConfigurableFlag; if (params->retry_count == 0) { if (params->retry_count == 0) { params->retry_count = RES_DFLRETRY; params->retry_count = getExperimentFlagInt("retry_count", RES_DFLRETRY); ParseInt(GetServerConfigurableFlag("netd_native", "retry_count", ""), ¶ms->retry_count); } } if (params->base_timeout_msec == 0) { if (params->base_timeout_msec == 0) { params->base_timeout_msec = RES_TIMEOUT; params->base_timeout_msec = ParseInt(GetServerConfigurableFlag("netd_native", "retransmission_time_interval", ""), getExperimentFlagInt("retransmission_time_interval", RES_TIMEOUT); ¶ms->base_timeout_msec); } } } } Loading
util.cpp +12 −0 Original line number Original line Diff line number Diff line Loading @@ -17,6 +17,12 @@ #include "util.h" #include "util.h" #include <android-base/parseint.h> #include <server_configurable_flags/get_flags.h> using android::base::ParseInt; using server_configurable_flags::GetServerConfigurableFlag; socklen_t sockaddrSize(const sockaddr* sa) { socklen_t sockaddrSize(const sockaddr* sa) { if (sa == nullptr) return 0; if (sa == nullptr) return 0; Loading @@ -33,3 +39,9 @@ socklen_t sockaddrSize(const sockaddr* sa) { socklen_t sockaddrSize(const sockaddr_storage& ss) { socklen_t sockaddrSize(const sockaddr_storage& ss) { return sockaddrSize(reinterpret_cast<const sockaddr*>(&ss)); return sockaddrSize(reinterpret_cast<const sockaddr*>(&ss)); } } int getExperimentFlagInt(const std::string& flagName, int defaultValue) { int val = defaultValue; ParseInt(GetServerConfigurableFlag("netd_native", flagName, ""), &val); return val; }
util.h +5 −0 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,12 @@ #pragma once #pragma once #include <string> #include <netinet/in.h> #include <netinet/in.h> socklen_t sockaddrSize(const sockaddr* sa); socklen_t sockaddrSize(const sockaddr* sa); socklen_t sockaddrSize(const sockaddr_storage& ss); socklen_t sockaddrSize(const sockaddr_storage& ss); // TODO: getExperimentFlagString int getExperimentFlagInt(const std::string& flagName, int defaultValue);