Merge pull request +15087 from c9/vfs-ide-kaefer-crypto

Use strong random number to compute kaefer connection ID
This commit is contained in:
Fabian Jakobs 2016-12-20 15:47:34 +01:00 committed by GitHub
commit 50847d1caf
2 changed files with 13 additions and 8 deletions

13
node_modules/kaefer/lib/server.js generated vendored
View File

@ -22,6 +22,7 @@
var util = require("./util");
var EventEmitter = require("events").EventEmitter;
var crypto = require("crypto");
var ReliableSocket = require("./reliable_socket");
var ReconnectSocket = require("./reconnect_socket");
@ -78,7 +79,7 @@ Server.prototype.getConnection = function(id) {
}
}
id = util.uid();
id = generateUid(10);
transport = this.sockets[id] = new ReliableSocket(new ReconnectSocket(), this.socketOptions);
transport.on("disconnect", this.disconnect.bind(this, transport));
transport.id = id;
@ -92,4 +93,12 @@ Server.prototype.disconnect = function(transport) {
transport.close();
this.emit("disconnect", transport);
}
};
};
function generateUid(length) {
return (crypto
.randomBytes(length)
.toString("base64")
.slice(0, length)
);
}

8
node_modules/kaefer/lib/util.js generated vendored
View File

@ -2,10 +2,6 @@ define(function(require, exports, module) {
exports.inherits = function(Child, Parent) {
Child.prototype = Object.create(Parent.prototype, { constructor: { value: Child }});
}
};
exports.uid = function() {
return (Date.now() + Math.random() * 0x100000000).toString(36) + (Math.random() * 0x100000000).toString(36);
}
});
});