Use dns resolver v9 in connectivity and set resolverOptions to null.
The resolverOptions member of the ResolverParamsParcel has never been set by AOSP code but was only used by OEMs modifying DnsManager. Now that DnsManager is mainline code, this is no longer possible. So the DNS resolver introduces a new setResolverOptions IPC to allow OEMs to set the options and makes the resolverOptions nullable. Make DnsManager set resolverOptions to null, to ensure that when DnsManager calls setResolverConfiguration, it does not overwrite any options set by the OEM. Bug: 194048056 Test: Device boots and has connectivity Change-Id: I310a79521f5a365e50e2c65e9dd87d9b68f105d7
This commit is contained in:
committed by
Lorenzo Colitti
parent
93bda73970
commit
30bebea049
@@ -65,7 +65,7 @@ java_library {
|
|||||||
"ServiceConnectivityResources",
|
"ServiceConnectivityResources",
|
||||||
],
|
],
|
||||||
static_libs: [
|
static_libs: [
|
||||||
"dnsresolver_aidl_interface-V8-java",
|
"dnsresolver_aidl_interface-V9-java",
|
||||||
"modules-utils-build",
|
"modules-utils-build",
|
||||||
"modules-utils-os",
|
"modules-utils-os",
|
||||||
"net-utils-device-common",
|
"net-utils-device-common",
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ import android.net.IDnsResolver;
|
|||||||
import android.net.InetAddresses;
|
import android.net.InetAddresses;
|
||||||
import android.net.LinkProperties;
|
import android.net.LinkProperties;
|
||||||
import android.net.Network;
|
import android.net.Network;
|
||||||
import android.net.ResolverOptionsParcel;
|
|
||||||
import android.net.ResolverParamsParcel;
|
import android.net.ResolverParamsParcel;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.net.shared.PrivateDnsConfig;
|
import android.net.shared.PrivateDnsConfig;
|
||||||
@@ -384,7 +383,6 @@ public class DnsManager {
|
|||||||
.collect(Collectors.toList()))
|
.collect(Collectors.toList()))
|
||||||
: useTls ? paramsParcel.servers // Opportunistic
|
: useTls ? paramsParcel.servers // Opportunistic
|
||||||
: new String[0]; // Off
|
: new String[0]; // Off
|
||||||
paramsParcel.resolverOptions = new ResolverOptionsParcel();
|
|
||||||
paramsParcel.transportTypes = transportTypes;
|
paramsParcel.transportTypes = transportTypes;
|
||||||
// Prepare to track the validation status of the DNS servers in the
|
// Prepare to track the validation status of the DNS servers in the
|
||||||
// resolver config when private DNS is in opportunistic or strict mode.
|
// resolver config when private DNS is in opportunistic or strict mode.
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ import static org.mockito.Mockito.verify;
|
|||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
|
import android.annotation.Nullable;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.ConnectivitySettingsManager;
|
import android.net.ConnectivitySettingsManager;
|
||||||
import android.net.IDnsResolver;
|
import android.net.IDnsResolver;
|
||||||
@@ -106,8 +107,14 @@ public class DnsManagerTest {
|
|||||||
@Mock IDnsResolver mMockDnsResolver;
|
@Mock IDnsResolver mMockDnsResolver;
|
||||||
|
|
||||||
private void assertResolverOptionsEquals(
|
private void assertResolverOptionsEquals(
|
||||||
@NonNull ResolverOptionsParcel actual,
|
@Nullable ResolverOptionsParcel actual,
|
||||||
@NonNull ResolverOptionsParcel expected) {
|
@Nullable ResolverOptionsParcel expected) {
|
||||||
|
if (actual == null) {
|
||||||
|
assertNull(expected);
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
assertNotNull(expected);
|
||||||
|
}
|
||||||
assertEquals(actual.hosts, expected.hosts);
|
assertEquals(actual.hosts, expected.hosts);
|
||||||
assertEquals(actual.tcMode, expected.tcMode);
|
assertEquals(actual.tcMode, expected.tcMode);
|
||||||
assertEquals(actual.enforceDnsUid, expected.enforceDnsUid);
|
assertEquals(actual.enforceDnsUid, expected.enforceDnsUid);
|
||||||
@@ -365,7 +372,7 @@ public class DnsManagerTest {
|
|||||||
expectedParams.tlsName = "";
|
expectedParams.tlsName = "";
|
||||||
expectedParams.tlsServers = new String[]{"3.3.3.3", "4.4.4.4"};
|
expectedParams.tlsServers = new String[]{"3.3.3.3", "4.4.4.4"};
|
||||||
expectedParams.transportTypes = TEST_TRANSPORT_TYPES;
|
expectedParams.transportTypes = TEST_TRANSPORT_TYPES;
|
||||||
expectedParams.resolverOptions = new ResolverOptionsParcel();
|
expectedParams.resolverOptions = null;
|
||||||
assertResolverParamsEquals(actualParams, expectedParams);
|
assertResolverParamsEquals(actualParams, expectedParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user