diff options
| author | 2020-06-03 13:11:31 -0700 | |
|---|---|---|
| committer | 2020-06-04 23:28:28 +0000 | |
| commit | 2c206f86859343f0b47b36baf105e1c2de1bfaf4 (patch) | |
| tree | 6008442661ae19d45495b8ecc14c4c122bfd502a | |
| parent | 13313007e55fdf18f2ac647f55277576447ec2bd (diff) | |
Partial revert "Add overlayable configurator resources"
This reverts commit 639393e1e6bd87b21bab89b30c3da0f1431d80a1.
This revert does not change a refactor of the OMSImpl tests done in
the reverted commit.
Change-Id: Ic916ab79278f9512ee91789c5e62c8461c407581
Bug: 154610560
7 files changed, 3 insertions, 128 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 2cad9e6888a6..b79c9e804f89 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -4456,11 +4456,4 @@ <bool name="config_pdp_reject_enable_retry">false</bool> <!-- pdp data reject retry delay in ms --> <integer name="config_pdp_reject_retry_delay_ms">-1</integer> - - <!-- Package name that is recognized as an actor for the packages listed in - @array/config_overlayableConfiguratorTargets. If an overlay targeting one of the listed - targets is signed with the same signature as the configurator, the overlay will be granted - the "actor" policy. --> - <string name="config_overlayableConfigurator" translatable="false" /> - <string-array name="config_overlayableConfiguratorTargets" translatable="false" /> </resources> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index f30d482e06b2..53cdeb5e5c1c 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -4033,8 +4033,5 @@ <java-symbol type="string" name="config_pdp_reject_service_not_subscribed" /> <java-symbol type="string" name="config_pdp_reject_multi_conn_to_same_pdn_not_allowed" /> - <java-symbol type="string" name="config_overlayableConfigurator" /> - <java-symbol type="array" name="config_overlayableConfiguratorTargets" /> - <java-symbol type="array" name="config_notificationMsgPkgsAllowedAsConvos" /> </resources> diff --git a/services/core/java/com/android/server/om/IdmapManager.java b/services/core/java/com/android/server/om/IdmapManager.java index 735d66983520..d6b1b27360ca 100644 --- a/services/core/java/com/android/server/om/IdmapManager.java +++ b/services/core/java/com/android/server/om/IdmapManager.java @@ -29,18 +29,15 @@ import android.os.OverlayablePolicy; import android.os.SystemProperties; import android.util.Slog; -import com.android.internal.util.ArrayUtils; - import java.io.IOException; /** * Handle the creation and deletion of idmap files. * - * The actual work is performed by the idmap binary, launched through idmap2d. - * - * Note: this class is subclassed in the OMS unit tests, and hence not marked as final. + * The actual work is performed by idmap2d. + * @see IdmapDaemon */ -class IdmapManager { +final class IdmapManager { private static final boolean VENDOR_IS_Q_OR_LATER; static { final String value = SystemProperties.get("ro.vndk.version", "29"); @@ -57,14 +54,10 @@ class IdmapManager { private final IdmapDaemon mIdmapDaemon; private final OverlayableInfoCallback mOverlayableCallback; - private final String mOverlayableConfigurator; - private final String[] mOverlayableConfiguratorTargets; IdmapManager(final IdmapDaemon idmapDaemon, final OverlayableInfoCallback verifyCallback) { mOverlayableCallback = verifyCallback; mIdmapDaemon = idmapDaemon; - mOverlayableConfigurator = verifyCallback.getOverlayableConfigurator(); - mOverlayableConfiguratorTargets = verifyCallback.getOverlayableConfiguratorTargets() ; } /** @@ -190,14 +183,6 @@ class IdmapManager { String targetOverlayableName = overlayPackage.targetOverlayableName; if (targetOverlayableName != null) { try { - if (!mOverlayableConfigurator.isEmpty() - && ArrayUtils.contains(mOverlayableConfiguratorTargets, - targetPackage.packageName) - && mOverlayableCallback.signaturesMatching(mOverlayableConfigurator, - overlayPackage.packageName, userId)) { - return true; - } - OverlayableInfo overlayableInfo = mOverlayableCallback.getOverlayableForTarget( targetPackage.packageName, targetOverlayableName, userId); if (overlayableInfo != null && overlayableInfo.actor != null) { diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java index 086ab8183254..396815399874 100644 --- a/services/core/java/com/android/server/om/OverlayManagerService.java +++ b/services/core/java/com/android/server/om/OverlayManagerService.java @@ -45,7 +45,6 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManagerInternal; import android.content.pm.UserInfo; import android.content.res.ApkAssets; -import android.content.res.Resources; import android.net.Uri; import android.os.Binder; import android.os.Environment; @@ -63,7 +62,6 @@ import android.util.AtomicFile; import android.util.Slog; import android.util.SparseArray; -import com.android.internal.R; import com.android.internal.content.om.OverlayConfig; import com.android.server.FgThread; import com.android.server.IoThread; @@ -1121,17 +1119,6 @@ public final class OverlayManagerService extends SystemService { } @Override - public String getOverlayableConfigurator() { - return Resources.getSystem().getString(R.string.config_overlayableConfigurator); - } - - @Override - public String[] getOverlayableConfiguratorTargets() { - return Resources.getSystem().getStringArray( - R.array.config_overlayableConfiguratorTargets); - } - - @Override public List<PackageInfo> getOverlayPackages(final int userId) { final List<PackageInfo> overlays = mPackageManagerInternal.getOverlayPackages(userId); for (final PackageInfo info : overlays) { diff --git a/services/core/java/com/android/server/om/OverlayableInfoCallback.java b/services/core/java/com/android/server/om/OverlayableInfoCallback.java index 41c341adf1bc..5066ecdd6316 100644 --- a/services/core/java/com/android/server/om/OverlayableInfoCallback.java +++ b/services/core/java/com/android/server/om/OverlayableInfoCallback.java @@ -80,24 +80,4 @@ public interface OverlayableInfoCallback { * in the system returns {@link PackageManager#SIGNATURE_MATCH} */ boolean signaturesMatching(@NonNull String pkgName1, @NonNull String pkgName2, int userId); - - /** - * Retrieves the package name that is recognized as an actor for the packages specified by - * {@link #getOverlayableConfiguratorTargets()}. - */ - @NonNull - default String getOverlayableConfigurator() { - return ""; - } - - /** - * Retrieves the target packages that recognize the {@link #getOverlayableConfigurator} as an - * actor for its overlayable declarations. Overlays targeting one of the specified targets that - * are signed with the same signature as the overlayable configurator will be granted the - * "actor" policy. - */ - @NonNull - default String[] getOverlayableConfiguratorTargets() { - return new String[0]; - } } diff --git a/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTests.java b/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTests.java index b25af0543829..f4c5506c7001 100644 --- a/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTests.java +++ b/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTests.java @@ -26,7 +26,6 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import android.content.om.OverlayInfo; -import android.os.OverlayablePolicy; import androidx.test.runner.AndroidJUnit4; @@ -205,49 +204,4 @@ public class OverlayManagerServiceImplTests extends OverlayManagerServiceImplTes impl.setEnabled(OVERLAY, true, USER); assertEquals(0, listener.count); } - - @Test - public void testConfigurator() { - final DummyPackageManagerHelper packageManager = getPackageManager(); - packageManager.overlayableConfigurator = "actor"; - packageManager.overlayableConfiguratorTargets = new String[]{TARGET}; - reinitializeImpl(); - - installNewPackage(target("actor").setCertificate("one"), USER); - installNewPackage(target(TARGET) - .addOverlayable("TestResources") - .setCertificate("two"), USER); - - final DummyDeviceState.PackageBuilder overlay = overlay(OVERLAY, TARGET, "TestResources") - .setCertificate("one"); - installNewPackage(overlay, USER); - - final DummyIdmapDaemon idmapDaemon = getIdmapDaemon(); - final DummyIdmapDaemon.IdmapHeader idmap = idmapDaemon.getIdmap(overlay.build().apkPath); - assertNotNull(idmap); - assertEquals(OverlayablePolicy.ACTOR_SIGNATURE, - idmap.policies & OverlayablePolicy.ACTOR_SIGNATURE); - } - - @Test - public void testConfiguratorDifferentSignatures() { - final DummyPackageManagerHelper packageManager = getPackageManager(); - packageManager.overlayableConfigurator = "actor"; - packageManager.overlayableConfiguratorTargets = new String[]{TARGET}; - reinitializeImpl(); - - installNewPackage(target("actor").setCertificate("one"), USER); - installNewPackage(target(TARGET) - .addOverlayable("TestResources") - .setCertificate("two"), USER); - - final DummyDeviceState.PackageBuilder overlay = overlay(OVERLAY, TARGET, "TestResources") - .setCertificate("two"); - installNewPackage(overlay, USER); - - final DummyIdmapDaemon idmapDaemon = getIdmapDaemon(); - final DummyIdmapDaemon.IdmapHeader idmap = idmapDaemon.getIdmap(overlay.build().apkPath); - assertNotNull(idmap); - assertEquals(0, idmap.policies & OverlayablePolicy.ACTOR_SIGNATURE); - } } diff --git a/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTestsBase.java b/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTestsBase.java index 13c9e6b837ef..733310b2508a 100644 --- a/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTestsBase.java +++ b/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTestsBase.java @@ -42,7 +42,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.Set; import java.util.stream.Collectors; /** Base class for creating {@link OverlayManagerServiceImplTests} tests. */ @@ -84,14 +83,6 @@ class OverlayManagerServiceImplTestsBase { return mListener; } - DummyPackageManagerHelper getPackageManager() { - return mPackageManager; - } - - DummyIdmapDaemon getIdmapDaemon() { - return mIdmapDaemon; - } - void assertState(@State int expected, final String overlayPackageName, int userId) { final OverlayInfo info = mImpl.getOverlayInfo(overlayPackageName, userId); if (info == null) { @@ -314,8 +305,6 @@ class OverlayManagerServiceImplTestsBase { static final class DummyPackageManagerHelper implements PackageManagerHelper, OverlayableInfoCallback { private final DummyDeviceState mState; - String[] overlayableConfiguratorTargets = new String[0]; - String overlayableConfigurator = ""; private DummyPackageManagerHelper(DummyDeviceState state) { mState = state; @@ -387,16 +376,6 @@ class OverlayManagerServiceImplTestsBase { public void enforcePermission(String permission, String message) throws SecurityException { throw new UnsupportedOperationException(); } - - @Override - public String[] getOverlayableConfiguratorTargets() { - return overlayableConfiguratorTargets; - } - - @Override - public String getOverlayableConfigurator() { - return overlayableConfigurator; - } } static class DummyIdmapDaemon extends IdmapDaemon { |