summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mark Chien <markchien@google.com> 2019-08-13 09:36:16 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2019-08-13 09:36:16 +0000
commit161814ffb14e69c5edf3a2ff83b4ab00da9ab6d8 (patch)
treeadc989a44999d55d04292d251c54e08f4c9bd318
parent3e85da2d89c0e7ef61b5bcc24a6b44bfa57f2c12 (diff)
parent426311bcb5b3e4e3d342711fdb196531207815b9 (diff)
Merge "Don't allow upstream if entitlement don't know any downstream"
-rw-r--r--services/core/java/com/android/server/connectivity/tethering/EntitlementManager.java6
-rw-r--r--tests/net/java/com/android/server/connectivity/tethering/EntitlementManagerTest.java7
2 files changed, 13 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/connectivity/tethering/EntitlementManager.java b/services/core/java/com/android/server/connectivity/tethering/EntitlementManager.java
index 836f1e64aa9c..f952bcef5606 100644
--- a/services/core/java/com/android/server/connectivity/tethering/EntitlementManager.java
+++ b/services/core/java/com/android/server/connectivity/tethering/EntitlementManager.java
@@ -161,6 +161,12 @@ public class EntitlementManager {
* Check if cellular upstream is permitted.
*/
public boolean isCellularUpstreamPermitted() {
+ // If provisioning is required and EntitlementManager don't know any downstream,
+ // cellular upstream should not be allowed.
+ final TetheringConfiguration config = mFetcher.fetchTetheringConfiguration();
+ if (mCurrentTethers.size() == 0 && isTetherProvisioningRequired(config)) {
+ return false;
+ }
return mCellularUpstreamPermitted;
}
diff --git a/tests/net/java/com/android/server/connectivity/tethering/EntitlementManagerTest.java b/tests/net/java/com/android/server/connectivity/tethering/EntitlementManagerTest.java
index 2b2e8a72ab04..5217e26a40ef 100644
--- a/tests/net/java/com/android/server/connectivity/tethering/EntitlementManagerTest.java
+++ b/tests/net/java/com/android/server/connectivity/tethering/EntitlementManagerTest.java
@@ -406,6 +406,13 @@ public final class EntitlementManagerTest {
}
@Test
+ public void verifyPermissionWhenProvisioningNotStarted() {
+ assertTrue(mEnMgr.isCellularUpstreamPermitted());
+ setupForRequiredProvisioning();
+ assertFalse(mEnMgr.isCellularUpstreamPermitted());
+ }
+
+ @Test
public void testRunTetherProvisioning() {
setupForRequiredProvisioning();
// 1. start ui provisioning, upstream is mobile