When an app bypasses a location access check due to its target SDK for
queries to ServiceState or when we're pushing out info through
TelephonyRegistry, log it as info instead of error to avoid spamming the
logs too much.
Fixes: 130668054
Test: manual
Change-Id: Ia490f2de2f0b5d326e5290e166e6f97b25e6e187
This causes an access to be logged for runtime permissions even if the
permission is denied, which is incorrect.
Fixes: 127297477
Bug: 116258458
Test: Verified using steps in b/127297477
Change-Id: I8306aa273b7d4dfab40a2a6d8d1ef6f4d8cc2c54
Make the following modifications to APIs and required permissions.
Move the following APIs from checking coarse permission to fine
permission (except for apps targeting pre-Q):
TelephonyManager.getCellLocation()
(deprecated) TelephonyManager.getNeighboringCellInfo()
TelephonyManager.getAllCellInfo()
TelephonyManager.requestCellInfoUpdate()
PhoneStateListener#onCellLocationChanged
PhoneStateListener#onCellInfoChanged
Start checking for fine permission on the following APIs:
(Note -- these will only be logged, not denied until a future CL)
TelephonyManager.requestNetworkScan()
TelephonyScanManager.requestNetworkScan()
NetworkScanCallback#onResults
Start checking for coarse permission on the following APIs:
(Note -- these will only be logged, not denied until a future CL)
TelephonyManager#getAvailableNetworks
TelephonyManager#getServiceStateForSubscriber and #getServiceState
PhoneStateListener#onServiceStateChanged
Bug: 116258458
Test: manual via testapps
Change-Id: I45326ddacbcf538da50ca544d67eed12cf0c0861
This change permits the system uid and root uid to
access cellular location information via the binder.
Previously this was restricted to the phone uid, but
running with uid=system is a privileged situation,
which makes me think this this wasn't intentional.
Also add a few lines of debug code to make issues
in LocationAccessPolicy easier to track down in the
future.
Bug: 110806860
Test: manual - ran with SL4A as SYSTEM_UID and
verified access to getAllCellInfo.
Change-Id: Ie18be2cd72c49f1859d1434428f82f164bed8756
When we fixed proper handling of location permisison gating
sensitive telephony calls we stopped throwing a security
exception when the permission is not held by the caller.
While this is not a security issue there is no reason to
change this behavior which is checked by CTS. This CL starts
throwing a security exception if the permission is not held.
Test: atest android.permission.cts.NoLocationPermissionTest
bug: 74074103
Change-Id: Ic891d62b408c692f84a345f24503f7f25d583e35
Remove the direct settings lookup since it's been deprecated.
Bug: 72886046
Test: run CTS
Change-Id: I00f11f46f20f86e91147b1232263b6c9a5d8c6b4
(cherry picked from commit d7a1c9dd76)
No longer allow legacy apps to access cell info location data when
location is turned off in settings.
Bug: 69637693
Test: manual
Change-Id: Ibff3cc75898dc189632f2f9427892423a404333f
When sending outbound callbacks on CELL_INFO and CELL_LOCATION, check to
make sure that the user has authorized us and the receiving app to get
information on their location.
Bug: 69637693
Test: manual: telephony testapp
Change-Id: Iacfc894428b11a7ec973567d7a797eedb281355f
When sending outbound callbacks on CELL_INFO and CELL_LOCATION, check to
make sure that the user has authorized us and the receiving app to get
information on their location.
Bug: 69637693
Test: manual: telephony testapp
Change-Id: Ib4c8c6a9765f504823016e538dd46768d1032792