Customized hostname/address table for DNS query
- Some Android OEMs would like to create their own customized table
(hostname/address mapping lists) that the resolver looks up before
querying dns servers and gets the result directly.
- About DNS query, resolver checks system/etc/hosts first. If no data is
found, resolver will query dns from the server. We add a new parameter to
ResolverParamsParcel for OEMs to customize the table and OEMs can use
setDnsConfigurationForNetwork to create the hostname/address lists. After
OEMs create their own lists,the dns query will be following sequence.
system/ect/hosts -> customized table -> dns server
- Add test cases: GetAddrInfoFromCustTable,
GetAddrInfoFromCustTable_InvalidInput,
GetAddrInfoFromCustTable_Modify
Bug: 122998288
Test: cd packages/modules/DnsResolver && atest
Change-Id: I7a2d689de74f0076f0115e0cb20fdc028903ae86
diff --git a/Android.bp b/Android.bp
index 28cb03e..4495d4e 100644
--- a/Android.bp
+++ b/Android.bp
@@ -18,6 +18,7 @@
local_include_dir: "binder",
srcs: [
"binder/android/net/IDnsResolver.aidl",
+ "binder/android/net/ResolverHostsParcel.aidl",
"binder/android/net/ResolverParamsParcel.aidl",
],
imports: [
@@ -185,8 +186,7 @@
"libbinder_ndk",
],
static_libs: [
- "dnsresolver_aidl_interface-cpp",
- "dnsresolver_aidl_interface-ndk_platform",
+ "dnsresolver_aidl_interface-unstable-ndk_platform",
"netd_event_listener_interface-ndk_platform",
"libgmock",
"liblog",