Commit Graph

11 Commits

Author SHA1 Message Date
Hall Liu
879024a03b Change ServiceState and TelephonyRegistry logging
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
2019-04-17 15:54:23 -07:00
Chad Brubaker
8f1fb1189e Do not call noteOp if checkPermission fails
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
2019-03-05 16:50:28 -08:00
Hall Liu
c54582e1f0 Turn on enforcing mode for Q-based location APIs
Also fix some logging.

Bug: 116258458
Test: manual, unit
Change-Id: I370aae906760365d9cd2a35b456d8ff8522c0902
2019-02-15 17:31:29 -08:00
Hall Liu
ee313737e9 Implement more location checks
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
2019-02-13 11:07:37 -08:00
Nathan Harold
2cdcd98379 Allow Cell Location for SYSTEM_UID and ROOT_UID
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
2018-06-27 18:52:15 +00:00
Svet Ganov
33b1509375 Throw on revoked location permission - framework
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
2018-03-28 00:43:55 +00:00
Hall Liu
5e35b2d00b Modify LocationAccessPolicy to use LocationManager
Remove the direct settings lookup since it's been deprecated.

Bug: 72886046
Test: run CTS
Change-Id: I00f11f46f20f86e91147b1232263b6c9a5d8c6b4
(cherry picked from commit d7a1c9dd76)
2018-03-23 18:37:07 +00:00
Hall Liu
f0b206d3ca Remove cell info from legacy apps without location on
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
2018-02-22 19:17:13 +00:00
Hall Liu
5fb337ff85 Check for location access on TelephonyRegistry
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
2018-02-06 14:01:47 -08:00
Hall Liu
3d30946e8e Revert "Check for location access on TelephonyRegistry"
This reverts commit 8d584f0a91.

Reason for revert: b/72967560

Change-Id: I9ca3c4a586e740a7b7d4cc5940ca8d4e4ebf3654
2018-02-06 18:13:36 +00:00
Hall Liu
8d584f0a91 Check for location access on TelephonyRegistry
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
2018-02-01 01:00:52 +00:00