Merge "Disallow domain user selector from querying autoVerify domains" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-03-24 21:15:41 +00:00
committed by Android (Google) Code Review
4 changed files with 6 additions and 12 deletions

View File

@@ -2874,7 +2874,7 @@ package android.content.pm.verify.domain {
} }
public final class DomainVerificationManager { 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<android.content.pm.verify.domain.DomainOwner> getOwnersForDomain(@NonNull String); method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public java.util.List<android.content.pm.verify.domain.DomainOwner> getOwnersForDomain(@NonNull String);
method @NonNull @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public java.util.List<java.lang.String> queryValidVerificationPackageNames(); method @NonNull @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public java.util.List<java.lang.String> queryValidVerificationPackageNames();
method @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public void setDomainVerificationLinkHandlingAllowed(@NonNull String, boolean) throws android.content.pm.PackageManager.NameNotFoundException; method @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public void setDomainVerificationLinkHandlingAllowed(@NonNull String, boolean) throws android.content.pm.PackageManager.NameNotFoundException;

View File

@@ -179,10 +179,7 @@ public final class DomainVerificationManager {
*/ */
@SystemApi @SystemApi
@Nullable @Nullable
@RequiresPermission(anyOf = { @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT)
android.Manifest.permission.DOMAIN_VERIFICATION_AGENT,
android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION
})
public DomainVerificationInfo getDomainVerificationInfo(@NonNull String packageName) public DomainVerificationInfo getDomainVerificationInfo(@NonNull String packageName)
throws NameNotFoundException { throws NameNotFoundException {
try { try {

View File

@@ -70,11 +70,8 @@ public class DomainVerificationEnforcer {
break; break;
default: default:
if (!proxy.isCallerVerifier(callingUid)) { if (!proxy.isCallerVerifier(callingUid)) {
mContext.enforcePermission( throw new SecurityException(
android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION, "Caller is not allowed to query domain verification state");
Binder.getCallingPid(), callingUid,
"Caller " + callingUid
+ " is not allowed to query domain verification state");
} }
mContext.enforcePermission(android.Manifest.permission.QUERY_ALL_PACKAGES, mContext.enforcePermission(android.Manifest.permission.QUERY_ALL_PACKAGES,

View File

@@ -417,7 +417,7 @@ class DomainVerificationEnforcerTest {
allowQueryAll.set(true) allowQueryAll.set(true)
runMethod(target, NON_VERIFIER_UID) assertFails { runMethod(target, NON_VERIFIER_UID) }
} }
private fun approvedVerifier() { private fun approvedVerifier() {
@@ -816,7 +816,7 @@ class DomainVerificationEnforcerTest {
// System/shell only // System/shell only
INTERNAL, INTERNAL,
// INTERNAL || domain verification agent || user setting permission holder // INTERNAL || non-legacy domain verification agent
QUERENT, QUERENT,
// INTERNAL || domain verification agent // INTERNAL || domain verification agent