From 2b5dfb99f8f865362ddc0a17f52e8b70269d7572 Mon Sep 17 00:00:00 2001 From: Damien Arrachequesne Date: Fri, 11 Dec 2020 15:02:48 +0100 Subject: [PATCH] fix: check the type of the initial packet Before this fix, the client could mark the polling transport as open even though the handshake packet was not received properly (for example, after a parsing error). See also: https://github.com/socketio/engine.io-client/commit/1c8cba8818e930205918a70f05c1164865842a48 --- src/main/java/io/socket/engineio/client/transports/Polling.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/socket/engineio/client/transports/Polling.java b/src/main/java/io/socket/engineio/client/transports/Polling.java index 9aa73cc..3ac62f2 100644 --- a/src/main/java/io/socket/engineio/client/transports/Polling.java +++ b/src/main/java/io/socket/engineio/client/transports/Polling.java @@ -114,7 +114,7 @@ abstract public class Polling extends Transport { Parser.DecodePayloadCallback callback = new Parser.DecodePayloadCallback() { @Override public boolean call(Packet packet, int index, int total) { - if (self.readyState == ReadyState.OPENING) { + if (self.readyState == ReadyState.OPENING && Packet.OPEN.equals(packet.type)) { self.onOpen(); }