From 421003f50a43e79d841438c5ddfb23bcddd974b1 Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Mon, 8 Feb 2016 11:05:32 +0300 Subject: [PATCH 1/2] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0d17d2c..b4ecade 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -#Netty-socketio Overview +Netty-socketio Overview +=== +[![Maven Central](https://img.shields.io/maven-central/v/com.corundumstudio.socketio/netty-socketio.svg?style=flat-square)](https://maven-badges.herokuapp.com/maven-central/com.corundumstudio.socketio/netty-socketio/) This project is an open-source Java implementation of [Socket.IO](http://socket.io/) server. Based on [Netty](http://netty.io/) server framework. From b66bc0f4213e2490543417f61c6f8720fe3f4d0f Mon Sep 17 00:00:00 2001 From: Winston Li Date: Sat, 27 Feb 2016 19:49:20 +0000 Subject: [PATCH 2/2] Fix in src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java: Fix parsing of binary packets in the case where the binary member's placeholder object contains the num and _placeholder members in the opposite order (num, _placeholder instead of _placeholder, num). Some socket.io clients do this and it's valid. --- .../com/corundumstudio/socketio/protocol/PacketDecoder.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java b/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java index fb4e238..1be5e58 100644 --- a/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java +++ b/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java @@ -252,7 +252,11 @@ public class PacketDecoder { ByteBuf scanValue = Unpooled.copiedBuffer("{\"_placeholder\":true,\"num\":" + i + "}", CharsetUtil.UTF_8); int pos = PacketEncoder.find(source, scanValue); if (pos == -1) { - throw new IllegalStateException("Can't find attachment by index: " + i + " in packet source"); + scanValue = Unpooled.copiedBuffer("{\"num\":" + i + ",\"_placeholder\":true}", CharsetUtil.UTF_8); + pos = PacketEncoder.find(source, scanValue); + if (pos == -1) { + throw new IllegalStateException("Can't find attachment by index: " + i + " in packet source"); + } } ByteBuf prefixBuf = source.slice(source.readerIndex(), pos - source.readerIndex());