From fed68092f394b327a6b371032882137355a23257 Mon Sep 17 00:00:00 2001 From: Patrick Baumann Date: Tue, 4 Apr 2023 15:23:22 +0000 Subject: [PATCH 1/2] Turn on update owner enforcement by default Fixes: 265264566 Test: atest UpdateOwnershipEnforcementTest Change-Id: I2be08aa1f8e1be53853f8c008a803eb4cca7ae9d --- .../core/java/com/android/server/pm/PackageManagerService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 6b213b78f11c7..e4e3a9d0b7d3d 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -7273,7 +7273,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService final long token = Binder.clearCallingIdentity(); try { return DeviceConfig.getBoolean(NAMESPACE_PACKAGE_MANAGER_SERVICE, - PROPERTY_IS_UPDATE_OWNERSHIP_ENFORCEMENT_AVAILABLE, false /* defaultValue */); + PROPERTY_IS_UPDATE_OWNERSHIP_ENFORCEMENT_AVAILABLE, true /* defaultValue */); } finally { Binder.restoreCallingIdentity(token); } From 394a0c13609fea402eb7228df5345055ec1e21a5 Mon Sep 17 00:00:00 2001 From: Patrick Baumann Date: Tue, 4 Apr 2023 15:51:03 +0000 Subject: [PATCH 2/2] Referring to manifest attribute for updateowner Bug: 271298593 Test: N/A Change-Id: I72996d88558af4cf6edf47bbb19f7e05439608d5 --- core/java/android/content/pm/PackageInstaller.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/java/android/content/pm/PackageInstaller.java b/core/java/android/content/pm/PackageInstaller.java index cb988dfdb2039..30fd77ca467c8 100644 --- a/core/java/android/content/pm/PackageInstaller.java +++ b/core/java/android/content/pm/PackageInstaller.java @@ -2991,6 +2991,10 @@ public class PackageInstaller { * The update ownership enforcement can only be enabled on initial installation. Set * this to {@code true} on package update is a no-op. * + * Apps may opt themselves out of update ownership by setting the + * android:alllowUpdateOwnership + * attribute in their manifest to false. + * * Note: To enable the update ownership enforcement, the installer must have the * {@link android.Manifest.permission#ENFORCE_UPDATE_OWNERSHIP ENFORCE_UPDATE_OWNERSHIP} * permission.