Revert "Instrument registration ID changes via the "set account attributes" endpoint"

This reverts commit 8fbc1dac74.
This commit is contained in:
Jon Chambers 2023-11-29 11:08:54 -05:00 committed by Jon Chambers
parent 9c54d2407b
commit c97f837f45
1 changed files with 7 additions and 26 deletions

View File

@ -4,11 +4,10 @@
*/ */
package org.whispersystems.textsecuregcm.controllers; package org.whispersystems.textsecuregcm.controllers;
import com.google.common.net.HttpHeaders; import static org.whispersystems.textsecuregcm.metrics.MetricsUtil.name;
import io.dropwizard.auth.Auth; import io.dropwizard.auth.Auth;
import io.micrometer.core.instrument.Metrics; import io.micrometer.core.instrument.Metrics;
import io.micrometer.core.instrument.Tag;
import io.micrometer.core.instrument.Tags;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponse;
@ -81,6 +80,7 @@ public class AccountController {
public static final int USERNAME_HASH_LENGTH = 32; public static final int USERNAME_HASH_LENGTH = 32;
public static final int MAXIMUM_USERNAME_CIPHERTEXT_LENGTH = 128; public static final int MAXIMUM_USERNAME_CIPHERTEXT_LENGTH = 128;
private static final String INVALID_REGISTRATION_ID = name(AccountController.class, "invalidRegistrationId");
private final AccountsManager accounts; private final AccountsManager accounts;
private final RateLimiters rateLimiters; private final RateLimiters rateLimiters;
private final TurnTokenGenerator turnTokenGenerator; private final TurnTokenGenerator turnTokenGenerator;
@ -222,26 +222,11 @@ public class AccountController {
@ChangesDeviceEnabledState @ChangesDeviceEnabledState
public void setAccountAttributes( public void setAccountAttributes(
@Auth DisabledPermittedAuthenticatedAccount disabledPermittedAuth, @Auth DisabledPermittedAuthenticatedAccount disabledPermittedAuth,
@HeaderParam(HeaderUtils.X_SIGNAL_AGENT) String signalAgent, @HeaderParam(HeaderUtils.X_SIGNAL_AGENT) String userAgent,
@HeaderParam(HttpHeaders.USER_AGENT) String userAgent,
@NotNull @Valid AccountAttributes attributes) { @NotNull @Valid AccountAttributes attributes) {
final Account account = disabledPermittedAuth.getAccount(); final Account account = disabledPermittedAuth.getAccount();
final byte deviceId = disabledPermittedAuth.getAuthenticatedDevice().getId(); final byte deviceId = disabledPermittedAuth.getAuthenticatedDevice().getId();
final boolean aciRegistrationIdChanged = account.getDevice(deviceId)
.map(device -> device.getRegistrationId() != attributes.getRegistrationId())
.orElse(false);
final boolean pniRegistrationIdChanged;
if (attributes.getPhoneNumberIdentityRegistrationId().isPresent()) {
pniRegistrationIdChanged = account.getDevice(deviceId)
.map(device -> !attributes.getPhoneNumberIdentityRegistrationId().equals(device.getPhoneNumberIdentityRegistrationId()))
.orElse(false);
} else {
pniRegistrationIdChanged = false;
}
final Account updatedAccount = accounts.update(account, a -> { final Account updatedAccount = accounts.update(account, a -> {
a.getDevice(deviceId).ifPresent(d -> { a.getDevice(deviceId).ifPresent(d -> {
d.setFetchesMessages(attributes.getFetchesMessages()); d.setFetchesMessages(attributes.getFetchesMessages());
@ -250,7 +235,7 @@ public class AccountController {
d.setCapabilities(attributes.getCapabilities()); d.setCapabilities(attributes.getCapabilities());
d.setRegistrationId(attributes.getRegistrationId()); d.setRegistrationId(attributes.getRegistrationId());
attributes.getPhoneNumberIdentityRegistrationId().ifPresent(d::setPhoneNumberIdentityRegistrationId); attributes.getPhoneNumberIdentityRegistrationId().ifPresent(d::setPhoneNumberIdentityRegistrationId);
d.setUserAgent(signalAgent); d.setUserAgent(userAgent);
}); });
a.setRegistrationLockFromAttributes(attributes); a.setRegistrationLockFromAttributes(attributes);
@ -263,12 +248,8 @@ public class AccountController {
attributes.recoveryPassword().ifPresent(registrationRecoveryPassword -> attributes.recoveryPassword().ifPresent(registrationRecoveryPassword ->
registrationRecoveryPasswordsManager.storeForCurrentNumber(updatedAccount.getNumber(), registrationRecoveryPassword)); registrationRecoveryPasswordsManager.storeForCurrentNumber(updatedAccount.getNumber(), registrationRecoveryPassword));
final Tags tags = Tags.of(UserAgentTagUtil.getPlatformTag(userAgent), Metrics.counter(SET_ATTRIBUTES_COUNTER_NAME,
Tag.of("pniRegistrationIdPresent", String.valueOf(attributes.getPhoneNumberIdentityRegistrationId().isPresent())), "pniRegistrationIdPresent", String.valueOf(attributes.getPhoneNumberIdentityRegistrationId().isPresent()))
Tag.of("aciRegistrationIdChanged", String.valueOf(aciRegistrationIdChanged)),
Tag.of("pniRegistrationIdChanged", String.valueOf(pniRegistrationIdChanged)));
Metrics.counter(SET_ATTRIBUTES_COUNTER_NAME, tags)
.increment(); .increment();
} }