diff --git a/abusive-message-filter b/abusive-message-filter index 9788de211..607b9ea14 160000 --- a/abusive-message-filter +++ b/abusive-message-filter @@ -1 +1 @@ -Subproject commit 9788de21103ada586e3daeffc24a618e911aabb5 +Subproject commit 607b9ea14dc9c5ea448c0dc2f79419fd9c48d73f diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/configuration/dynamic/DynamicRateLimitsConfiguration.java b/service/src/main/java/org/whispersystems/textsecuregcm/configuration/dynamic/DynamicRateLimitsConfiguration.java index d4eeb8123..8ab639bbc 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/configuration/dynamic/DynamicRateLimitsConfiguration.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/configuration/dynamic/DynamicRateLimitsConfiguration.java @@ -7,15 +7,6 @@ import java.time.Duration; public class DynamicRateLimitsConfiguration { - @JsonProperty - private CardinalityRateLimitConfiguration unsealedSenderNumber = new CardinalityRateLimitConfiguration(100, Duration.ofDays(1)); - - @JsonProperty - private int unsealedSenderDefaultCardinalityLimit = 100; - - @JsonProperty - private int unsealedSenderPermitIncrement = 50; - @JsonProperty private RateLimitConfiguration rateLimitReset = new RateLimitConfiguration(2, 2.0 / (60 * 24)); @@ -31,10 +22,6 @@ public class DynamicRateLimitsConfiguration { @JsonProperty private RateLimitConfiguration pushChallengeSuccess = new RateLimitConfiguration(2, 2.0 / (60 * 24)); - public CardinalityRateLimitConfiguration getUnsealedSenderNumber() { - return unsealedSenderNumber; - } - public RateLimitConfiguration getRateLimitReset() { return rateLimitReset; } @@ -54,12 +41,4 @@ public class DynamicRateLimitsConfiguration { public RateLimitConfiguration getPushChallengeSuccess() { return pushChallengeSuccess; } - - public int getUnsealedSenderDefaultCardinalityLimit() { - return unsealedSenderDefaultCardinalityLimit; - } - - public int getUnsealedSenderPermitIncrement() { - return unsealedSenderPermitIncrement; - } } 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 833f8d7f2..d6bc62103 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 @@ -13,7 +13,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import com.fasterxml.jackson.core.JsonProcessingException; import com.vdurmont.semver4j.Semver; -import java.time.Duration; import java.util.Collections; import java.util.List; import java.util.Map; @@ -21,7 +20,7 @@ import java.util.Optional; import java.util.Set; import java.util.UUID; import org.junit.jupiter.api.Test; -import org.whispersystems.textsecuregcm.configuration.RateLimitsConfiguration.CardinalityRateLimitConfiguration; +import org.whispersystems.textsecuregcm.configuration.RateLimitsConfiguration.RateLimitConfiguration; import org.whispersystems.textsecuregcm.storage.DynamicConfigurationManager; import org.whispersystems.textsecuregcm.util.ua.ClientPlatform; @@ -326,24 +325,24 @@ class DynamicConfigurationTest { final DynamicConfiguration emptyConfig = DynamicConfigurationManager.parseConfiguration(emptyConfigYaml, DynamicConfiguration.class).orElseThrow(); - assertThat(emptyConfig.getLimits().getUnsealedSenderNumber().getMaxCardinality()).isEqualTo(100); - assertThat(emptyConfig.getLimits().getUnsealedSenderNumber().getTtl()).isEqualTo(Duration.ofDays(1)); + assertThat(emptyConfig.getLimits().getRateLimitReset().getBucketSize()).isEqualTo(2); + assertThat(emptyConfig.getLimits().getRateLimitReset().getLeakRatePerMinute()).isEqualTo(2.0 / (60 * 24)); } { final String limitsConfig = """ limits: - unsealedSenderNumber: - maxCardinality: 99 - ttl: PT23H + rateLimitReset: + bucketSize: 17 + leakRatePerMinute: 44 """; - final CardinalityRateLimitConfiguration unsealedSenderNumber = + final RateLimitConfiguration resetRateLimitConfiguration = DynamicConfigurationManager.parseConfiguration(limitsConfig, DynamicConfiguration.class).orElseThrow() - .getLimits().getUnsealedSenderNumber(); + .getLimits().getRateLimitReset(); - assertThat(unsealedSenderNumber.getMaxCardinality()).isEqualTo(99); - assertThat(unsealedSenderNumber.getTtl()).isEqualTo(Duration.ofHours(23)); + assertThat(resetRateLimitConfiguration.getBucketSize()).isEqualTo(17); + assertThat(resetRateLimitConfiguration.getLeakRatePerMinute()).isEqualTo(44); } }