diff --git a/broker/src/main/java/io/moquette/imhandler/SendMessageHandler.java b/broker/src/main/java/io/moquette/imhandler/SendMessageHandler.java index 463017c7..3bdf2c12 100644 --- a/broker/src/main/java/io/moquette/imhandler/SendMessageHandler.java +++ b/broker/src/main/java/io/moquette/imhandler/SendMessageHandler.java @@ -182,6 +182,15 @@ public class SendMessageHandler extends IMHandler { } } } + } else if (message.getConversation().getType() == ProtoConstants.ConversationType.ConversationType_Group) { + if(m_messagesStore.getGroupInfo(message.getConversation().getTarget()) == null) { + return ErrorCode.ERROR_CODE_NOT_EXIST; + } + } else if (message.getConversation().getType() == ProtoConstants.ConversationType.ConversationType_Channel) { + WFCMessage.ChannelInfo channelData = m_messagesStore.getChannelInfo(message.getConversation().getTarget()); + if(channelData == null || channelData.getStatus() == ProtoConstants.ChannelState.Channel_State_Mask_Deleted) { + return ErrorCode.ERROR_CODE_NOT_EXIST; + } } long timestamp = System.currentTimeMillis();