From 59b1c3180f61ea1bd0e96d0f626dcf12588e20aa Mon Sep 17 00:00:00 2001 From: heavyrian2012 Date: Sun, 3 Aug 2025 18:04:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=B0=E5=9C=A8=E5=8F=91=E9=80=81=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=A4=A7=E5=B0=8F=E4=B8=8D=E8=83=BD=E8=B6=85=E8=BF=87?= =?UTF-8?q?64KB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/moquette/imhandler/SendMessageHandler.java | 9 +++++++++ .../src/main/java/cn/wildfirechat/common/ErrorCode.java | 1 + 2 files changed, 10 insertions(+) diff --git a/broker/src/main/java/io/moquette/imhandler/SendMessageHandler.java b/broker/src/main/java/io/moquette/imhandler/SendMessageHandler.java index 8b7390ec..14c6627e 100644 --- a/broker/src/main/java/io/moquette/imhandler/SendMessageHandler.java +++ b/broker/src/main/java/io/moquette/imhandler/SendMessageHandler.java @@ -136,6 +136,15 @@ public class SendMessageHandler extends IMHandler { ErrorCode errorCode = ErrorCode.ERROR_CODE_SUCCESS; boolean isAdmin = requestSourceType == ProtoConstants.RequestSourceType.Request_From_Admin; if (message != null) { + if(message.getContent().getContent().length() + + message.getContent().getSearchableContent().length() + + message.getContent().getData().size() + + message.getContent().getExtra().length() + + message.getContent().getPushContent().length() + + message.getContent().getPushData().length() > 64 * 1024) { + return ErrorCode.ERROR_CODE_MESSAGE_TOO_LARGE; + } + boolean ignoreMsg = false; if (!isAdmin) { //admin do not check the right // 不能在端上直接发送撤回和群通知 diff --git a/common/src/main/java/cn/wildfirechat/common/ErrorCode.java b/common/src/main/java/cn/wildfirechat/common/ErrorCode.java index 1a65c298..bd11b879 100755 --- a/common/src/main/java/cn/wildfirechat/common/ErrorCode.java +++ b/common/src/main/java/cn/wildfirechat/common/ErrorCode.java @@ -49,6 +49,7 @@ public enum ErrorCode { ERROR_CODE_ROBOT_NO_TOKEN(27, "robot no token"), ERROR_CODE_WS_NOT_CONFIGURED_CORRECTLY(28, "ws not configured correctly"), ERROR_CODE_TIME_INCONSISTENT(30, "time inconsistent"), + ERROR_CODE_MESSAGE_TOO_LARGE(35, "message too large"), ERROR_CODE_CONFERENCE_ROOM_NOT_EXIST(60, "conference room not exist"), ERROR_CODE_CONFERENCE_SERVICE_NOT_AVAILABLE(61, "conference service not available"),