Skip to content

Commit

Permalink
fix: use random string when failing to get MAC address for signature
Browse files Browse the repository at this point in the history
We use a local MAC address to randomise sha1 to sign the message. In case MAC address is unreadable (CI env, for example), we defaulted to a random number, causing a crash in crypto.

Using `Math.random` is probably as random as `uuid`, but `crypto.createHash('sha1').update(mac)` requires a Buffer or a String, and not a number.
  • Loading branch information
Anton Drukh committed Mar 30, 2017
1 parent de88be6 commit d78693d
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion lib/analytics.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ var os = require('os');
var osName = require('os-name');
var interfaces = os.networkInterfaces() || os.getNetworkInterfaces();
var crypto = require('crypto');
var uuid = require('uuid');

var metadata = {};

Expand Down Expand Up @@ -48,7 +49,7 @@ function postAnalytics(data) {
data.os = osName(os.platform(), os.release());
data.nodeVersion = process.version;

var mac = getMAC() || Math.random(); // ¯\_(ツ)_/¯
var mac = getMAC() || uuid.v4();
var shasum = crypto.createHash('sha1');
data.id = shasum.update(mac).digest('hex');

Expand Down

0 comments on commit d78693d

Please sign in to comment.