diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 6ac668a0c6fb5..e2227eadfc94d 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -2874,7 +2874,7 @@ package android.content.pm.verify.domain { } public final class DomainVerificationManager { - method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.DOMAIN_VERIFICATION_AGENT, android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION}) public android.content.pm.verify.domain.DomainVerificationInfo getDomainVerificationInfo(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException; + method @Nullable @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public android.content.pm.verify.domain.DomainVerificationInfo getDomainVerificationInfo(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException; method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public java.util.List getOwnersForDomain(@NonNull String); method @NonNull @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public java.util.List queryValidVerificationPackageNames(); method @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public void setDomainVerificationLinkHandlingAllowed(@NonNull String, boolean) throws android.content.pm.PackageManager.NameNotFoundException; diff --git a/core/java/android/content/pm/verify/domain/DomainVerificationManager.java b/core/java/android/content/pm/verify/domain/DomainVerificationManager.java index d2d14410ff3ca..33920c676170f 100644 --- a/core/java/android/content/pm/verify/domain/DomainVerificationManager.java +++ b/core/java/android/content/pm/verify/domain/DomainVerificationManager.java @@ -179,10 +179,7 @@ public final class DomainVerificationManager { */ @SystemApi @Nullable - @RequiresPermission(anyOf = { - android.Manifest.permission.DOMAIN_VERIFICATION_AGENT, - android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION - }) + @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public DomainVerificationInfo getDomainVerificationInfo(@NonNull String packageName) throws NameNotFoundException { try { diff --git a/services/core/java/com/android/server/pm/verify/domain/DomainVerificationEnforcer.java b/services/core/java/com/android/server/pm/verify/domain/DomainVerificationEnforcer.java index f4bcd3e65913d..0b48b5c6dd705 100644 --- a/services/core/java/com/android/server/pm/verify/domain/DomainVerificationEnforcer.java +++ b/services/core/java/com/android/server/pm/verify/domain/DomainVerificationEnforcer.java @@ -70,11 +70,8 @@ public class DomainVerificationEnforcer { break; default: if (!proxy.isCallerVerifier(callingUid)) { - mContext.enforcePermission( - android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION, - Binder.getCallingPid(), callingUid, - "Caller " + callingUid - + " is not allowed to query domain verification state"); + throw new SecurityException( + "Caller is not allowed to query domain verification state"); } mContext.enforcePermission(android.Manifest.permission.QUERY_ALL_PACKAGES, diff --git a/services/tests/PackageManagerServiceTests/unit/src/com/android/server/pm/test/verify/domain/DomainVerificationEnforcerTest.kt b/services/tests/PackageManagerServiceTests/unit/src/com/android/server/pm/test/verify/domain/DomainVerificationEnforcerTest.kt index 1b0a305b5bddb..537a49e4adcda 100644 --- a/services/tests/PackageManagerServiceTests/unit/src/com/android/server/pm/test/verify/domain/DomainVerificationEnforcerTest.kt +++ b/services/tests/PackageManagerServiceTests/unit/src/com/android/server/pm/test/verify/domain/DomainVerificationEnforcerTest.kt @@ -417,7 +417,7 @@ class DomainVerificationEnforcerTest { allowQueryAll.set(true) - runMethod(target, NON_VERIFIER_UID) + assertFails { runMethod(target, NON_VERIFIER_UID) } } private fun approvedVerifier() { @@ -816,7 +816,7 @@ class DomainVerificationEnforcerTest { // System/shell only INTERNAL, - // INTERNAL || domain verification agent || user setting permission holder + // INTERNAL || non-legacy domain verification agent QUERENT, // INTERNAL || domain verification agent