diff --git a/backend/src/main/java/com/alttd/altitudeweb/services/chat/ChatService.java b/backend/src/main/java/com/alttd/altitudeweb/services/chat/ChatService.java index e933ff5..3116120 100644 --- a/backend/src/main/java/com/alttd/altitudeweb/services/chat/ChatService.java +++ b/backend/src/main/java/com/alttd/altitudeweb/services/chat/ChatService.java @@ -9,6 +9,7 @@ import com.alttd.altitudeweb.services.chat.event_publisher.EventPublisher; import com.alttd.altitudeweb.setup.Connection; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.event.EventListener; import org.springframework.scheduling.annotation.Scheduled; @@ -25,6 +26,8 @@ import java.util.stream.Collectors; public class ChatService { private static final Duration MAX_AGE = Duration.ofHours(1); + @Value("${chat.allowed-servers}") + private String[] allowedServers; private final NavigableMap chatMessages = new TreeMap<>(); private final EventPublisher eventPublisher; @@ -70,6 +73,7 @@ public class ChatService { .collect(Collectors.joining(",", "[", "]")); String jsonMessageList = chatMessageList.stream() .filter(ChatMessage::isNotBlocked) + .filter(chatMessage -> Arrays.asList(allowedServers).contains(chatMessage.getServer())) .map(ChatMessageMapper::toJson) .collect(Collectors.joining(",", "[", "]")); diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties index 3382b7b..4b2f475 100644 --- a/backend/src/main/resources/application.properties +++ b/backend/src/main/resources/application.properties @@ -19,6 +19,7 @@ spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.ssl.enable=true spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory chat.allowed-ip=${ALLOWED_IP:10.0.0.0/24} +chat.allowed-servers=${ALLOWED_SERVERS:bayou,lobby,creative} management.endpoints.web.exposure.include=mappings server.forward-headers-strategy=native server.tomcat.remoteip.remote-ip-header=CF-Connecting-IP