From 5934b7344a718f68ae822686ae6eaa16423180a4 Mon Sep 17 00:00:00 2001 From: Ravi Khadiwala Date: Tue, 5 Sep 2023 16:38:44 -0500 Subject: [PATCH] Remove unused captcha configuration --- .../captcha/RegistrationCaptchaManager.java | 46 ------------------- .../dynamic/DynamicCaptchaConfiguration.java | 26 ----------- .../dynamic/DynamicConfigurationTest.java | 5 -- 3 files changed, 77 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/captcha/RegistrationCaptchaManager.java b/service/src/main/java/org/whispersystems/textsecuregcm/captcha/RegistrationCaptchaManager.java index 471fb66fa..3eedcd193 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/captcha/RegistrationCaptchaManager.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/captcha/RegistrationCaptchaManager.java @@ -58,50 +58,4 @@ public class RegistrationCaptchaManager { ? Optional.of(captchaChecker.verify(Action.REGISTRATION, captcha.get(), sourceHost)) : Optional.empty(); } - - public boolean requiresCaptcha(final String number, final String forwardedFor, String sourceHost, - final boolean pushChallengeMatch) { - if (testDevices.contains(number)) { - return false; - } - - if (!pushChallengeMatch) { - return true; - } - - final String countryCode = Util.getCountryCode(number); - final String region = Util.getRegion(number); - - DynamicCaptchaConfiguration captchaConfig = dynamicConfigurationManager.getConfiguration() - .getCaptchaConfiguration(); - - boolean countryFiltered = captchaConfig.getSignupCountryCodes().contains(countryCode) || - captchaConfig.getSignupRegions().contains(region); - - try { - rateLimiters.getSmsVoiceIpLimiter().validate(sourceHost); - } catch (RateLimitExceededException e) { - logger.info("Rate limit exceeded: {}, {} ({})", number, sourceHost, forwardedFor); - rateLimitedHostMeter.mark(); - - return true; - } - - try { - rateLimiters.getSmsVoicePrefixLimiter().validate(Util.getNumberPrefix(number)); - } catch (RateLimitExceededException e) { - logger.info("Prefix rate limit exceeded: {}, {} ({})", number, sourceHost, forwardedFor); - rateLimitedPrefixMeter.mark(); - - return true; - } - - if (countryFiltered) { - countryFilteredHostMeter.mark(); - return true; - } - - return false; - } - } diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/configuration/dynamic/DynamicCaptchaConfiguration.java b/service/src/main/java/org/whispersystems/textsecuregcm/configuration/dynamic/DynamicCaptchaConfiguration.java index 77a63bae7..636031f86 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/configuration/dynamic/DynamicCaptchaConfiguration.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/configuration/dynamic/DynamicCaptchaConfiguration.java @@ -43,36 +43,10 @@ public class DynamicCaptchaConfiguration { @NotNull private Map scoreFloorByAction = Collections.emptyMap(); - @JsonProperty - @NotNull - private Set signupCountryCodes = Collections.emptySet(); - - @JsonProperty - @NotNull - private Set signupRegions = Collections.emptySet(); - public BigDecimal getScoreFloor() { return scoreFloor; } - public Set getSignupCountryCodes() { - return signupCountryCodes; - } - - @VisibleForTesting - public void setSignupCountryCodes(Set numbers) { - this.signupCountryCodes = numbers; - } - - @VisibleForTesting - public void setSignupRegions(final Set signupRegions) { - this.signupRegions = signupRegions; - } - - public Set getSignupRegions() { - return signupRegions; - } - public boolean isAllowHCaptcha() { return allowHCaptcha; } diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/configuration/dynamic/DynamicConfigurationTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/configuration/dynamic/DynamicConfigurationTest.java index c43b16d34..fe698b1bf 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/configuration/dynamic/DynamicConfigurationTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/configuration/dynamic/DynamicConfigurationTest.java @@ -249,8 +249,6 @@ class DynamicConfigurationTest { { final String captchaConfig = """ captcha: - signupCountryCodes: - - 1 scoreFloor: null """; @@ -261,8 +259,6 @@ class DynamicConfigurationTest { { final String captchaConfig = """ captcha: - signupCountryCodes: - - 1 scoreFloor: 0.9 scoreFloorByAction: challenge: 0.1 @@ -282,7 +278,6 @@ class DynamicConfigurationTest { DynamicConfigurationManager.parseConfiguration(captchaConfig, DynamicConfiguration.class).orElseThrow() .getCaptchaConfiguration(); - assertEquals(Set.of("1"), config.getSignupCountryCodes()); assertEquals(0.9f, config.getScoreFloor().floatValue()); assertEquals(0.1f, config.getScoreFloorByAction().get(Action.CHALLENGE).floatValue()); assertEquals(0.2f, config.getScoreFloorByAction().get(Action.REGISTRATION).floatValue());