Migrate challenge-issuing configuration into the abusive message filter module
This commit is contained in:
parent
616db337e1
commit
5baa51d547
|
@ -1 +1 @@
|
|||
Subproject commit 9788de21103ada586e3daeffc24a618e911aabb5
|
||||
Subproject commit 607b9ea14dc9c5ea448c0dc2f79419fd9c48d73f
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue