Commit Graph

10811 Commits

Author SHA1 Message Date
Jeff Sharkey
5d6be79488 Merge "Root UID can synthesize AttributionSource values." into sc-dev am: 9d0ddef67b
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15285879

Change-Id: Id4254922cb486ba49eebe55caa74249583c4d5bd
2021-07-14 23:37:58 +00:00
Jeff Sharkey
38ffbde17e Root UID can synthesize AttributionSource values.
We trust any incoming value from the system UID, so we should also
trust values coming from the root UID, which includes many shell
commands such as "svc".

Bug: 193659633
Test: atest BluetoothInstrumentationTests:com.android.bluetooth.btservice.AdapterServiceTest --rerun-until-failure 100
Change-Id: Ied07731345f08fc3c4df465a3773e35c8df7c59a
2021-07-14 14:35:17 -06:00
TreeHugger Robot
2fa0bc50f2 Merge "Validate AttributionSource during unparceling." into sc-dev am: fee338118c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15275356

Change-Id: Ia6de0ea0abf38ece5ca1e6fb8f9ebad91fd07bd9
2021-07-13 21:01:47 +00:00
TreeHugger Robot
fee338118c Merge "Validate AttributionSource during unparceling." into sc-dev 2021-07-13 20:57:17 +00:00
Jeff Sharkey
4025c6e7ae Validate AttributionSource during unparceling.
The Bluetooth stack is just one example of an application that makes
self-calls through public APIs, which makes it very difficult to
unconditionally validate AttributionSource arguments.

(The AttributionSource is correctly defined the first time a remote
caller enters the Bluetooth stack, but we've found many cases where
Bluetooth stack calls back into itself without clearing the Binder
identity, causing validation chaos.)

This change is an attempt at gracefully solving this by performing
validation automatically as part of unparceling an AttributionSource
the first time it enters a process.  This strategy isn't perfect,
since transporting an instance inside a Bundle would risk
unparceling much later, possibly long after the calling UID
information has been discarded.  We're rationalizing that this risk
doesn't exist since AttributionSource was only added a few months
ago, and isn't being used in this way.

We still intend to circle back and provide a better strategy in a
future release for transporting AttributionSource across AIDL which
will handle the nuances of self-calls.

Bug: 188391719
Test: atest BluetoothInstrumentationTests
Change-Id: I10b198cfcd8f361e19d52f86deb7f10f05fec891
2021-07-13 12:34:14 -06:00
TreeHugger Robot
01f6847c8a Merge "Optimize AttributionSource tokens - base" into sc-dev am: 2b90cc827b
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15247205

Change-Id: Id2435469fff42a22018a0d08370a987a76eb42b4
2021-07-12 20:30:07 +00:00
Svet Ganov
1babd5bf51 Optimize AttributionSource tokens - base
For cases where the attribution soruce doesn't need to be
registered as trusted we are now using a shares static
token since the only purpose of the token in these cases
is for watching the source process dying as opposed to that
and security for registered cases.

bug: 192415943

Test: CtsPermissionTestCases
      CtsPermission2TestCases
      CtsPermission3TestCases
      CtsPermission4TestCases
      CtsPermission5TestCases

Change-Id: I93fde9ca1cacada7929761533dcae11b2736ce1e
2021-07-10 00:24:30 +00:00
Tom Natan
887c796529 Merge "Add support for always_constrain_display_apis flag" into sc-dev am: 28a6e9f973
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15216092

Change-Id: I9df325234e3e01b59c0a17fc8109f1c90182613d
2021-07-08 10:30:09 +00:00
Tom Natan
28a6e9f973 Merge "Add support for always_constrain_display_apis flag" into sc-dev 2021-07-08 10:25:09 +00:00
TreeHugger Robot
eed6b1b8d1 Merge "Tag some "new Binder()" instances to detect leaks." into sc-dev am: c8955e0799
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15225384

Change-Id: I97ad328303c4c297294400a74d887c9067d4f2ba
2021-07-08 00:45:01 +00:00
Jeff Sharkey
79b834d47c Tag some "new Binder()" instances to detect leaks.
We've seen evidence of a Binder leak, and our hunch is that it's
caused by one of these anonymous "new Binder()" sites.  Adding
descriptors will help us identify the leak cause.

