Merge "Change SharedConnectivityService's permission check to use checkCallingOrSelfPermission" into udc-dev am: 68e79acf4a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21564426 Change-Id: I2b64ecface8728ad939b5e885bf110fcecfa2162 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -130,10 +130,17 @@ public abstract class SharedConnectivityService extends Service {
|
|||||||
|
|
||||||
@RequiresPermission(anyOf = {android.Manifest.permission.NETWORK_SETTINGS,
|
@RequiresPermission(anyOf = {android.Manifest.permission.NETWORK_SETTINGS,
|
||||||
android.Manifest.permission.NETWORK_SETUP_WIZARD})
|
android.Manifest.permission.NETWORK_SETUP_WIZARD})
|
||||||
|
/**
|
||||||
|
* checkPermissions is using checkCallingOrSelfPermission to support CTS testing of this
|
||||||
|
* service. This does allow a process to bind to itself if it holds the proper
|
||||||
|
* permission. We do not consider this to be an issue given that the process can already
|
||||||
|
* access the service data since they are in the same process.
|
||||||
|
*/
|
||||||
private void checkPermissions() {
|
private void checkPermissions() {
|
||||||
if (checkCallingPermission(NETWORK_SETTINGS) != PackageManager.PERMISSION_GRANTED
|
if (checkCallingOrSelfPermission(NETWORK_SETTINGS)
|
||||||
&& checkCallingPermission(NETWORK_SETUP_WIZARD)
|
!= PackageManager.PERMISSION_GRANTED
|
||||||
!= PackageManager.PERMISSION_GRANTED) {
|
&& checkCallingOrSelfPermission(NETWORK_SETUP_WIZARD)
|
||||||
|
!= PackageManager.PERMISSION_GRANTED) {
|
||||||
throw new SecurityException("Calling process must have NETWORK_SETTINGS or"
|
throw new SecurityException("Calling process must have NETWORK_SETTINGS or"
|
||||||
+ " NETWORK_SETUP_WIZARD permission");
|
+ " NETWORK_SETUP_WIZARD permission");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user