From 279638210366f30d136398ebffe7bb12805af4dd Mon Sep 17 00:00:00 2001 From: Cody Kesting Date: Wed, 27 May 2020 18:22:56 +0000 Subject: [PATCH 1/4] Comment reason for simulateDataStall structure. This change adds a comment to CS#simulateDataStall to explain why the Data Stall is wrapped in a DataStallReportParcelable before being passed to the ConnectivityDiagnostics handler. This approach is taken to ensure that simulated data stalls are handled the exact same as Data Stalls received directly from NetworkMonitor (including Data Stalls detected by methods that the platform does not understand). Bug: 156294356 Test: atest ConnectivityDiagnosticsManager Change-Id: I751054418bf328c72b977a1cc99c27cb9b8ab7ba Merged-In: I751054418bf328c72b977a1cc99c27cb9b8ab7ba (cherry picked from commit c86db7497a27cfbac5c662911a295598b1335bc0) --- .../core/java/com/android/server/ConnectivityService.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 1e9a9d85e0..1634f6e628 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -8187,6 +8187,11 @@ public class ConnectivityService extends IConnectivityManager.Stub + "creators"); } + // Instead of passing the data stall directly to the ConnectivityDiagnostics handler, treat + // this as a Data Stall received directly from NetworkMonitor. This requires wrapping the + // Data Stall information as a DataStallReportParcelable and passing to + // #notifyDataStallSuspected. This ensures that unknown Data Stall detection methods are + // still passed to ConnectivityDiagnostics (with new detection methods masked). final DataStallReportParcelable p = new DataStallReportParcelable(); p.timestampMillis = timestampMillis; p.detectionMethod = detectionMethod; From 7bdbb811ff39c7902c15ddd75d57a5a127908df0 Mon Sep 17 00:00:00 2001 From: Luke Huang Date: Thu, 28 May 2020 15:41:46 +0800 Subject: [PATCH 2/4] Add dnsproxyd_protocol_headers for NETID_USE_LOCAL_NAMESERVERS NETID_USE_LOCAL_NAMESERVERS is no longer in libnetd_client Bug: 151895202 Test: build Change-Id: Iea0c2488dcabdd24d6ffca8134cd11ed12e8308a --- core/jni/android_net_NetUtils.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/jni/android_net_NetUtils.cpp b/core/jni/android_net_NetUtils.cpp index ba7fe7ff87..03b9793ccb 100644 --- a/core/jni/android_net_NetUtils.cpp +++ b/core/jni/android_net_NetUtils.cpp @@ -27,12 +27,13 @@ #include #include +#include // NETID_USE_LOCAL_NAMESERVERS #include #include -#include -#include #include #include +#include +#include #include "NetdClient.h" #include "core_jni_helpers.h" From ba8ca7839402b4e289d7ff87f5d90f3966361fee Mon Sep 17 00:00:00 2001 From: Benedict Wong Date: Thu, 14 May 2020 19:02:03 -0700 Subject: [PATCH 3/4] Add RequiresFeature annotations for IKEv2 VPN profiles This change adds the @RequiresFeature annotation to Ikev2VpnProfile Builder methods, and checks before provisioning VPN profiles. Bug: 156681625 Test: New tests added, passing. Change-Id: I125d8fbe5d67fb877ad7d0636c007cb3e1a9f59b Merged-In: I125d8fbe5d67fb877ad7d0636c007cb3e1a9f59b (cherry picked from commit e84a17dd1706f4c8373047b2023a1ec4b7cf4bf3) --- .../com/android/server/connectivity/VpnTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/net/java/com/android/server/connectivity/VpnTest.java b/tests/net/java/com/android/server/connectivity/VpnTest.java index f8d8a56b57..4ccf79a0cb 100644 --- a/tests/net/java/com/android/server/connectivity/VpnTest.java +++ b/tests/net/java/com/android/server/connectivity/VpnTest.java @@ -199,6 +199,8 @@ public class VpnTest { when(mContext.getString(R.string.config_customVpnAlwaysOnDisconnectedDialogComponent)) .thenReturn(Resources.getSystem().getString( R.string.config_customVpnAlwaysOnDisconnectedDialogComponent)); + when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_IPSEC_TUNNELS)) + .thenReturn(true); when(mSystemServices.isCallerSystem()).thenReturn(true); // Used by {@link Notification.Builder} @@ -730,6 +732,20 @@ public class VpnTest { } } + @Test + public void testProvisionVpnProfileNoIpsecTunnels() throws Exception { + when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_IPSEC_TUNNELS)) + .thenReturn(false); + final Vpn vpn = createVpnAndSetupUidChecks(AppOpsManager.OP_ACTIVATE_PLATFORM_VPN); + + try { + checkProvisionVpnProfile( + vpn, true /* expectedResult */, AppOpsManager.OP_ACTIVATE_PLATFORM_VPN); + fail("Expected exception due to missing feature"); + } catch (UnsupportedOperationException expected) { + } + } + @Test public void testProvisionVpnProfilePreconsented() throws Exception { final Vpn vpn = createVpnAndSetupUidChecks(AppOpsManager.OP_ACTIVATE_PLATFORM_VPN); From dcb0e912b11b22eb58b7e37e892ad44d2d9c941a Mon Sep 17 00:00:00 2001 From: Automerger Merge Worker Date: Thu, 28 May 2020 05:29:14 +0000 Subject: [PATCH 4/4] Adjust tests for renaming groupHint to cluster. Bug: 146460486 Test: atest android.net.IpMemoryStoreTest Test: atest com.android.server.connectivity.ipmemorystore.IpMemoryStoreServiceTest Change-Id: Ia9797bb93aa4ff89147a77823d342dc22aec6a25 Merged-In: I69f7a2971cc5985d0f0078aecc39d4d6a6130033 (cherry-picked from aosp/1311654) --- tests/net/java/android/net/IpMemoryStoreTest.java | 2 +- tests/net/java/android/net/ipmemorystore/ParcelableTests.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/net/java/android/net/IpMemoryStoreTest.java b/tests/net/java/android/net/IpMemoryStoreTest.java index 442ac5605e..0b13800bc5 100644 --- a/tests/net/java/android/net/IpMemoryStoreTest.java +++ b/tests/net/java/android/net/IpMemoryStoreTest.java @@ -105,7 +105,7 @@ public class IpMemoryStoreTest { private static NetworkAttributes buildTestNetworkAttributes(String hint, int mtu) { return new NetworkAttributes.Builder() - .setGroupHint(hint) + .setCluster(hint) .setMtu(mtu) .build(); } diff --git a/tests/net/java/android/net/ipmemorystore/ParcelableTests.java b/tests/net/java/android/net/ipmemorystore/ParcelableTests.java index 1a3ea6096c..02f5286506 100644 --- a/tests/net/java/android/net/ipmemorystore/ParcelableTests.java +++ b/tests/net/java/android/net/ipmemorystore/ParcelableTests.java @@ -54,7 +54,7 @@ public class ParcelableTests { builder.setAssignedV4Address((Inet4Address) Inet4Address.getByName("6.7.8.9")); builder.setAssignedV4AddressExpiry(System.currentTimeMillis() + 3_600_000); - builder.setGroupHint("groupHint"); + builder.setCluster("groupHint"); builder.setDnsAddresses(Arrays.asList( InetAddress.getByName("ACA1:652B:0911:DE8F:1200:115E:913B:AA2A"), InetAddress.getByName("6.7.8.9")));