From 0de9e7ece8689b25372d15a8bc5a271f5519c142 Mon Sep 17 00:00:00 2001 From: Jack Allnutt Date: Sat, 6 Sep 2014 04:04:30 +0100 Subject: [PATCH] Jack Allnutt Update engine.io(-client) from 1.3.1 to 1.4.0 --- client/assets/libs/engine.io.js | 233 ++++++++++++++++++++++++-------- package.json | 2 +- 2 files changed, 176 insertions(+), 59 deletions(-) diff --git a/client/assets/libs/engine.io.js b/client/assets/libs/engine.io.js index 1736807..a43ae9f 100644 --- a/client/assets/libs/engine.io.js +++ b/client/assets/libs/engine.io.js @@ -1,4 +1,4 @@ -!function(e){if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.eio=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 0) { var tailArray = new Uint8Array(bufferTail); var isString = tailArray[0] === 0; var msgLength = ''; + for (var i = 1; ; i++) { if (tailArray[i] == 255) break; + + if (msgLength.length > 310) { + numberTooLong = true; + break; + } + msgLength += tailArray[i]; } + + if(numberTooLong) return callback(err, 0, 1); + bufferTail = sliceBuffer(bufferTail, 2 + msgLength.length); msgLength = parseInt(msgLength); @@ -2804,13 +2906,14 @@ exports.decodePayloadAsBinary = function (data, binaryType, callback) { } } } + buffers.push(msg); bufferTail = sliceBuffer(bufferTail, msgLength); } var total = buffers.length; buffers.forEach(function(buffer, i) { - callback(exports.decodePacket(buffer, binaryType), i, total); + callback(exports.decodePacket(buffer, binaryType, true), i, total); }); }; @@ -3332,20 +3435,34 @@ exports.decode = function(qs){ var re = /^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/; var parts = [ - 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host' - , 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor' + 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor' ]; module.exports = function parseuri(str) { - var m = re.exec(str || '') - , uri = {} - , i = 14; + var src = str, + b = str.indexOf('['), + e = str.indexOf(']'); - while (i--) { - uri[parts[i]] = m[i] || ''; - } + if (b != -1 && e != -1) { + str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length); + } + + var m = re.exec(str || ''), + uri = {}, + i = 14; + + while (i--) { + uri[parts[i]] = m[i] || ''; + } + + if (b != -1 && e != -1) { + uri.source = src; + uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':'); + uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':'); + uri.ipv6uri = true; + } - return uri; + return uri; }; },{}],27:[function(_dereq_,module,exports){ diff --git a/package.json b/package.json index 42f8c02..9538dac 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "dependencies": { "node-static": "0.7.4", "uglify-js": "2.4.15", - "engine.io": "^1.3.1", + "engine.io": "^1.4.0", "lodash": "2.4.1", "daemonize2": "0.4.2", "eventemitter2": "0.4.14", -- 2.25.1