Make destination service identifiers for spam checks non-optional

This commit is contained in:
Jon Chambers 2025-04-07 12:45:12 -04:00 committed by Ameya Lokare
parent 37038c4a63
commit 099073356c
2 changed files with 18 additions and 11 deletions

View File

@ -305,7 +305,7 @@ public class MessageController {
} }
final SpamCheckResult<Response> spamCheckResult = final SpamCheckResult<Response> spamCheckResult =
spamChecker.checkForIndividualRecipientSpamHttp(messageType, context, source, maybeDestination, Optional.of(destinationIdentifier)); spamChecker.checkForIndividualRecipientSpamHttp(messageType, context, source, maybeDestination, destinationIdentifier);
if (spamCheckResult.response().isPresent()) { if (spamCheckResult.response().isPresent()) {
return spamCheckResult.response().get(); return spamCheckResult.response().get();

View File

@ -19,10 +19,12 @@ public interface SpamChecker {
/** /**
* Determine if a message sent to an individual recipient via HTTP may be spam. * Determine if a message sent to an individual recipient via HTTP may be spam.
* *
* @param requestContext The request context for a message send attempt * @param messageType the type of message to check
* @param maybeSource The sender of the message, could be empty if this as message sent with sealed sender * @param requestContext the request context for a message send attempt
* @param maybeDestination The destination of the message, could be empty if the destination does not exist or could * @param maybeSource the sender of the message, could be empty if this as message sent with sealed sender
* @param maybeDestination the destination of the message, could be empty if the destination does not exist or could
* not be retrieved * not be retrieved
* @param destinationIdentifier the service identifier for the destination account
* @return A {@link SpamCheckResult} * @return A {@link SpamCheckResult}
*/ */
@SuppressWarnings("OptionalUsedAsFieldOrParameterType") @SuppressWarnings("OptionalUsedAsFieldOrParameterType")
@ -31,12 +33,13 @@ public interface SpamChecker {
final ContainerRequestContext requestContext, final ContainerRequestContext requestContext,
final Optional<? extends AccountAndAuthenticatedDeviceHolder> maybeSource, final Optional<? extends AccountAndAuthenticatedDeviceHolder> maybeSource,
final Optional<Account> maybeDestination, final Optional<Account> maybeDestination,
final Optional<ServiceIdentifier> maybeDestinationIdentifier); final ServiceIdentifier destinationIdentifier);
/** /**
* Determine if a message sent to multiple recipients via HTTP may be spam. * Determine if a message sent to multiple recipients via HTTP may be spam.
* *
* @param requestContext The request context for a message send attempt * @param messageType the type of message to check
* @param requestContext the request context for a message send attempt
* @return A {@link SpamCheckResult} * @return A {@link SpamCheckResult}
*/ */
SpamCheckResult<Response> checkForMultiRecipientSpamHttp( SpamCheckResult<Response> checkForMultiRecipientSpamHttp(
@ -46,9 +49,11 @@ public interface SpamChecker {
/** /**
* Determine if a message sent to an individual recipient via gRPC may be spam. * Determine if a message sent to an individual recipient via gRPC may be spam.
* *
* @param maybeSource The sender of the message, could be empty if this as message sent with sealed sender * @param messageType the type of message to check
* @param maybeDestination The destination of the message, could be empty if the destination does not exist or could * @param maybeSource the sender of the message, could be empty if this as message sent with sealed sender
* @param maybeDestination the destination of the message, could be empty if the destination does not exist or could
* not be retrieved * not be retrieved
* @param destinationIdentifier the service identifier for the destination account
* @return A {@link SpamCheckResult} * @return A {@link SpamCheckResult}
*/ */
@SuppressWarnings("OptionalUsedAsFieldOrParameterType") @SuppressWarnings("OptionalUsedAsFieldOrParameterType")
@ -56,11 +61,13 @@ public interface SpamChecker {
final MessageType messageType, final MessageType messageType,
final Optional<org.whispersystems.textsecuregcm.auth.grpc.AuthenticatedDevice> maybeSource, final Optional<org.whispersystems.textsecuregcm.auth.grpc.AuthenticatedDevice> maybeSource,
final Optional<Account> maybeDestination, final Optional<Account> maybeDestination,
final Optional<ServiceIdentifier> maybeDestinationIdentifier); final ServiceIdentifier destinationIdentifier);
/** /**
* Determine if a message sent to multiple recipients via gRPC may be spam. * Determine if a message sent to multiple recipients via gRPC may be spam.
* *
* @param messageType the type of message to check
*
* @return A {@link SpamCheckResult} * @return A {@link SpamCheckResult}
*/ */
SpamCheckResult<GrpcResponse<SendMultiRecipientMessageResponse>> checkForMultiRecipientSpamGrpc(final MessageType messageType); SpamCheckResult<GrpcResponse<SendMultiRecipientMessageResponse>> checkForMultiRecipientSpamGrpc(final MessageType messageType);
@ -74,7 +81,7 @@ public interface SpamChecker {
final ContainerRequestContext requestContext, final ContainerRequestContext requestContext,
final Optional<? extends AccountAndAuthenticatedDeviceHolder> maybeSource, final Optional<? extends AccountAndAuthenticatedDeviceHolder> maybeSource,
final Optional<Account> maybeDestination, final Optional<Account> maybeDestination,
final Optional<ServiceIdentifier> maybeDestinationIdentifier) { final ServiceIdentifier destinationIdentifier) {
return new SpamCheckResult<>(Optional.empty(), Optional.empty()); return new SpamCheckResult<>(Optional.empty(), Optional.empty());
} }
@ -90,7 +97,7 @@ public interface SpamChecker {
public SpamCheckResult<GrpcResponse<SendMessageResponse>> checkForIndividualRecipientSpamGrpc(final MessageType messageType, public SpamCheckResult<GrpcResponse<SendMessageResponse>> checkForIndividualRecipientSpamGrpc(final MessageType messageType,
final Optional<AuthenticatedDevice> maybeSource, final Optional<AuthenticatedDevice> maybeSource,
final Optional<Account> maybeDestination, final Optional<Account> maybeDestination,
final Optional<ServiceIdentifier> maybeDestinationIdentifier) { final ServiceIdentifier destinationIdentifier) {
return new SpamCheckResult<>(Optional.empty(), Optional.empty()); return new SpamCheckResult<>(Optional.empty(), Optional.empty());
} }