Loading core/java/android/net/ConnectivityManager.java +3 −8 Original line number Diff line number Diff line Loading @@ -26,7 +26,6 @@ import android.annotation.UnsupportedAppUsage; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Binder; import android.os.Build.VERSION_CODES; import android.os.Bundle; Loading Loading @@ -3801,8 +3800,9 @@ public class ConnectivityManager { private void unsupportedStartingFrom(int version) { if (Process.myUid() == Process.SYSTEM_UID) { // The getApplicationInfo() call we make below is not supported in system context, and // we want to allow the system to use these APIs anyway. // The getApplicationInfo() call we make below is not supported in system context. Let // the call through here, and rely on the fact that ConnectivityService will refuse to // allow the system to use these APIs anyway. return; } Loading @@ -3819,11 +3819,6 @@ public class ConnectivityManager { // functions by accessing ConnectivityService directly. However, it should be clear that doing // so is unsupported and may break in the future. http://b/22728205 private void checkLegacyRoutingApiAccess() { if (mContext.checkCallingOrSelfPermission("com.android.permission.INJECT_OMADM_SETTINGS") == PackageManager.PERMISSION_GRANTED) { return; } unsupportedStartingFrom(VERSION_CODES.M); } Loading services/core/java/com/android/server/ConnectivityService.java +17 −0 Original line number Diff line number Diff line Loading @@ -1475,6 +1475,20 @@ public class ConnectivityService extends IConnectivityManager.Stub } }; /** * Ensures that the system cannot call a particular method. */ private boolean disallowedBecauseSystemCaller() { // TODO: start throwing a SecurityException when GnssLocationProvider stops calling // requestRouteToHost. if (isSystem(Binder.getCallingUid())) { log("This method exists only for app backwards compatibility" + " and must not be called by system services."); return true; } return false; } /** * Ensure that a network route exists to deliver traffic to the specified * host via the specified network interface. Loading @@ -1486,6 +1500,9 @@ public class ConnectivityService extends IConnectivityManager.Stub */ @Override public boolean requestRouteToHostAddress(int networkType, byte[] hostAddress) { if (disallowedBecauseSystemCaller()) { return false; } enforceChangePermission(); if (mProtectedNetworks.contains(networkType)) { enforceConnectivityInternalPermission(); Loading Loading
core/java/android/net/ConnectivityManager.java +3 −8 Original line number Diff line number Diff line Loading @@ -26,7 +26,6 @@ import android.annotation.UnsupportedAppUsage; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Binder; import android.os.Build.VERSION_CODES; import android.os.Bundle; Loading Loading @@ -3801,8 +3800,9 @@ public class ConnectivityManager { private void unsupportedStartingFrom(int version) { if (Process.myUid() == Process.SYSTEM_UID) { // The getApplicationInfo() call we make below is not supported in system context, and // we want to allow the system to use these APIs anyway. // The getApplicationInfo() call we make below is not supported in system context. Let // the call through here, and rely on the fact that ConnectivityService will refuse to // allow the system to use these APIs anyway. return; } Loading @@ -3819,11 +3819,6 @@ public class ConnectivityManager { // functions by accessing ConnectivityService directly. However, it should be clear that doing // so is unsupported and may break in the future. http://b/22728205 private void checkLegacyRoutingApiAccess() { if (mContext.checkCallingOrSelfPermission("com.android.permission.INJECT_OMADM_SETTINGS") == PackageManager.PERMISSION_GRANTED) { return; } unsupportedStartingFrom(VERSION_CODES.M); } Loading
services/core/java/com/android/server/ConnectivityService.java +17 −0 Original line number Diff line number Diff line Loading @@ -1475,6 +1475,20 @@ public class ConnectivityService extends IConnectivityManager.Stub } }; /** * Ensures that the system cannot call a particular method. */ private boolean disallowedBecauseSystemCaller() { // TODO: start throwing a SecurityException when GnssLocationProvider stops calling // requestRouteToHost. if (isSystem(Binder.getCallingUid())) { log("This method exists only for app backwards compatibility" + " and must not be called by system services."); return true; } return false; } /** * Ensure that a network route exists to deliver traffic to the specified * host via the specified network interface. Loading @@ -1486,6 +1500,9 @@ public class ConnectivityService extends IConnectivityManager.Stub */ @Override public boolean requestRouteToHostAddress(int networkType, byte[] hostAddress) { if (disallowedBecauseSystemCaller()) { return false; } enforceChangePermission(); if (mProtectedNetworks.contains(networkType)) { enforceConnectivityInternalPermission(); Loading