Rename struct __res_params to res_params
The double-underscore prefixes are a leftover from when this code lived
in bionic. Now we're slowly getting rid of them...
Also cleanup transitive includes a bit.
Test: atest resolv_integration_test resolv_unit_test
Change-Id: I65ed8aed273be4af37a982a167f364a1f33f9a36
diff --git a/DnsProxyListener.cpp b/DnsProxyListener.cpp
index 945819a..9dc620b 100644
--- a/DnsProxyListener.cpp
+++ b/DnsProxyListener.cpp
@@ -36,7 +36,8 @@
#include <vector>
#include <android-base/stringprintf.h>
-#include <cutils/misc.h>
+#include <android/multinetwork.h> // ResNsendFlags
+#include <cutils/misc.h> // FIRST_APPLICATION_UID
#include <log/log.h>
#include <netdutils/OperationLimiter.h>
#include <netdutils/Slice.h>
diff --git a/include/netd_resolv/params.h b/include/netd_resolv/params.h
index c565753..ec61445 100644
--- a/include/netd_resolv/params.h
+++ b/include/netd_resolv/params.h
@@ -19,15 +19,13 @@
#include <stdint.h>
-/* Hard-coded defines */
-#define MAXNS 4 /* max # name servers we'll track */
-#define MAXDNSRCH 6 /* max # domains in search path */
-#define MAXDNSRCHPATH 256 /* max length of domain search paths */
-#define MAXNSSAMPLES 64 /* max # samples to store per server */
+#define MAXNS 4 // max # name servers we'll track
+#define MAXDNSRCH 6 // max # domains in search path
+#define MAXDNSRCHPATH 256 // max length of domain search paths
+#define MAXNSSAMPLES 64 // max # samples to store per server
// Per-netid configuration parameters passed from netd to the resolver
-// TODO: rename to res_params
-struct __res_params {
+struct res_params {
uint16_t sample_validity; // sample lifetime in s
// threshold of success / total samples below which a server is considered broken
uint8_t success_threshold; // 0: disable, value / 100 otherwise
diff --git a/include/netd_resolv/resolv.h b/include/netd_resolv/resolv.h
index f79ec64..2e65370 100644
--- a/include/netd_resolv/resolv.h
+++ b/include/netd_resolv/resolv.h
@@ -28,15 +28,13 @@
#ifndef NETD_RESOLV_RESOLV_H
#define NETD_RESOLV_RESOLV_H
-/*
- * This header contains declarations related to per-network DNS server selection.
- * They are used by system/netd/ and should not be exposed by the public NDK headers.
- */
-#include <android/multinetwork.h> // ResNsendFlags
+#include "params.h"
#include <netinet/in.h>
-#include "params.h"
+struct addrinfo;
+struct hostent;
+struct res_params;
typedef union sockaddr_union {
struct sockaddr sa;
@@ -62,10 +60,6 @@
*/
#define NETD_RESOLV_TIMEOUT 255 // consistent with RCODE_TIMEOUT
-struct __res_params;
-struct addrinfo;
-struct hostent;
-
/*
* A struct to capture context relevant to network operations.
*
@@ -140,7 +134,7 @@
// Set name servers for a network
LIBNETD_RESOLV_PUBLIC int resolv_set_nameservers_for_net(unsigned netid, const char** servers,
int numservers, const char* domains,
- const __res_params* params);
+ const res_params* params);
LIBNETD_RESOLV_PUBLIC int resolv_set_private_dns_for_net(unsigned netid, uint32_t mark,
const char** servers, int numServers,
diff --git a/include/netd_resolv/resolv_stub.h b/include/netd_resolv/resolv_stub.h
index 32710db..c5ed19e 100644
--- a/include/netd_resolv/resolv_stub.h
+++ b/include/netd_resolv/resolv_stub.h
@@ -44,10 +44,10 @@
int (*android_net_res_stats_get_info_for_net)(unsigned netid, int* nscount,
sockaddr_storage servers[MAXNS], int* dcount,
char domains[MAXDNSRCH][MAXDNSRCHPATH],
- __res_params* params, res_stats stats[MAXNS],
+ res_params* params, res_stats stats[MAXNS],
int* wait_for_pending_req_timeout_count);
- void (*android_net_res_stats_get_usable_servers)(const __res_params* params, res_stats stats[],
+ void (*android_net_res_stats_get_usable_servers)(const res_params* params, res_stats stats[],
int nscount, bool valid_servers[]);
void (*resolv_delete_cache_for_net)(unsigned netid);
@@ -61,7 +61,7 @@
bool (*resolv_init)(const dnsproxylistener_callbacks& callbacks);
int (*resolv_set_nameservers_for_net)(unsigned netid, const char** servers, unsigned numservers,
- const char* domains, const __res_params* params);
+ const char* domains, const res_params* params);
int (*resolv_set_private_dns_for_net)(unsigned netid, uint32_t mark, const char** servers,
const unsigned numServers, const char* tlsName,
diff --git a/include/netd_resolv/stats.h b/include/netd_resolv/stats.h
index e078e72..94e964b 100644
--- a/include/netd_resolv/stats.h
+++ b/include/netd_resolv/stats.h
@@ -51,11 +51,11 @@
LIBNETD_RESOLV_PUBLIC int android_net_res_stats_get_info_for_net(
unsigned netid, int* nscount, sockaddr_storage servers[MAXNS], int* dcount,
- char domains[MAXDNSRCH][MAXDNSRCHPATH], __res_params* params, res_stats stats[MAXNS],
+ char domains[MAXDNSRCH][MAXDNSRCHPATH], res_params* params, res_stats stats[MAXNS],
int* wait_for_pending_req_timeout_count);
// Returns an array of bools indicating which servers are considered good
-LIBNETD_RESOLV_PUBLIC void android_net_res_stats_get_usable_servers(const __res_params* params,
+LIBNETD_RESOLV_PUBLIC void android_net_res_stats_get_usable_servers(const res_params* params,
res_stats stats[], int nscount,
bool valid_servers[]);
diff --git a/libnetd_resolv_test.cpp b/libnetd_resolv_test.cpp
index 2bd27fd..f4812a6 100644
--- a/libnetd_resolv_test.cpp
+++ b/libnetd_resolv_test.cpp
@@ -79,7 +79,7 @@
}
const char* mDefaultSearchDomains = "example.com";
- const __res_params mDefaultParams_Binder = {
+ const res_params mDefaultParams_Binder = {
.sample_validity = 300,
.success_threshold = 25,
.min_samples = 8,
diff --git a/res_cache.cpp b/res_cache.cpp
index 8d498ab..98e6909 100644
--- a/res_cache.cpp
+++ b/res_cache.cpp
@@ -32,6 +32,8 @@
constexpr bool kDumpData = false;
#define LOG_TAG "res_cache"
+#include "resolv_cache.h"
+
#include <resolv.h>
#include <stdarg.h>
#include <stdio.h>
@@ -49,9 +51,9 @@
#include <android-base/logging.h>
#include <android-base/thread_annotations.h>
+#include <android/multinetwork.h> // ResNsendFlags
#include "res_state_ext.h"
-#include "resolv_cache.h"
#include "resolv_private.h"
#define VLOG if (!kVerboseLogging) {} else LOG(INFO)
@@ -187,7 +189,7 @@
* printf( "%s", buff );
*/
-/* Defaults used for initializing __res_params */
+/* Defaults used for initializing res_params */
// If successes * 100 / total_samples is less than this value, the server is considered failing
#define SUCCESS_THRESHOLD 75
@@ -1145,7 +1147,7 @@
char* nameservers[MAXNS];
struct addrinfo* nsaddrinfo[MAXNS];
int revision_id; // # times the nameservers have been replaced
- struct __res_params params;
+ res_params params;
struct res_stats nsstats[MAXNS];
char defdname[MAXDNSRCHPATH];
int dnsrch_offset[MAXDNSRCH + 1]; // offsets into defdname
@@ -1709,7 +1711,7 @@
return cache_info;
}
-static void resolv_set_default_params(struct __res_params* params) {
+static void resolv_set_default_params(res_params* params) {
params->sample_validity = NSSAMPLE_VALIDITY;
params->success_threshold = SUCCESS_THRESHOLD;
params->min_samples = 0;
@@ -1719,7 +1721,7 @@
}
int resolv_set_nameservers_for_net(unsigned netid, const char** servers, const int numservers,
- const char* domains, const __res_params* params) {
+ const char* domains, const res_params* params) {
char* cp;
int* offset;
struct addrinfo* nsaddrinfo[MAXNS];
@@ -1940,8 +1942,7 @@
int android_net_res_stats_get_info_for_net(unsigned netid, int* nscount,
struct sockaddr_storage servers[MAXNS], int* dcount,
char domains[MAXDNSRCH][MAXDNSRCHPATH],
- struct __res_params* params,
- struct res_stats stats[MAXNS],
+ res_params* params, struct res_stats stats[MAXNS],
int* wait_for_pending_req_timeout_count) {
int revision_id = -1;
std::lock_guard guard(cache_mutex);
@@ -2002,7 +2003,7 @@
return revision_id;
}
-int resolv_cache_get_resolver_stats(unsigned netid, __res_params* params, res_stats stats[MAXNS]) {
+int resolv_cache_get_resolver_stats(unsigned netid, res_params* params, res_stats stats[MAXNS]) {
std::lock_guard guard(cache_mutex);
resolv_cache_info* info = find_cache_info_locked(netid);
if (info) {
diff --git a/res_send.cpp b/res_send.cpp
index 0f048b4..5da47fd 100644
--- a/res_send.cpp
+++ b/res_send.cpp
@@ -99,6 +99,7 @@
#include <unistd.h>
#include <android-base/logging.h>
+#include <android/multinetwork.h> // ResNsendFlags
#include <netdutils/Slice.h>
#include "DnsTlsDispatcher.h"
@@ -145,10 +146,10 @@
static int get_salen(const struct sockaddr*);
static struct sockaddr* get_nsaddr(res_state, size_t);
-static int send_vc(res_state, struct __res_params* params, const u_char*, int, u_char*, int, int*,
- int, time_t*, int*, int*);
-static int send_dg(res_state, struct __res_params* params, const u_char*, int, u_char*, int, int*,
- int, int*, int*, time_t*, int*, int*);
+static int send_vc(res_state, res_params* params, const u_char*, int, u_char*, int, int*, int,
+ time_t*, int*, int*);
+static int send_dg(res_state, res_params* params, const u_char*, int, u_char*, int, int*, int, int*,
+ int*, time_t*, int*, int*);
static void Aerror(const res_state, FILE*, const char*, int, const struct sockaddr*, int);
static void Perror(const res_state, FILE*, const char*, int);
static int sock_eq(struct sockaddr*, struct sockaddr*);
@@ -506,8 +507,8 @@
statp->_u._ext.nstimes[lastns] = nstime;
}
- struct res_stats stats[MAXNS];
- struct __res_params params;
+ res_stats stats[MAXNS];
+ res_params params;
int revision_id = resolv_cache_get_resolver_stats(statp->netid, ¶ms, stats);
bool usable_servers[MAXNS];
android_net_res_stats_get_usable_servers(¶ms, stats, statp->nscount, usable_servers);
@@ -689,8 +690,7 @@
}
}
-static struct timespec get_timeout(const res_state statp, const struct __res_params* params,
- const int ns) {
+static struct timespec get_timeout(const res_state statp, const res_params* params, const int ns) {
int msec;
if (params->base_timeout_msec != 0) {
// TODO: scale the timeout by retry attempt and maybe number of servers
@@ -715,9 +715,8 @@
return result;
}
-static int send_vc(res_state statp, struct __res_params* params, const u_char* buf, int buflen,
- u_char* ans, int anssiz, int* terrno, int ns, time_t* at, int* rcode,
- int* delay) {
+static int send_vc(res_state statp, res_params* params, const u_char* buf, int buflen, u_char* ans,
+ int anssiz, int* terrno, int ns, time_t* at, int* rcode, int* delay) {
*at = time(NULL);
*delay = 0;
const HEADER* hp = (const HEADER*) (const void*) buf;
@@ -984,9 +983,9 @@
return n;
}
-static int send_dg(res_state statp, struct __res_params* params, const u_char* buf, int buflen,
- u_char* ans, int anssiz, int* terrno, int ns, int* v_circuit, int* gotsomewhere,
- time_t* at, int* rcode, int* delay) {
+static int send_dg(res_state statp, res_params* params, const u_char* buf, int buflen, u_char* ans,
+ int anssiz, int* terrno, int ns, int* v_circuit, int* gotsomewhere, time_t* at,
+ int* rcode, int* delay) {
*at = time(NULL);
*delay = 0;
const HEADER* hp = (const HEADER*) (const void*) buf;
diff --git a/res_stats.cpp b/res_stats.cpp
index 4001206..feba34f 100644
--- a/res_stats.cpp
+++ b/res_stats.cpp
@@ -118,7 +118,7 @@
// Returns true if the server is considered unusable, i.e. if the success rate is not lower than the
// threshold for the stored stored samples. If not enough samples are stored, the server is
// considered usable.
-static bool res_stats_usable_server(const struct __res_params* params, res_stats* stats) {
+static bool res_stats_usable_server(const res_params* params, res_stats* stats) {
int successes = -1;
int errors = -1;
int timeouts = -1;
@@ -157,7 +157,7 @@
return 1;
}
-void android_net_res_stats_get_usable_servers(const struct __res_params* params, res_stats stats[],
+void android_net_res_stats_get_usable_servers(const res_params* params, res_stats stats[],
int nscount, bool usable_servers[]) {
unsigned usable_servers_found = 0;
for (int ns = 0; ns < nscount; ns++) {
diff --git a/resolv_private.h b/resolv_private.h
index d4b38be..852bb8d 100644
--- a/resolv_private.h
+++ b/resolv_private.h
@@ -128,7 +128,7 @@
/* Retrieve a local copy of the stats for the given netid. The buffer must have space for
* MAXNS __resolver_stats. Returns the revision id of the resolvers used.
*/
-int resolv_cache_get_resolver_stats(unsigned netid, __res_params* params, res_stats stats[MAXNS]);
+int resolv_cache_get_resolver_stats(unsigned netid, res_params* params, res_stats stats[MAXNS]);
/* Add a sample to the shared struct for the given netid and server, provided that the
* revision_id of the stored servers has not changed.
diff --git a/resolver_test.cpp b/resolver_test.cpp
index 623ec79..c6a68e9 100644
--- a/resolver_test.cpp
+++ b/resolver_test.cpp
@@ -119,7 +119,7 @@
void TearDown() { mDnsClient.TearDown(); }
bool GetResolverInfo(std::vector<std::string>* servers, std::vector<std::string>* domains,
- std::vector<std::string>* tlsServers, __res_params* params,
+ std::vector<std::string>* tlsServers, res_params* params,
std::vector<ResolverStats>* stats,
int* wait_for_pending_req_timeout_count) {
using android::net::INetd;
@@ -133,7 +133,7 @@
if (!rv.isOk() || params32.size() != static_cast<size_t>(INetd::RESOLVER_PARAMS_COUNT)) {
return false;
}
- *params = __res_params{
+ *params = res_params{
.sample_validity =
static_cast<uint16_t>(params32[INetd::RESOLVER_PARAMS_SAMPLE_VALIDITY]),
.success_threshold =
@@ -280,7 +280,7 @@
std::vector<std::string> res_servers;
std::vector<std::string> res_domains;
std::vector<std::string> res_tls_servers;
- __res_params res_params;
+ res_params res_params;
std::vector<ResolverStats> res_stats;
int wait_for_pending_req_timeout_count;
ASSERT_TRUE(GetResolverInfo(&res_servers, &res_domains, &res_tls_servers, &res_params,
@@ -474,7 +474,7 @@
std::vector<std::string> res_servers;
std::vector<std::string> res_domains;
std::vector<std::string> res_tls_servers;
- __res_params res_params;
+ res_params res_params;
std::vector<ResolverStats> res_stats;
int wait_for_pending_req_timeout_count;
ASSERT_TRUE(GetResolverInfo(&res_servers, &res_domains, &res_tls_servers, &res_params,
@@ -646,7 +646,7 @@
std::vector<std::string> res_servers;
std::vector<std::string> res_domains;
std::vector<std::string> res_tls_servers;
- __res_params res_params;
+ res_params res_params;
std::vector<ResolverStats> res_stats;
int wait_for_pending_req_timeout_count;
ASSERT_TRUE(GetResolverInfo(&res_servers, &res_domains, &res_tls_servers, &res_params,
@@ -839,7 +839,7 @@
std::vector<std::string> res_servers;
std::vector<std::string> res_domains;
std::vector<std::string> res_tls_servers;
- __res_params res_params;
+ res_params res_params;
std::vector<ResolverStats> res_stats;
int wait_for_pending_req_timeout_count;
ASSERT_TRUE(GetResolverInfo(&res_servers, &res_domains, &res_tls_servers, &res_params,
@@ -869,7 +869,7 @@
std::vector<std::string> res_servers;
std::vector<std::string> res_domains;
std::vector<std::string> res_tls_servers;
- __res_params res_params;
+ res_params res_params;
std::vector<ResolverStats> res_stats;
int wait_for_pending_req_timeout_count;
ASSERT_TRUE(GetResolverInfo(&res_servers, &res_domains, &res_tls_servers, &res_params,
@@ -977,7 +977,7 @@
std::vector<std::string> res_servers;
std::vector<std::string> res_domains;
std::vector<std::string> res_tls_servers;
- __res_params res_params;
+ res_params res_params;
std::vector<ResolverStats> res_stats;
int wait_for_pending_req_timeout_count;
ASSERT_TRUE(GetResolverInfo(&res_servers, &res_domains, &res_tls_servers, &res_params,
@@ -1029,7 +1029,7 @@
std::vector<std::string> res_servers;
std::vector<std::string> res_domains;
std::vector<std::string> res_tls_servers;
- __res_params res_params;
+ res_params res_params;
std::vector<ResolverStats> res_stats;
int wait_for_pending_req_timeout_count;
ASSERT_TRUE(GetResolverInfo(&res_servers, &res_domains, &res_tls_servers, &res_params,