diff options
| author | 2016-04-06 19:12:42 +0000 | |
|---|---|---|
| committer | 2016-04-06 19:12:43 +0000 | |
| commit | a0576c61d871c928826b3fcf96eaedc157bc3f04 (patch) | |
| tree | f3ba90bd4f829c0064df4e3fe57622d991c83f85 | |
| parent | f583427b0de21037b9bda8a8a66b1ca4e4e1c9b9 (diff) | |
| parent | 1b1bcd7b7370866bc00ce3361be8d5167bf3e28d (diff) | |
Merge "Disallow prepare()-ing over an always on VPN app" into nyc-dev
| -rw-r--r-- | services/core/java/com/android/server/connectivity/Vpn.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java index 3b0b79a771ef..a111bf925181 100644 --- a/services/core/java/com/android/server/connectivity/Vpn.java +++ b/services/core/java/com/android/server/connectivity/Vpn.java @@ -264,7 +264,12 @@ public class Vpn { return true; } - // Check if the caller is authorized. + // Stop an existing always-on VPN from being dethroned by other apps. + if (getAlwaysOnPackage() != null) { + return false; + } + + // Check that the caller is authorized. enforceControlPermission(); prepareInternal(newPackage); |