Bug: 192415943
Test: atest BluetoothInstrumentationTests
Change-Id: I30cd15f084cf50f67edd833b27b853c4b22e1db1
2021-07-07 17:17:07 -06:00
tomnatan
f332106222 Add support for always_constrain_display_apis flag
Bug: 191184114
Test: atest WmTests:SizeCompatTests
Test: atest FrameworksCoreTests:ConstrainDisplayApisConfigTest
Change-Id: Ifc0d48c838216603c00f4cc09d0df2fd145a53a6
2021-07-06 15:18:50 +00:00
Winson Chung
6e004f8baf Merge "Only provide the resolved activity info to the global intercept window" into sc-dev am: b827a8ac83
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15117326

Change-Id: Ia3438311fa95e863bddfa02c743b4ae76bcec594
2021-07-01 17:50:04 +00:00
Winson Chung
b827a8ac83 Merge "Only provide the resolved activity info to the global intercept window" into sc-dev 2021-07-01 17:33:27 +00:00
Winson Chung
d07dca11ab Only provide the resolved activity info to the global intercept window
- Previously we were adding the activity info to the ClipData, but
  that data is provided to non-intercept windows when the drop happens
  and can be retrieved using reflection. The intention was only to
  provide this activity info to the shell global intercept window
  for invoking split.

  Instead of baking the info into the ClipData, we pass the resolved
  info along side the data and only construct a ClipData with the
  additional info for the intercept window.

Fixes: 191057499
Test: atest DragDropControllerTests
Change-Id: I2ccc9f1f666ff2a388f22b6e6a7b5eea3102964c
2021-07-01 17:32:18 +00:00
Ryan Mitchell
2df59f17a5 Merge changes from topic "revert-15058002-SNQUARIDWJ" into sc-dev am: b3659d36b0
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15156470

Change-Id: Id89a53b584251a3476b6c7c8b88d6f70e9dc7940
2021-06-30 21:11:17 +00:00
Ryan Mitchell
b3659d36b0 Merge changes from topic "revert-15058002-SNQUARIDWJ" into sc-dev
* changes:
  Revert^2 "Apply overlay changes with config change"
  Revert^3 "Deprecate Context#createApplicationContext"
2021-06-30 20:58:43 +00:00
Ryan Mitchell
350c2669d6 Revert^3 "Deprecate Context#createApplicationContext"
This reverts commit cb5a80ea57.

Reason for revert: Was not the cause of the test failure

Fixes: 186622527
Test: atest FrameworksCoreTests:ContextTest
Change-Id: I705854f080200f0465d94a7754e710f05a3ec92c
2021-06-30 15:53:45 +00:00
Jackal Guo
6564e092b7 Merge "Move BootTest to internal test" into sc-dev am: 04a45607c1
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15126448

Change-Id: Ib6be712e6a0a3199e62472a963aa08d6b455b140
2021-06-30 05:42:03 +00:00
Jackal Guo
04a45607c1 Merge "Move BootTest to internal test" into sc-dev 2021-06-30 05:39:37 +00:00
TreeHugger Robot
7f7a4d5069 Merge "Improve javadocs for repeating alarms" into sc-dev am: 4260ce4100
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15147288

Change-Id: Iacf91c398261baa120766d440bf385f8f7e02106
2021-06-30 01:05:33 +00:00
TreeHugger Robot
4260ce4100 Merge "Improve javadocs for repeating alarms" into sc-dev 2021-06-30 00:55:07 +00:00
Suprabh Shukla
94f5840bed Improve javadocs for repeating alarms
Specifically, mentioning that the alarm count can only be included with
the alarm if the supplied pending intent is mutable.

Test: make offline-sdk-docs

Fixes: 178413211
Change-Id: I2914bceebeed8b52b0de11d70960aa33e6837b13
2021-06-29 17:34:14 -07:00
TreeHugger Robot
156829bd80 Merge "Double DEFAULT_MAX_LABEL_SIZE_PX to 1000px" into sc-dev am: a46f524537
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15143634

