Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5b95d077 authored by Svetoslav Ganov's avatar Svetoslav Ganov
Browse files

Revert "Don't allow permission change to runtime"

This reverts commit 0f929c53.

Change-Id: I1b86461e352a6a2cf3d32748e06c7d5806937667
parent 0f929c53
Loading
Loading
Loading
Loading
+0 −21
Original line number Diff line number Diff line
@@ -15611,27 +15611,6 @@ public class PackageManagerService extends IPackageManager.Stub {
                        return;
                    }
                    // Prevent apps to change permission protection level to dangerous
                    // from any other type as this would allow a privilege escalation
                    // where an app adds a normal/signature permission in other app's
                    // group and later redefines it as dangerous leading to the group
                    // auto-grant.
                    final int permissionCount = pkg.permissions.size();
                    for (int i = 0; i < permissionCount; i++) {
                        PackageParser.Permission permission = pkg.permissions.get(i);
                        if ((permission.info.protectionLevel & PermissionInfo.PROTECTION_MASK_BASE)
                                == PermissionInfo.PROTECTION_DANGEROUS) {
                            BasePermission bp = mSettings.mPermissions.get(permission.info.name);
                            if (bp != null && !bp.isRuntime()) {
                                res.setError(PackageManager.INSTALL_PARSE_FAILED_BAD_MANIFEST,
                                        "Package " + pkg.packageName + " trying to change a "
                                                + "non-runtime permission " + permission.info.name
                                                + " to runtime.");
                                return;
                            }
                        }
                    }
                    // Prevent installing of child packages
                    if (oldPackage.parentPackage != null) {
                        res.setError(PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME,