Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d0547c3 authored by Matt Walliser's avatar Matt Walliser
Browse files

Change SharedConnectivityService's permission check to use checkCallingOrSelfPermission

Bug: 270611789
Test: "atest android.net.wifi.sharedconnectivity.cts.SharedConnectivityTest"
Change-Id: Ieed967b35a7de4d73190a849796853e18d0c0cb1
parent e69874b0
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -130,9 +130,16 @@ public abstract class SharedConnectivityService extends Service {

            @RequiresPermission(anyOf = {android.Manifest.permission.NETWORK_SETTINGS,
                    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() {
                if (checkCallingPermission(NETWORK_SETTINGS) != PackageManager.PERMISSION_GRANTED
                        && checkCallingPermission(NETWORK_SETUP_WIZARD)
                if (checkCallingOrSelfPermission(NETWORK_SETTINGS)
                        != PackageManager.PERMISSION_GRANTED
                        && checkCallingOrSelfPermission(NETWORK_SETUP_WIZARD)
                        != PackageManager.PERMISSION_GRANTED) {
                    throw new SecurityException("Calling process must have NETWORK_SETTINGS or"
                            + " NETWORK_SETUP_WIZARD permission");