aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Yu <yumike@google.com>2023-01-12 12:28:06 +0000
committerMike Yu <yumike@google.com>2023-11-07 08:50:19 +0000
commit921db2ae9c5f5483aa0a79e6687f2667588ca619 (patch)
tree9177cbed3dd9af20861d11ab26a97d58e18fc454
parentfea7ecb3a5e7adde0d51231b7f797944a4282390 (diff)
downloadDnsResolver-921db2ae9c5f5483aa0a79e6687f2667588ca619.tar.gz
Update Andorid.bp to use DnsResolver v13
Bug: 240259333 Test: atest Change-Id: I09a7d3059462cf8355f43a1d26723f9e5a9138f1
-rw-r--r--Android.bp2
-rw-r--r--tests/dns_responder/dns_responder_client_ndk.cpp2
-rw-r--r--tests/dns_responder/dns_responder_client_ndk.h5
-rw-r--r--tests/dnsresolver_binder_test.cpp28
4 files changed, 34 insertions, 3 deletions
diff --git a/Android.bp b/Android.bp
index 9aa7f554..f0fd5c63 100644
--- a/Android.bp
+++ b/Android.bp
@@ -53,7 +53,7 @@ cc_library_headers {
],
}
-dnsresolver_aidl_interface_lateststable_version = "V12"
+dnsresolver_aidl_interface_lateststable_version = "V13"
cc_library_static {
name: "dnsresolver_aidl_interface-lateststable-ndk",
diff --git a/tests/dns_responder/dns_responder_client_ndk.cpp b/tests/dns_responder/dns_responder_client_ndk.cpp
index ee360dc2..52a170a7 100644
--- a/tests/dns_responder/dns_responder_client_ndk.cpp
+++ b/tests/dns_responder/dns_responder_client_ndk.cpp
@@ -30,6 +30,7 @@ using aidl::android::net::IDnsResolver;
using aidl::android::net::INetd;
using aidl::android::net::ResolverOptionsParcel;
using aidl::android::net::ResolverParamsParcel;
+using aidl::android::net::resolv::aidl::DohParamsParcel;
using android::base::Error;
using android::base::Result;
using android::net::ResolverStats;
@@ -51,6 +52,7 @@ ResolverParams::Builder::Builder() {
mParcel.tlsServers = {kDefaultServer};
mParcel.caCertificate = kCaCert;
mParcel.resolverOptions = ResolverOptionsParcel{}; // optional, must be explicitly set.
+ mParcel.dohParams = std::nullopt;
}
void DnsResponderClient::SetupMappings(unsigned numHosts, const std::vector<std::string>& domains,
diff --git a/tests/dns_responder/dns_responder_client_ndk.h b/tests/dns_responder/dns_responder_client_ndk.h
index da064ab2..2adc3c89 100644
--- a/tests/dns_responder/dns_responder_client_ndk.h
+++ b/tests/dns_responder/dns_responder_client_ndk.h
@@ -95,6 +95,11 @@ class ResolverParams {
mParcel.meteredNetwork = metered;
return *this;
}
+ constexpr Builder& setDohParams(
+ const aidl::android::net::resolv::aidl::DohParamsParcel& dohParams) {
+ mParcel.dohParams = dohParams;
+ return *this;
+ }
aidl::android::net::ResolverParamsParcel build() { return mParcel; }
private:
diff --git a/tests/dnsresolver_binder_test.cpp b/tests/dnsresolver_binder_test.cpp
index b06ce5d8..2d9801e0 100644
--- a/tests/dnsresolver_binder_test.cpp
+++ b/tests/dnsresolver_binder_test.cpp
@@ -52,6 +52,7 @@ using aidl::android::net::ResolverHostsParcel;
using aidl::android::net::ResolverOptionsParcel;
using aidl::android::net::ResolverParamsParcel;
using aidl::android::net::metrics::INetdEventListener;
+using aidl::android::net::resolv::aidl::DohParamsParcel;
using android::base::ReadFdToString;
using android::base::unique_fd;
using android::net::ResolverStats;
@@ -215,6 +216,10 @@ class DnsResolverBinderTest : public NetNativeTestBase {
toString(parms->hosts), parms->tcMode, parms->enforceDnsUid);
}
+ std::string toString(const std::optional<DohParamsParcel>& params) {
+ return params.has_value() ? params.value().toString() : "(null)";
+ }
+
std::string toString(const ResolverParamsParcel& parms) {
return fmt::format(
"ResolverParamsParcel{{netId: {}, sampleValiditySeconds: {}, successThreshold: {}, "
@@ -224,14 +229,15 @@ class DnsResolverBinderTest : public NetNativeTestBase {
"tlsName: {}, tlsServers: [{}], "
"tlsFingerprints: [{}], "
"caCertificate: {}, tlsConnectTimeoutMs: {}, "
- "resolverOptions: {}, transportTypes: [{}], meteredNetwork: {}}}",
+ "resolverOptions: {}, transportTypes: [{}], meteredNetwork: {}, dohParams: {}}}",
parms.netId, parms.sampleValiditySeconds, parms.successThreshold, parms.minSamples,
parms.maxSamples, parms.baseTimeoutMsec, parms.retryCount,
fmt::join(parms.servers, ", "), fmt::join(parms.domains, ", "), parms.tlsName,
fmt::join(parms.tlsServers, ", "), fmt::join(parms.tlsFingerprints, ", "),
android::base::StringReplace(parms.caCertificate, "\n", "\\n", true),
parms.tlsConnectTimeoutMs, toString(parms.resolverOptions),
- fmt::join(parms.transportTypes, ", "), parms.meteredNetwork);
+ fmt::join(parms.transportTypes, ", "), parms.meteredNetwork,
+ toString(parms.dohParams));
}
PossibleLogData toSetResolverConfigurationLogData(const ResolverParamsParcel& parms,
@@ -498,6 +504,24 @@ TEST_F(DnsResolverBinderTest, SetResolverConfiguration_TransportTypes_Default) {
EXPECT_THAT(str, HasSubstr("UNKNOWN"));
}
+TEST_F(DnsResolverBinderTest, SetResolverConfiguration_DohParams) {
+ const auto paramsWithoutDohParams = ResolverParams::Builder().build();
+ ::ndk::ScopedAStatus status = mDnsResolver->setResolverConfiguration(paramsWithoutDohParams);
+ EXPECT_TRUE(status.isOk()) << status.getMessage();
+ mExpectedLogDataWithPacel.push_back(toSetResolverConfigurationLogData(paramsWithoutDohParams));
+
+ const DohParamsParcel dohParams = {
+ .name = "doh.google",
+ .ips = {"1.2.3.4", "2001:db8::2"},
+ .dohpath = "/dns-query{?dns}",
+ .port = 443,
+ };
+ const auto paramsWithDohParams = ResolverParams::Builder().setDohParams(dohParams).build();
+ status = mDnsResolver->setResolverConfiguration(paramsWithDohParams);
+ EXPECT_TRUE(status.isOk()) << status.getMessage();
+ mExpectedLogDataWithPacel.push_back(toSetResolverConfigurationLogData(paramsWithDohParams));
+}
+
class MeteredNetworkParameterizedTest : public DnsResolverBinderTest,
public testing::WithParamInterface<bool> {};