Revert "Count requests with missing device capabilities"

This reverts commit 6cdf8ebd2c.
This commit is contained in:
Jon Chambers 2023-12-06 11:26:06 -05:00 committed by Jon Chambers
parent 44145073f1
commit 2054ab2771
2 changed files with 5 additions and 33 deletions

View File

@ -8,8 +8,6 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.common.net.HttpHeaders;
import io.dropwizard.auth.Auth;
import io.lettuce.core.SetArgs;
import io.micrometer.core.instrument.Metrics;
import io.micrometer.core.instrument.Tags;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.headers.Header;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
@ -61,8 +59,6 @@ import org.whispersystems.textsecuregcm.entities.LinkDeviceRequest;
import org.whispersystems.textsecuregcm.entities.PreKeySignatureValidator;
import org.whispersystems.textsecuregcm.identity.IdentityType;
import org.whispersystems.textsecuregcm.limits.RateLimiters;
import org.whispersystems.textsecuregcm.metrics.MetricsUtil;
import org.whispersystems.textsecuregcm.metrics.UserAgentTagUtil;
import org.whispersystems.textsecuregcm.redis.FaultTolerantRedisCluster;
import org.whispersystems.textsecuregcm.storage.Account;
import org.whispersystems.textsecuregcm.storage.AccountsManager;
@ -96,9 +92,6 @@ public class DeviceController {
@VisibleForTesting
static final Duration TOKEN_EXPIRATION_DURATION = Duration.ofMinutes(10);
private static final String MISSING_DEVICE_CAPABILITIES_COUNTER_NAME =
MetricsUtil.name(DeviceController.class, "missingDeviceCapabilities");
public DeviceController(byte[] linkDeviceSecret,
AccountsManager accounts,
MessagesManager messages,
@ -183,7 +176,7 @@ public class DeviceController {
}
/**
* @deprecated callers should use {@link #linkDevice(BasicAuthorizationHeader, String, LinkDeviceRequest, ContainerRequest)}
* @deprecated callers should use {@link #linkDevice(BasicAuthorizationHeader, LinkDeviceRequest, ContainerRequest)}
* instead
*/
@PUT
@ -194,7 +187,6 @@ public class DeviceController {
@Deprecated(forRemoval = true)
public DeviceResponse verifyDeviceToken(@PathParam("verification_code") String verificationCode,
@HeaderParam(HttpHeaders.AUTHORIZATION) BasicAuthorizationHeader authorizationHeader,
@HeaderParam(HttpHeaders.USER_AGENT) final String userAgent,
@NotNull @Valid AccountAttributes accountAttributes,
@Context ContainerRequest containerRequest)
throws RateLimitExceededException, DeviceLimitExceededException {
@ -203,8 +195,7 @@ public class DeviceController {
verificationCode,
accountAttributes,
containerRequest,
Optional.empty(),
userAgent);
Optional.empty());
final Account account = accountAndDevice.first();
final Device device = accountAndDevice.second();
@ -229,7 +220,6 @@ public class DeviceController {
name = "Retry-After",
description = "If present, an positive integer indicating the number of seconds before a subsequent attempt could succeed"))
public DeviceResponse linkDevice(@HeaderParam(HttpHeaders.AUTHORIZATION) BasicAuthorizationHeader authorizationHeader,
@HeaderParam(HttpHeaders.USER_AGENT) final String userAgent,
@NotNull @Valid LinkDeviceRequest linkDeviceRequest,
@Context ContainerRequest containerRequest)
throws RateLimitExceededException, DeviceLimitExceededException {
@ -238,8 +228,7 @@ public class DeviceController {
linkDeviceRequest.verificationCode(),
linkDeviceRequest.accountAttributes(),
containerRequest,
Optional.of(linkDeviceRequest.deviceActivationRequest()),
userAgent);
Optional.of(linkDeviceRequest.deviceActivationRequest()));
final Account account = accountAndDevice.first();
final Device device = accountAndDevice.second();
@ -353,8 +342,7 @@ public class DeviceController {
final String verificationCode,
final AccountAttributes accountAttributes,
final ContainerRequest containerRequest,
final Optional<DeviceActivationRequest> maybeDeviceActivationRequest,
final String userAgent)
final Optional<DeviceActivationRequest> maybeDeviceActivationRequest)
throws RateLimitExceededException, DeviceLimitExceededException {
final Optional<UUID> maybeAciFromToken = checkVerificationToken(verificationCode);
@ -392,14 +380,6 @@ public class DeviceController {
}
final DeviceCapabilities capabilities = accountAttributes.getCapabilities();
if (capabilities == null) {
Metrics.counter(MISSING_DEVICE_CAPABILITIES_COUNTER_NAME,
Tags.of(UserAgentTagUtil.getPlatformTag(userAgent),
io.micrometer.core.instrument.Tag.of("atomic", String.valueOf(maybeDeviceActivationRequest.isPresent()))))
.increment();
}
if (capabilities != null && isCapabilityDowngrade(account, capabilities)) {
throw new WebApplicationException(Response.status(409).build());
}

View File

@ -58,12 +58,10 @@ public class RegistrationController {
.register(Metrics.globalRegistry);
private static final String ACCOUNT_CREATED_COUNTER_NAME = name(RegistrationController.class, "accountCreated");
private static final String MISSING_DEVICE_CAPABILITIES_COUNTER_NAME =
name(RegistrationController.class, "missingDeviceCapabilities");
private static final String COUNTRY_CODE_TAG_NAME = "countryCode";
private static final String REGION_CODE_TAG_NAME = "regionCode";
private static final String VERIFICATION_TYPE_TAG_NAME = "verification";
private static final String INVALID_ACCOUNT_ATTRS_COUNTER_NAME = name(RegistrationController.class, "invalidAccountAttrs");
private final AccountsManager accounts;
private final PhoneVerificationTokenManager phoneVerificationTokenManager;
@ -109,12 +107,6 @@ public class RegistrationController {
final String number = authorizationHeader.getUsername();
final String password = authorizationHeader.getPassword();
if (registrationRequest.accountAttributes().getCapabilities() == null) {
Metrics.counter(MISSING_DEVICE_CAPABILITIES_COUNTER_NAME,
Tags.of(UserAgentTagUtil.getPlatformTag(userAgent)))
.increment();
}
RateLimiter.adaptLegacyException(() -> rateLimiters.getRegistrationLimiter().validate(number));
final PhoneVerificationRequest.VerificationType verificationType = phoneVerificationTokenManager.verify(number,