mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-19 17:18:04 +01:00
Remove global lock in RateLimitChallengeManager
This commit is contained in:
committed by
ravi-signal
parent
47bfb25f2c
commit
360a4793ae
@@ -29,6 +29,7 @@ import io.micrometer.core.instrument.binder.jvm.ExecutorServiceMetrics;
|
||||
import java.net.http.HttpClient;
|
||||
import java.time.Clock;
|
||||
import java.time.Duration;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
@@ -603,8 +604,6 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
|
||||
|
||||
PushChallengeManager pushChallengeManager = new PushChallengeManager(pushNotificationManager,
|
||||
pushChallengeDynamoDb);
|
||||
RateLimitChallengeManager rateLimitChallengeManager = new RateLimitChallengeManager(pushChallengeManager,
|
||||
captchaChecker, rateLimiters);
|
||||
|
||||
ChangeNumberManager changeNumberManager = new ChangeNumberManager(messageSender, accountsManager);
|
||||
|
||||
@@ -740,6 +739,7 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
|
||||
boolean registeredSpamFilter = false;
|
||||
ReportSpamTokenProvider reportSpamTokenProvider = null;
|
||||
|
||||
List<RateLimitChallengeListener> rateLimitChallengeListeners = new ArrayList<>();
|
||||
for (final SpamFilter filter : ServiceLoader.load(SpamFilter.class)) {
|
||||
if (filter.getClass().isAnnotationPresent(FilterSpam.class)) {
|
||||
try {
|
||||
@@ -770,9 +770,12 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
|
||||
|
||||
if (filter instanceof RateLimitChallengeListener) {
|
||||
log.info("Registered rate limit challenge listener: {}", filter.getClass().getName());
|
||||
rateLimitChallengeManager.addListener((RateLimitChallengeListener) filter);
|
||||
rateLimitChallengeListeners.add((RateLimitChallengeListener) filter);
|
||||
}
|
||||
}
|
||||
RateLimitChallengeManager rateLimitChallengeManager = new RateLimitChallengeManager(pushChallengeManager,
|
||||
captchaChecker, rateLimiters, rateLimitChallengeListeners);
|
||||
|
||||
|
||||
if (!registeredSpamFilter) {
|
||||
log.warn("No spam filters installed");
|
||||
|
||||
Reference in New Issue
Block a user