Continue to verify rate limiters by e164 during UUID migration period

This commit is contained in:
Jon Chambers 2021-08-02 14:52:31 -04:00 committed by Jon Chambers
parent a680639718
commit ce5edbb7fc
2 changed files with 20 additions and 0 deletions

View File

@ -50,6 +50,9 @@ public class PreKeyRateLimiter {
try {
rateLimiters.getDailyPreKeysLimiter().validate(account.getUuid());
// TODO Remove after migration period
rateLimiters.getDailyPreKeysLimiter().validate(account.getNumber());
} catch (final RateLimitExceededException e) {
final boolean enforceLimit = dynamicConfigurationManager.getConfiguration()

View File

@ -56,10 +56,17 @@ public class RateLimitChallengeManager {
public void answerPushChallenge(final Account account, final String challenge) throws RateLimitExceededException {
rateLimiters.getPushChallengeAttemptLimiter().validate(account.getUuid());
// TODO Remove after migration period
rateLimiters.getPushChallengeAttemptLimiter().validate(account.getNumber());
final boolean challengeSuccess = pushChallengeManager.answerChallenge(account, challenge);
if (challengeSuccess) {
rateLimiters.getPushChallengeSuccessLimiter().validate(account.getUuid());
// TODO Remove after migration period
rateLimiters.getPushChallengeSuccessLimiter().validate(account.getNumber());
resetRateLimits(account);
}
}
@ -69,6 +76,9 @@ public class RateLimitChallengeManager {
rateLimiters.getRecaptchaChallengeAttemptLimiter().validate(account.getUuid());
// TODO Remove after migration period
rateLimiters.getRecaptchaChallengeAttemptLimiter().validate(account.getNumber());
final boolean challengeSuccess = recaptchaClient.verify(captcha, mostRecentProxyIp);
Metrics.counter(RECAPTCHA_ATTEMPT_COUNTER_NAME,
@ -77,6 +87,10 @@ public class RateLimitChallengeManager {
if (challengeSuccess) {
rateLimiters.getRecaptchaChallengeSuccessLimiter().validate(account.getUuid());
// TODO Remove after migration period
rateLimiters.getRecaptchaChallengeSuccessLimiter().validate(account.getNumber());
resetRateLimits(account);
}
}
@ -84,6 +98,9 @@ public class RateLimitChallengeManager {
private void resetRateLimits(final Account account) throws RateLimitExceededException {
try {
rateLimiters.getRateLimitResetLimiter().validate(account.getUuid());
// TODO Remove after migration period
rateLimiters.getRateLimitResetLimiter().validate(account.getNumber());
} catch (final RateLimitExceededException e) {
Metrics.counter(RESET_RATE_LIMIT_EXCEEDED_COUNTER_NAME,
SOURCE_COUNTRY_TAG_NAME, Util.getCountryCode(account.getNumber())).increment();