Change-Id: I73e80ffb8b5afde1d364fabae175555bdbaa9f5d
2021-06-29 23:51:31 +00:00
TreeHugger Robot
a46f524537 Merge "Double DEFAULT_MAX_LABEL_SIZE_PX to 1000px" into sc-dev 2021-06-29 23:36:33 +00:00
Paul Hobbs
3053bd7ab0 Merge changes from topic "revert-15058002-SNQUARIDWJ" into sc-dev am: 8d440c0566
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15144638

Change-Id: I0612c824b412153bb571e5ff1f47d707269a05a6
2021-06-29 20:54:31 +00:00
Paul Hobbs
8d440c0566 Merge changes from topic "revert-15058002-SNQUARIDWJ" into sc-dev
* changes:
  Revert^2 "Deprecate Context#createApplicationContext"
  Revert "Version LoadedApk cache using base code path"
  Revert "Apply overlay changes with config change"
2021-06-29 20:36:15 +00:00
Paul Hobbs
cb5a80ea57 Revert^2 "Deprecate Context#createApplicationContext"
Bug: 192242649

5a41b45a85

Change-Id: Idcebd68e0079e7e87de04ae25069b3a9ff72093c
2021-06-29 20:06:45 +00:00
Erik Wolsheimer
48af5ac794 Double DEFAULT_MAX_LABEL_SIZE_PX to 1000px
Fixes: 185869616
Test: Manual
Change-Id: I717d1e7fb7b912a0330ac08742206314c23b32c8
2021-06-29 17:51:07 +00:00
TreeHugger Robot
ce2cc00c83 Merge "Fix links in setRequireUserAction docs" into sc-dev am: f43a7b8d5c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14921913

Change-Id: I3736f538dc9d1e78abdea2ee6fb121a48c85e18b
2021-06-29 16:01:32 +00:00
Jackal Guo
c9b3bd434e Move BootTest to internal test
Add a test to ensure that system could boot without exception after
a package is uninstalled with keeping data.

Bug: 188635265
Test: atest PackageManagerServiceHostTests
Change-Id: I190db789ecd8c0ca1ddd87fc1c6ef79593b35492
2021-06-29 12:04:41 +08:00
Patrick Baumann
c6bce70bc2 Fix links in setRequireUserAction docs
This change cleans up a couple of links in the new setRequireUserAction
javadocs to avoid listing the entire permission namespace in the text.

Fixes: 190535637
Test: Builds
Change-Id: I80fff983309963e0a2485510e793f30fcfbec28e
2021-06-29 02:29:53 +00:00
Ryan Mitchell
2f0946ab86 Merge changes Icf81845d,Iea54abf3,I98656314 into sc-dev am: 5a532f6eed
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15058002

Change-Id: Ia5df591c3d0fe5e8fe2bd82c62f527bd9f623391
2021-06-27 06:37:59 +00:00
Ryan Mitchell
5a532f6eed Merge changes Icf81845d,Iea54abf3,I98656314 into sc-dev
* changes:
  Apply overlay changes with config change
  Version LoadedApk cache using base code path
  Revert "Deprecate Context#createApplicationContext"
2021-06-27 06:27:58 +00:00
Winson
a42c38d04a Remove ParsedIntentInfo CREATOR am: 75214cc510 am: f416e7b485 am: 2d96f8ab31
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15080916

Change-Id: Iaeb8f0c3b57acb758821a218a8cceb57301834ce
2021-06-24 22:11:28 +00:00
Winson
2d96f8ab31 Remove ParsedIntentInfo CREATOR am: 75214cc510 am: f416e7b485
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15080916

Change-Id: I8376c9667aa64953551961c3346447ad06c93f10
2021-06-24 22:01:29 +00:00
Winson
f416e7b485 Remove ParsedIntentInfo CREATOR am: 75214cc510
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15080916

Change-Id: I4210bdd97953331cfe9e7cfbe30422fec91a2eac
2021-06-24 21:45:37 +00:00
Winson
75214cc510 Remove ParsedIntentInfo CREATOR
Its existence allows implicit readParcelable calls to invoke a Parcel
operation with mismatched read/write data sizes, allowing someone to
swap out the data on a reparcel.

Internal classes will use writeIntentInfoToParcel, so this is safe to
remove.

Bug: 191055353

Test: atest com.android.server.pm.test.parsing.parcelling

