From d48c031548a5a1e47040369676ac1521161ff41c Mon Sep 17 00:00:00 2001 From: Ameya Lokare Date: Thu, 10 Oct 2024 14:14:29 -0700 Subject: [PATCH] Pass in destination service identifier to spam filter --- .../textsecuregcm/controllers/MessageController.java | 4 ++-- .../org/whispersystems/textsecuregcm/spam/SpamChecker.java | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/MessageController.java b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/MessageController.java index 3579c9ab6..39ac94777 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/MessageController.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/MessageController.java @@ -326,7 +326,7 @@ public class MessageController { } final SpamChecker.SpamCheckResult spamCheck = spamChecker.checkForSpam( - context, source, destination); + context, source, destination, Optional.of(destinationIdentifier)); final Optional reportSpamToken; switch (spamCheck) { case final SpamChecker.Spam spam: return spam.response(); @@ -547,7 +547,7 @@ public class MessageController { @Context ContainerRequestContext context) throws RateLimitExceededException { - final SpamChecker.SpamCheckResult spamCheck = spamChecker.checkForSpam(context, Optional.empty(), Optional.empty()); + final SpamChecker.SpamCheckResult spamCheck = spamChecker.checkForSpam(context, Optional.empty(), Optional.empty(), Optional.empty()); if (spamCheck instanceof final SpamChecker.Spam spam) { return spam.response(); } diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/spam/SpamChecker.java b/service/src/main/java/org/whispersystems/textsecuregcm/spam/SpamChecker.java index dbd288999..735f9e9c2 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/spam/SpamChecker.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/spam/SpamChecker.java @@ -5,6 +5,7 @@ package org.whispersystems.textsecuregcm.spam; import org.whispersystems.textsecuregcm.auth.AccountAndAuthenticatedDeviceHolder; +import org.whispersystems.textsecuregcm.identity.ServiceIdentifier; import org.whispersystems.textsecuregcm.storage.Account; import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.core.Response; @@ -43,9 +44,10 @@ public interface SpamChecker { SpamCheckResult checkForSpam( final ContainerRequestContext requestContext, final Optional maybeSource, - final Optional maybeDestination); + final Optional maybeDestination, + final Optional destinationIdentifier); static SpamChecker noop() { - return (ignoredContext, ignoredSource, ignoredDestination) -> NotSpam.EMPTY_TOKEN; + return (ignoredContext, ignoredSource, ignoredDestination, ignoredDestinationIdentifier) -> NotSpam.EMPTY_TOKEN; } }