diff options
author | Joel Martin <jmartin@sentryds.com> | 2010-06-24 17:22:23 -0500 |
---|---|---|
committer | Joel Martin <jmartin@sentryds.com> | 2010-06-24 17:22:23 -0500 |
commit | 79e646611ba35f38060b3dd42fbfcfaeb92253ee (patch) | |
tree | 602fd2a5472e639b9e66b6664026158633f9e70e | |
parent | 758bab61d114ec26decc2f26924f55d5741a90b4 (diff) | |
download | web-socket-js-79e646611ba35f38060b3dd42fbfcfaeb92253ee.tar.gz |
Remove invalid check of 'pos'.
This check causes the new (hixie-76) WebSockets protocol check to
hang.
-rw-r--r-- | flash-src/WebSocket.as | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/flash-src/WebSocket.as b/flash-src/WebSocket.as index 75083d7..b066fff 100644 --- a/flash-src/WebSocket.as +++ b/flash-src/WebSocket.as @@ -155,6 +155,7 @@ public class WebSocket extends EventDispatcher { main.log("request header:\n" + req); socket.writeUTFBytes(req); main.log("sent key3: " + key3); + main.log("expected digest: " + expectedDigest); writeBytes(key3); socket.flush(); } @@ -218,20 +219,18 @@ public class WebSocket extends EventDispatcher { pos = -1; } } else if (headerState == 4) { - if (pos == 15) { - var replyDigest:String = readBytes(buffer, 16); - main.log("reply digest: " + replyDigest); - if (replyDigest != expectedDigest) { - onError("digest doesn't match: " + replyDigest + " != " + expectedDigest); - return; - } - headerState = 5; - makeBufferCompact(); - pos = -1; - readyState = OPEN; - notifyStateChange(); - dispatchEvent(new Event("open")); + var replyDigest:String = readBytes(buffer, 16); + main.log("reply digest: " + replyDigest); + if (replyDigest != expectedDigest) { + onError("digest doesn't match: " + replyDigest + " != " + expectedDigest); + return; } + headerState = 5; + makeBufferCompact(); + pos = -1; + readyState = OPEN; + notifyStateChange(); + dispatchEvent(new Event("open")); } else { if (buffer[pos] == 0xff) { if (buffer.readByte() != 0x00) { |