diff --git a/gerrit-gpg/src/main/java/com/google/gerrit/gpg/server/GpgKeys.java b/gerrit-gpg/src/main/java/com/google/gerrit/gpg/server/GpgKeys.java index 303499ee2e..ecff7e6a3c 100644 --- a/gerrit-gpg/src/main/java/com/google/gerrit/gpg/server/GpgKeys.java +++ b/gerrit-gpg/src/main/java/com/google/gerrit/gpg/server/GpgKeys.java @@ -208,7 +208,7 @@ public class GpgKeys implements ChildCollection { if (!BouncyCastleUtil.havePGP()) { throw new ResourceNotFoundException("GPG not enabled"); } - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { throw new ResourceNotFoundException(); } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/CurrentUser.java b/gerrit-server/src/main/java/com/google/gerrit/server/CurrentUser.java index 25b5c4d130..0959e049a4 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/CurrentUser.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/CurrentUser.java @@ -146,4 +146,17 @@ public abstract class CurrentUser { public ExternalId.Key getLastLoginExternalIdKey() { return get(lastLoginExternalIdPropertyKey); } + + /** + * Checks if the current user has the same account id of another. + * + *

Provide a generic interface for allowing subclasses to define whether two accounts represent + * the same account id. + * + * @param other user to compare + * @return true if the two users have the same account id + */ + public boolean hasSameAccountId(CurrentUser other) { + return false; + } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/IdentifiedUser.java b/gerrit-server/src/main/java/com/google/gerrit/server/IdentifiedUser.java index 9e2a9eaf89..37f43a0c4e 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/IdentifiedUser.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/IdentifiedUser.java @@ -489,6 +489,11 @@ public class IdentifiedUser extends CurrentUser { realUser); } + @Override + public boolean hasSameAccountId(CurrentUser other) { + return getAccountId().get() == other.getAccountId().get(); + } + private String guessHost() { String host = null; SocketAddress remotePeer = null; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/AddSshKey.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/AddSshKey.java index 1c5495fcdf..ad9cd68641 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/AddSshKey.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/AddSshKey.java @@ -76,7 +76,7 @@ public class AddSshKey implements RestModifyView { public Response apply(AccountResource rsrc, Input input) throws AuthException, BadRequestException, OrmException, IOException, ConfigInvalidException, PermissionBackendException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.ADMINISTRATE_SERVER); } return apply(rsrc.getUser(), input); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/Capabilities.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/Capabilities.java index 08eecd72b1..8c97e1754a 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/Capabilities.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/Capabilities.java @@ -60,7 +60,7 @@ class Capabilities implements ChildCollection input = new EmailInput(); } - if (self.get() != rsrc.getUser() || input.noConfirmation) { + if (!self.get().hasSameAccountId(rsrc.getUser()) || input.noConfirmation) { permissionBackend.user(self).check(GlobalPermission.MODIFY_ACCOUNT); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteActive.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteActive.java index 43669c0669..6f474b4a11 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteActive.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteActive.java @@ -46,7 +46,7 @@ public class DeleteActive implements RestModifyView { @Override public Response apply(AccountResource rsrc, Input input) throws RestApiException, OrmException, IOException, ConfigInvalidException { - if (self.get() == rsrc.getUser()) { + if (self.get().hasSameAccountId(rsrc.getUser())) { throw new ResourceConflictException("cannot deactivate own account"); } return setInactiveFlag.deactivate(rsrc.getUser().getAccountId()); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteEmail.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteEmail.java index aec3a14604..dd58d59243 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteEmail.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteEmail.java @@ -68,7 +68,7 @@ public class DeleteEmail implements RestModifyView throws AuthException, ResourceNotFoundException, ResourceConflictException, MethodNotAllowedException, OrmException, IOException, ConfigInvalidException, PermissionBackendException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.MODIFY_ACCOUNT); } return apply(rsrc.getUser(), rsrc.getEmail()); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteExternalIds.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteExternalIds.java index 72c1a41d24..1dc2615f5f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteExternalIds.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteExternalIds.java @@ -63,7 +63,7 @@ public class DeleteExternalIds implements RestModifyView apply(AccountResource resource, List extIds) throws RestApiException, IOException, OrmException, ConfigInvalidException, PermissionBackendException { - if (self.get() != resource.getUser()) { + if (!self.get().hasSameAccountId(resource.getUser())) { permissionBackend.user(self).check(GlobalPermission.ACCESS_DATABASE); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteSshKey.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteSshKey.java index f1ecd29ed4..74616bf297 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteSshKey.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteSshKey.java @@ -56,7 +56,7 @@ public class DeleteSshKey implements RestModifyView apply(AccountResource.SshKey rsrc, Input input) throws AuthException, OrmException, RepositoryNotFoundException, IOException, ConfigInvalidException, PermissionBackendException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.ADMINISTRATE_SERVER); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteWatchedProjects.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteWatchedProjects.java index ffb405c420..d57934f0b3 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteWatchedProjects.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteWatchedProjects.java @@ -61,7 +61,7 @@ public class DeleteWatchedProjects public Response apply(AccountResource rsrc, List input) throws AuthException, UnprocessableEntityException, OrmException, IOException, ConfigInvalidException, PermissionBackendException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.ADMINISTRATE_SERVER); } if (input == null) { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/EmailsCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/EmailsCollection.java index c8c1db8564..b1a50c0d2d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/EmailsCollection.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/EmailsCollection.java @@ -63,7 +63,7 @@ public class EmailsCollection @Override public AccountResource.Email parse(AccountResource rsrc, IdString id) throws ResourceNotFoundException, PermissionBackendException, AuthException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.ADMINISTRATE_SERVER); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetCapabilities.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetCapabilities.java index 616ea79ae4..4058a1642b 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetCapabilities.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetCapabilities.java @@ -73,11 +73,11 @@ class GetCapabilities implements RestReadView { } @Override - public Object apply(AccountResource rsrc) throws AuthException, PermissionBackendException { + public Object apply(AccountResource resource) throws AuthException, PermissionBackendException { PermissionBackend.WithUser perm = permissionBackend.user(self); - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(resource.getUser())) { perm.check(GlobalPermission.ADMINISTRATE_SERVER); - perm = permissionBackend.user(rsrc.getUser()); + perm = permissionBackend.user(resource.getUser()); } Map have = new LinkedHashMap<>(); @@ -85,7 +85,7 @@ class GetCapabilities implements RestReadView { have.put(p.permissionName(), true); } - AccountLimits limits = limitsFactory.create(rsrc.getUser()); + AccountLimits limits = limitsFactory.create(resource.getUser()); addRanges(have, limits); addPriority(have, limits); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetDiffPreferences.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetDiffPreferences.java index 8215c6b78d..5a68732daf 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetDiffPreferences.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetDiffPreferences.java @@ -63,7 +63,7 @@ public class GetDiffPreferences implements RestReadView { @Override public DiffPreferencesInfo apply(AccountResource rsrc) throws AuthException, ConfigInvalidException, IOException, PermissionBackendException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.ADMINISTRATE_SERVER); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetEditPreferences.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetEditPreferences.java index bb207f097f..e321ca4d60 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetEditPreferences.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetEditPreferences.java @@ -57,7 +57,7 @@ public class GetEditPreferences implements RestReadView { @Override public EditPreferencesInfo apply(AccountResource rsrc) throws AuthException, IOException, ConfigInvalidException, PermissionBackendException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.MODIFY_ACCOUNT); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetExternalIds.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetExternalIds.java index 709bfc3c4f..3e2d459a8a 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetExternalIds.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetExternalIds.java @@ -59,7 +59,7 @@ public class GetExternalIds implements RestReadView { @Override public List apply(AccountResource resource) throws RestApiException, IOException, OrmException, PermissionBackendException { - if (self.get() != resource.getUser()) { + if (!self.get().hasSameAccountId(resource.getUser())) { permissionBackend.user(self).check(GlobalPermission.ACCESS_DATABASE); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetOAuthToken.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetOAuthToken.java index 587f26805e..d3394f58e6 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetOAuthToken.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetOAuthToken.java @@ -53,7 +53,7 @@ class GetOAuthToken implements RestReadView { @Override public OAuthTokenInfo apply(AccountResource rsrc) throws AuthException, ResourceNotFoundException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { throw new AuthException("not allowed to get access token"); } Account a = rsrc.getUser().getAccount(); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetPreferences.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetPreferences.java index 3ebf864299..e79cdbd937 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetPreferences.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetPreferences.java @@ -43,7 +43,7 @@ public class GetPreferences implements RestReadView { @Override public GeneralPreferencesInfo apply(AccountResource rsrc) throws AuthException, PermissionBackendException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.MODIFY_ACCOUNT); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetSshKeys.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetSshKeys.java index 9f5b9d517a..66a8bf3c66 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetSshKeys.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetSshKeys.java @@ -55,7 +55,7 @@ public class GetSshKeys implements RestReadView { public List apply(AccountResource rsrc) throws AuthException, OrmException, RepositoryNotFoundException, IOException, ConfigInvalidException, PermissionBackendException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.MODIFY_ACCOUNT); } return apply(rsrc.getUser()); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetWatchedProjects.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetWatchedProjects.java index c2c05473c6..cb12a36ea0 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetWatchedProjects.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetWatchedProjects.java @@ -59,7 +59,7 @@ public class GetWatchedProjects implements RestReadView { public List apply(AccountResource rsrc) throws OrmException, AuthException, IOException, ConfigInvalidException, PermissionBackendException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.ADMINISTRATE_SERVER); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/Index.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/Index.java index 49083d2ab8..6feb287642 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/Index.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/Index.java @@ -46,7 +46,7 @@ public class Index implements RestModifyView { @Override public Response apply(AccountResource rsrc, Input input) throws IOException, AuthException, PermissionBackendException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.MODIFY_ACCOUNT); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/PostWatchedProjects.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/PostWatchedProjects.java index 38887f6812..d7f3ba9747 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/PostWatchedProjects.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/PostWatchedProjects.java @@ -69,7 +69,7 @@ public class PostWatchedProjects public List apply(AccountResource rsrc, List input) throws OrmException, RestApiException, IOException, ConfigInvalidException, PermissionBackendException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.ADMINISTRATE_SERVER); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/PutAgreement.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/PutAgreement.java index f5b2e6e450..b27ebf4aa2 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/PutAgreement.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/PutAgreement.java @@ -70,7 +70,7 @@ public class PutAgreement implements RestModifyView { public Response apply(AccountResource rsrc, Input input) throws AuthException, ResourceNotFoundException, ResourceConflictException, OrmException, IOException, ConfigInvalidException, PermissionBackendException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.ADMINISTRATE_SERVER); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/PutName.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/PutName.java index 7537230a2c..cf66d683cd 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/PutName.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/PutName.java @@ -63,7 +63,7 @@ public class PutName implements RestModifyView { public Response apply(AccountResource rsrc, Input input) throws AuthException, MethodNotAllowedException, ResourceNotFoundException, OrmException, IOException, PermissionBackendException, ConfigInvalidException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.MODIFY_ACCOUNT); } return apply(rsrc.getUser(), input); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/PutPreferred.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/PutPreferred.java index b3f8fc554c..f4ba6d8b02 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/PutPreferred.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/PutPreferred.java @@ -55,7 +55,7 @@ public class PutPreferred implements RestModifyView apply(AccountResource.Email rsrc, Input input) throws AuthException, ResourceNotFoundException, OrmException, IOException, PermissionBackendException, ConfigInvalidException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.MODIFY_ACCOUNT); } return apply(rsrc.getUser(), rsrc.getEmail()); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/PutStatus.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/PutStatus.java index 1df67c304a..3f7c4f1715 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/PutStatus.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/PutStatus.java @@ -64,7 +64,7 @@ public class PutStatus implements RestModifyView { public Response apply(AccountResource rsrc, Input input) throws AuthException, ResourceNotFoundException, OrmException, IOException, PermissionBackendException, ConfigInvalidException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.MODIFY_ACCOUNT); } return apply(rsrc.getUser(), input); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/PutUsername.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/PutUsername.java index a73bdd9734..785aa6675c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/PutUsername.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/PutUsername.java @@ -62,7 +62,7 @@ public class PutUsername implements RestModifyView { throws AuthException, MethodNotAllowedException, UnprocessableEntityException, ResourceConflictException, OrmException, IOException, ConfigInvalidException, PermissionBackendException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { permissionBackend.user(self).check(GlobalPermission.ADMINISTRATE_SERVER); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/SetDiffPreferences.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/SetDiffPreferences.java index 88e9e205cb..67f276d884 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/SetDiffPreferences.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/SetDiffPreferences.java @@ -65,7 +65,7 @@ public class SetDiffPreferences implements RestModifyView apply(AccountResource rsrc, EmptyInput in) throws RestApiException, OrmException, IOException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { throw new AuthException("not allowed to add starred change"); } try { @@ -167,7 +167,7 @@ public class StarredChanges @Override public Response apply(AccountResource.StarredChange rsrc, EmptyInput in) throws AuthException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { throw new AuthException("not allowed update starred changes"); } return Response.none(); @@ -188,7 +188,7 @@ public class StarredChanges @Override public Response apply(AccountResource.StarredChange rsrc, EmptyInput in) throws AuthException, OrmException, IOException, IllegalLabelException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { throw new AuthException("not allowed remove starred change"); } starredChangesUtil.star( diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/Stars.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/Stars.java index 860f39619a..2aedfe19b7 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/Stars.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/Stars.java @@ -98,7 +98,7 @@ public class Stars implements ChildCollection apply(AccountResource rsrc) throws BadRequestException, AuthException, OrmException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { throw new AuthException("not allowed to list stars of another account"); } QueryChanges query = changes.list(); @@ -120,7 +120,7 @@ public class Stars implements ChildCollection apply(AccountResource.Star rsrc) throws AuthException, OrmException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { throw new AuthException("not allowed to get stars of another account"); } return starredChangesUtil.getLabels(self.get().getAccountId(), rsrc.getChange().getId()); @@ -141,7 +141,7 @@ public class Stars implements ChildCollection apply(AccountResource.Star rsrc, StarsInput in) throws AuthException, BadRequestException, OrmException { - if (self.get() != rsrc.getUser()) { + if (!self.get().hasSameAccountId(rsrc.getUser())) { throw new AuthException("not allowed to update stars of another account"); } try {