From b60df56157ee1fd0bd4938799bac05a62fda91a1 Mon Sep 17 00:00:00 2001 From: lookshe Date: Sat, 14 Mar 2015 20:45:20 +0100 Subject: initial commit from working version --- .../socket.io/node_modules/base64id/.npmignore | 3 + .../socket.io/node_modules/base64id/README.md | 18 ++++ .../node_modules/base64id/lib/base64id.js | 103 +++++++++++++++++++++ .../socket.io/node_modules/base64id/package.json | 43 +++++++++ 4 files changed, 167 insertions(+) create mode 100644 signaling-server/node_modules/socket.io/node_modules/base64id/.npmignore create mode 100644 signaling-server/node_modules/socket.io/node_modules/base64id/README.md create mode 100644 signaling-server/node_modules/socket.io/node_modules/base64id/lib/base64id.js create mode 100644 signaling-server/node_modules/socket.io/node_modules/base64id/package.json (limited to 'signaling-server/node_modules/socket.io/node_modules/base64id') diff --git a/signaling-server/node_modules/socket.io/node_modules/base64id/.npmignore b/signaling-server/node_modules/socket.io/node_modules/base64id/.npmignore new file mode 100644 index 0000000..39e9864 --- /dev/null +++ b/signaling-server/node_modules/socket.io/node_modules/base64id/.npmignore @@ -0,0 +1,3 @@ +support +test +examples diff --git a/signaling-server/node_modules/socket.io/node_modules/base64id/README.md b/signaling-server/node_modules/socket.io/node_modules/base64id/README.md new file mode 100644 index 0000000..b4361c1 --- /dev/null +++ b/signaling-server/node_modules/socket.io/node_modules/base64id/README.md @@ -0,0 +1,18 @@ +base64id +======== + +Node.js module that generates a base64 id. + +Uses crypto.randomBytes when available, falls back to unsafe methods for node.js <= 0.4. + +To increase performance, random bytes are buffered to minimize the number of synchronous calls to crypto.randomBytes. + +## Installation + + $ npm install mongoose + +## Usage + + var base64id = require('base64id'); + + var id = base64id.generateId(); diff --git a/signaling-server/node_modules/socket.io/node_modules/base64id/lib/base64id.js b/signaling-server/node_modules/socket.io/node_modules/base64id/lib/base64id.js new file mode 100644 index 0000000..f688159 --- /dev/null +++ b/signaling-server/node_modules/socket.io/node_modules/base64id/lib/base64id.js @@ -0,0 +1,103 @@ +/*! + * base64id v0.1.0 + */ + +/** + * Module dependencies + */ + +var crypto = require('crypto'); + +/** + * Constructor + */ + +var Base64Id = function() { }; + +/** + * Get random bytes + * + * Uses a buffer if available, falls back to crypto.randomBytes + */ + +Base64Id.prototype.getRandomBytes = function(bytes) { + + var BUFFER_SIZE = 4096 + var self = this; + + bytes = bytes || 12; + + if (bytes > BUFFER_SIZE) { + return crypto.randomBytes(bytes); + } + + var bytesInBuffer = parseInt(BUFFER_SIZE/bytes); + var threshold = parseInt(bytesInBuffer*0.85); + + if (!threshold) { + return crypto.randomBytes(bytes); + } + + if (this.bytesBufferIndex == null) { + this.bytesBufferIndex = -1; + } + + if (this.bytesBufferIndex == bytesInBuffer) { + this.bytesBuffer = null; + this.bytesBufferIndex = -1; + } + + // No buffered bytes available or index above threshold + if (this.bytesBufferIndex == -1 || this.bytesBufferIndex > threshold) { + + if (!this.isGeneratingBytes) { + this.isGeneratingBytes = true; + crypto.randomBytes(BUFFER_SIZE, function(err, bytes) { + self.bytesBuffer = bytes; + self.bytesBufferIndex = 0; + self.isGeneratingBytes = false; + }); + } + + // Fall back to sync call when no buffered bytes are available + if (this.bytesBufferIndex == -1) { + return crypto.randomBytes(bytes); + } + } + + var result = this.bytesBuffer.slice(bytes*this.bytesBufferIndex, bytes*(this.bytesBufferIndex+1)); + this.bytesBufferIndex++; + + return result; +} + +/** + * Generates a base64 id + * + * (Original version from socket.io ) + */ + +Base64Id.prototype.generateId = function () { + var rand = new Buffer(15); // multiple of 3 for base64 + if (!rand.writeInt32BE) { + return Math.abs(Math.random() * Math.random() * Date.now() | 0).toString() + + Math.abs(Math.random() * Math.random() * Date.now() | 0).toString(); + } + this.sequenceNumber = (this.sequenceNumber + 1) | 0; + rand.writeInt32BE(this.sequenceNumber, 11); + if (crypto.randomBytes) { + this.getRandomBytes(12).copy(rand); + } else { + // not secure for node 0.4 + [0, 4, 8].forEach(function(i) { + rand.writeInt32BE(Math.random() * Math.pow(2, 32) | 0, i); + }); + } + return rand.toString('base64').replace(/\//g, '_').replace(/\+/g, '-'); +}; + +/** + * Export + */ + +exports = module.exports = new Base64Id(); diff --git a/signaling-server/node_modules/socket.io/node_modules/base64id/package.json b/signaling-server/node_modules/socket.io/node_modules/base64id/package.json new file mode 100644 index 0000000..c7f179d --- /dev/null +++ b/signaling-server/node_modules/socket.io/node_modules/base64id/package.json @@ -0,0 +1,43 @@ +{ + "name": "base64id", + "version": "0.1.0", + "description": "Generates a base64 id", + "author": { + "name": "Kristian Faeldt", + "email": "faeldt_kristian@cyberagent.co.jp" + }, + "repository": { + "type": "git", + "url": "git://github.com/faeldt/base64id.git" + }, + "main": "./lib/base64id.js", + "engines": { + "node": ">= 0.4.0" + }, + "_npmUser": { + "name": "faeldt_kristian", + "email": "faeldt_kristian@cyberagent.co.jp" + }, + "_id": "base64id@0.1.0", + "dependencies": {}, + "devDependencies": {}, + "optionalDependencies": {}, + "_engineSupported": true, + "_npmVersion": "1.1.16", + "_nodeVersion": "v0.6.15", + "_defaultsLoaded": true, + "dist": { + "shasum": "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f", + "tarball": "http://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz" + }, + "maintainers": [ + { + "name": "faeldt_kristian", + "email": "faeldt_kristian@cyberagent.co.jp" + } + ], + "directories": {}, + "_shasum": "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f", + "_from": "base64id@0.1.0", + "_resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz" +} -- cgit v1.2.3