Browse Source

"invalid namespace" message in case of wrong namespace name received from client

master
Nikita 11 years ago
parent
commit
b82a465c8f
  1. 8
      src/main/java/com/corundumstudio/socketio/handler/InPacketHandler.java
  2. 12
      src/main/java/com/corundumstudio/socketio/protocol/PacketEncoder.java

8
src/main/java/com/corundumstudio/socketio/handler/InPacketHandler.java

@ -68,6 +68,14 @@ public class InPacketHandler extends SimpleChannelInboundHandler<PacketsMessage>
}
Namespace ns = namespacesHub.get(packet.getNsp());
if (ns == null) {
if (packet.getSubType() == PacketType.CONNECT) {
Packet p = new Packet(PacketType.MESSAGE);
p.setSubType(PacketType.ERROR);
p.setNsp(packet.getNsp());
p.setData("Invalid namespace");
client.send(p);
return;
}
log.debug("Can't find namespace for endpoint: {}, sessionId: {} probably it was removed.", packet.getNsp(), client.getSessionId());
return;
}

12
src/main/java/com/corundumstudio/socketio/protocol/PacketEncoder.java

@ -249,14 +249,18 @@ public class PacketEncoder {
ByteBuf encBuf = null;
if (packet.getSubType() == PacketType.ERROR) {
encBuf = allocateBuffer(allocator);
ByteBufOutputStream out = new ByteBufOutputStream(encBuf);
jsonSupport.writeValue(out, packet.getData());
}
if (packet.getSubType() == PacketType.EVENT
|| packet.getSubType() == PacketType.ACK
|| packet.getSubType() == PacketType.ERROR) {
|| packet.getSubType() == PacketType.ACK) {
List<Object> values = new ArrayList<Object>();
if (packet.getSubType() == PacketType.EVENT
|| packet.getSubType() == PacketType.ERROR) {
if (packet.getSubType() == PacketType.EVENT) {
values.add(packet.getName());
}

Loading…
Cancel
Save