Change-Id: I44faa635faf8a77894a3dda8adf89c10064e53f1
2021-06-23 18:04:15 +00:00
Ryan Mitchell
5a41b45a85 Revert "Deprecate Context#createApplicationContext"
This reverts commit c54ebba25b.

Bug: 188059515
Test: atest FrameworksCoreTests:ContextTest
Change-Id: I986563142dac135281889e811e6e5219d728d5d1
2021-06-22 22:30:38 -07:00
Winson Chiu
2dd2407bab Merge "Fix parsing code parcelling errors" into sc-dev am: 343684b523
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15032778

Change-Id: Ia4d89ee5dc319152746bfa19c5758f5ccad0b2f2
2021-06-22 18:14:24 +00:00
Winson Chiu
343684b523 Merge "Fix parsing code parcelling errors" into sc-dev 2021-06-22 18:10:43 +00:00
Nikita Ioffe
7cde151bb4 Merge "Add sys config to handle apexes that are allowed to be updated" into sc-dev am: 23403fdc99
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14843816

Change-Id: I011fdb4925bfe859e7b2dc573a8f30e0a67b4a10
2021-06-22 14:22:07 +00:00
Nikita Ioffe
637be99afd Add sys config to handle apexes that are allowed to be updated
Unlike staged installer check, we can't check if given APEX package is
allowed to be updated at session creation time, since we don't have
knowledge of the package being installed yet. Instead, the check is
implemented in PackageInstallerSession#handleInstall.

Like staged install check, allowed apex update check has similar
exemptions (adb is allowed to update any APEX,
`adb shell pm --bypass-allowed-apex-update-check` makes next install
session bypass the check).

In order to implement these exemptions, a new
INSTALL_DISABLE_ALLOWED_APEX_UPDATE_CHECK flag that can only be set by
system is added. PackageInstallerSession will skip the APEX update
checks if INSTALL_DISABLE_ALLOWED_APEX_UPDATE_CHECK is set.

Bug: 189274479
Test: atest CtsStagedInstallHostTestCases
Test: atest GtsStagedInstallHostTestCases
Test: atest FrameworksServicesTests:SystemConfigTest
Change-Id: I22921a3ac4d43011b565733d7a7183e5cdb4fe80
Merged-In: I22921a3ac4d43011b565733d7a7183e5cdb4fe80
(cherry picked from commit aafaaec0d5)
2021-06-22 13:39:41 +01:00
Jackal Guo
7ef3410ec5 Merge "Remove unused interface and implementation" into sc-dev am: cc057784c1
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15026539

Change-Id: I5a68b41b8631637e361d0e02a4e5ca06859ee3c6
2021-06-22 05:26:36 +00:00
Jackal Guo
cc057784c1 Merge "Remove unused interface and implementation" into sc-dev 2021-06-22 04:58:58 +00:00
TreeHugger Robot
890daeb051 Merge "Do not canonicalize overlay config test paths" into sc-dev 2021-06-21 23:07:21 +00:00
Makoto Onuki
f7db93a11a Merge "Update the javadoc around FGS" into sc-dev am: d97f509923
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14941110

Change-Id: I26ba7c2424c90720c832562a582bb572e5ba136f
2021-06-21 20:08:17 +00:00
Makoto Onuki
d97f509923 Merge "Update the javadoc around FGS" into sc-dev 2021-06-21 18:04:37 +00:00
Jackal Guo
9440df9105 Remove unused interface and implementation
Get rid of the unused method to mitigate the potential information
leakage.

Bug: 185124942
Test: atest view-compiler-tests
Test: atest android.view.cts.LayoutInflaterTest
Test: atest -p core/java/android/content/pm
Test: atest -p services/core/java/com/android/server/pm
Test: manually using the PoC in the buganizer to ensure the symptom
      no longer exists.
Change-Id: I5ee7381728a93535849fcf61a1373a5ed9036aa4
2021-06-21 13:08:56 +08:00
TreeHugger Robot
1b1d2d5d10 Merge "Removing remaining references of ActivityView in fw/base" into sc-dev am: dc86e26f54
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14829810

Change-Id: Id373b53b241f52510c070749976822a1cf886e01
2021-06-19 01:38:01 +00:00