Commit 36ec5866 authored by Julien Fontanet's avatar Julien Fontanet

chore(lint): add eslint-plugin-node

And fix `new Buffer()` uses.
parent ce47dac9
...@@ -2,13 +2,14 @@ module.exports = { ...@@ -2,13 +2,14 @@ module.exports = {
env: { env: {
node: true, node: true,
}, },
extends: 'eslint:recommended', extends: ['eslint:recommended', 'plugin:node/recommended'],
globals: { globals: {
Promise: true, Promise: true,
}, },
parserOptions: { parserOptions: {
ecmaVersion: 5, ecmaVersion: 5,
}, },
plugins: ['node'],
rules: { rules: {
indent: 'off', indent: 'off',
'linebreak-style': ['error', 'unix'], 'linebreak-style': ['error', 'unix'],
......
...@@ -36,7 +36,7 @@ module.exports = function readFile(filename, options, cb) { ...@@ -36,7 +36,7 @@ module.exports = function readFile(filename, options, cb) {
for (var i = 0; i < file.EndofFile.length; i++) { for (var i = 0; i < file.EndofFile.length; i++) {
fileLength += file.EndofFile[i] * Math.pow(2, i * 8); fileLength += file.EndofFile[i] * Math.pow(2, i * 8);
} }
var result = new Buffer(fileLength); var result = Buffer.allocUnsafe(fileLength);
// callback manager // callback manager
var callback = function(offset) { var callback = function(offset) {
return function(err, content) { return function(err, content) {
......
...@@ -59,7 +59,7 @@ function rename_(connection, file, newPath, cb) { ...@@ -59,7 +59,7 @@ function rename_(connection, file, newPath, cb) {
} }
function renameBuffer(newPath) { function renameBuffer(newPath) {
var filename = new Buffer(newPath, 'ucs2'); var filename = Buffer.from(newPath, 'ucs2');
return Buffer.concat([ return Buffer.concat([
// ReplaceIfExists 1 byte // ReplaceIfExists 1 byte
......
...@@ -29,7 +29,7 @@ module.exports = function writeFile(filename, data, options, cb) { ...@@ -29,7 +29,7 @@ module.exports = function writeFile(filename, data, options, cb) {
file, file,
fileContent = Buffer.isBuffer(data) fileContent = Buffer.isBuffer(data)
? data ? data
: new Buffer(data, options.encoding), : Buffer.from(data, options.encoding),
fileLength = new bigint(8, fileContent.length); fileLength = new bigint(8, fileContent.length);
function createFile(fileCreated) { function createFile(fileCreated) {
......
...@@ -4,7 +4,7 @@ var FILE_OVERWRITE_IF = require('../structures/constants').FILE_OVERWRITE_IF; ...@@ -4,7 +4,7 @@ var FILE_OVERWRITE_IF = require('../structures/constants').FILE_OVERWRITE_IF;
module.exports = message({ module.exports = message({
generate: function(connection, params) { generate: function(connection, params) {
var buffer = new Buffer(params.path, 'ucs2'); var buffer = Buffer.from(params.path, 'ucs2');
var createDisposition = params.createDisposition; var createDisposition = params.createDisposition;
/* See: https://msdn.microsoft.com/en-us/library/cc246502.aspx /* See: https://msdn.microsoft.com/en-us/library/cc246502.aspx
......
...@@ -4,7 +4,7 @@ var constants = require('../structures/constants'); ...@@ -4,7 +4,7 @@ var constants = require('../structures/constants');
module.exports = message({ module.exports = message({
generate: function(connection, params) { generate: function(connection, params) {
var buffer = new Buffer(params.path, 'ucs2'); var buffer = Buffer.from(params.path, 'ucs2');
return new SMB2Message({ return new SMB2Message({
headers: { headers: {
......
...@@ -3,7 +3,7 @@ var SMB2Message = require('../tools/smb2-message'), ...@@ -3,7 +3,7 @@ var SMB2Message = require('../tools/smb2-message'),
module.exports = message({ module.exports = message({
generate: function(connection, params) { generate: function(connection, params) {
var buffer = new Buffer(params.path, 'ucs2'); var buffer = Buffer.from(params.path, 'ucs2');
return new SMB2Message({ return new SMB2Message({
headers: { headers: {
......
...@@ -4,7 +4,7 @@ var constants = require('../structures/constants'); ...@@ -4,7 +4,7 @@ var constants = require('../structures/constants');
module.exports = message({ module.exports = message({
generate: function(connection, params) { generate: function(connection, params) {
var buffer = new Buffer(params.path, 'ucs2'); var buffer = Buffer.from(params.path, 'ucs2');
return new SMB2Message({ return new SMB2Message({
headers: { headers: {
......
...@@ -12,7 +12,7 @@ module.exports = message({ ...@@ -12,7 +12,7 @@ module.exports = message({
}, },
request: { request: {
FileId: params.FileId, FileId: params.FileId,
Buffer: new Buffer('*', 'ucs2'), Buffer: Buffer.from('*', 'ucs2'),
}, },
}); });
}, },
......
...@@ -10,7 +10,7 @@ module.exports = message({ ...@@ -10,7 +10,7 @@ module.exports = message({
ProcessId: connection.ProcessId, ProcessId: connection.ProcessId,
}, },
request: { request: {
Buffer: new Buffer(connection.fullPath, 'ucs2'), Buffer: Buffer.from(connection.fullPath, 'ucs2'),
}, },
}); });
}, },
......
...@@ -60,7 +60,7 @@ var SMB = (module.exports = function(opt) { ...@@ -60,7 +60,7 @@ var SMB = (module.exports = function(opt) {
// set the process id // set the process id
// https://msdn.microsoft.com/en-us/library/ff470100.aspx // https://msdn.microsoft.com/en-us/library/ff470100.aspx
this.ProcessId = new Buffer([ this.ProcessId = Buffer.from([
Math.floor(Math.random() * 256) & 0xff, Math.floor(Math.random() * 256) & 0xff,
Math.floor(Math.random() * 256) & 0xff, Math.floor(Math.random() * 256) & 0xff,
Math.floor(Math.random() * 256) & 0xff, Math.floor(Math.random() * 256) & 0xff,
......
...@@ -7,7 +7,7 @@ module.exports = { ...@@ -7,7 +7,7 @@ module.exports = {
['Capabilities', 4, 0], ['Capabilities', 4, 0],
['ClientGuid', 16, 0], ['ClientGuid', 16, 0],
['ClientStartTime', 8, 0], ['ClientStartTime', 8, 0],
['Dialects', 4, new Buffer([0x02, 0x02, 0x10, 0x02])], ['Dialects', 4, Buffer.from([0x02, 0x02, 0x10, 0x02])],
], ],
response: [ response: [
......
var BigInt = (module.exports = function(n, v) { var BigInt = (module.exports = function(n, v) {
if (BigInt.isBigInt(n)) { if (BigInt.isBigInt(n)) {
this.buffer = new Buffer(n.buffer.length); this.buffer = Buffer.allocUnsafe(n.buffer.length);
n.buffer.copy(this.buffer, 0); n.buffer.copy(this.buffer, 0);
this.sign = n.sign; this.sign = n.sign;
} else { } else {
this.buffer = new Buffer(n); this.buffer = Buffer.alloc(n);
this.buffer.fill(0);
this.sign = 1; this.sign = 1;
v = v || 0; v = v || 0;
...@@ -143,7 +142,7 @@ BigInt.prototype.toBuffer = function() { ...@@ -143,7 +142,7 @@ BigInt.prototype.toBuffer = function() {
}; };
BigInt.prototype.toNumber = function() { BigInt.prototype.toNumber = function() {
var b = new Buffer(this.buffer.length); var b = Buffer.allocUnsafe(this.buffer.length);
for (var i = 0; i < this.buffer.length; i++) { for (var i = 0; i < this.buffer.length; i++) {
b.writeUInt8(this.buffer.readUInt8(this.buffer.length - i - 1), i); b.writeUInt8(this.buffer.readUInt8(this.buffer.length - i - 1), i);
......
...@@ -30,7 +30,7 @@ SMB2Forge.request = function(messageName, params, connection, cb) { ...@@ -30,7 +30,7 @@ SMB2Forge.request = function(messageName, params, connection, cb) {
SMB2Forge.response = function(c) { SMB2Forge.response = function(c) {
c.responses = {}; c.responses = {};
c.responsesCB = {}; c.responsesCB = {};
c.responseBuffer = new Buffer(0); c.responseBuffer = Buffer.allocUnsafe(0);
return function(response) { return function(response) {
// concat new response // concat new response
c.responseBuffer = Buffer.concat([c.responseBuffer, response]); c.responseBuffer = Buffer.concat([c.responseBuffer, response]);
...@@ -86,7 +86,7 @@ function sendNetBiosMessage(connection, message) { ...@@ -86,7 +86,7 @@ function sendNetBiosMessage(connection, message) {
} }
// create NetBios package // create NetBios package
var buffer = new Buffer(smbRequest.length + 4); var buffer = Buffer.allocUnsafe(smbRequest.length + 4);
// write NetBios cmd // write NetBios cmd
buffer.writeUInt8(0x00, 0); buffer.writeUInt8(0x00, 0);
...@@ -106,7 +106,7 @@ function sendNetBiosMessage(connection, message) { ...@@ -106,7 +106,7 @@ function sendNetBiosMessage(connection, message) {
} }
function getResponse(c, mId, cb) { function getResponse(c, mId, cb) {
var messageId = new Buffer(4); var messageId = Buffer.allocUnsafe(4);
messageId.writeUInt32LE(mId, 0); messageId.writeUInt32LE(mId, 0);
messageId = messageId.toString('hex'); messageId = messageId.toString('hex');
if (c.responses[messageId]) { if (c.responses[messageId]) {
......
/* /*
* CONSTANTS * CONSTANTS
*/ */
var protocolId = new Buffer([ var protocolId = Buffer.from([
0xfe, 0xfe,
'S'.charCodeAt(0), 'S'.charCodeAt(0),
'M'.charCodeAt(0), 'M'.charCodeAt(0),
...@@ -119,7 +119,7 @@ proto.getResponse = function() { ...@@ -119,7 +119,7 @@ proto.getResponse = function() {
}; };
proto.getBuffer = function(connection) { proto.getBuffer = function(connection) {
var buffer = new Buffer(0xffff), var buffer = Buffer.allocUnsafe(0xffff),
length = 0; length = 0;
// SET MESSAGE ID // SET MESSAGE ID
...@@ -135,7 +135,7 @@ proto.getBuffer = function(connection) { ...@@ -135,7 +135,7 @@ proto.getBuffer = function(connection) {
length += writeRequest(this, buffer, headerLength); length += writeRequest(this, buffer, headerLength);
// extract the data // extract the data
var output = new Buffer(length); var output = Buffer.allocUnsafe(length);
buffer.copy(output, 0, 0, length); buffer.copy(output, 0, 0, length);
return output; return output;
}; };
...@@ -159,11 +159,11 @@ function dataToBuffer(data, length) { ...@@ -159,11 +159,11 @@ function dataToBuffer(data, length) {
// string to buffer // string to buffer
if (typeof data == 'string') { if (typeof data == 'string') {
return new Buffer(data); return Buffer.from(data);
} }
// raw data to buffer // raw data to buffer
var result = new Buffer(length); var result = Buffer.allocUnsafe(length);
for (var i = 0; i < length; i++) { for (var i = 0; i < length; i++) {
result.writeUInt8(0xff & (data >> (i * 8)), i); result.writeUInt8(0xff & (data >> (i * 8)), i);
} }
...@@ -268,7 +268,7 @@ function readResponse(message, buffer, offset) { ...@@ -268,7 +268,7 @@ function readResponse(message, buffer, offset) {
function writeRequest(message, buffer, offset) { function writeRequest(message, buffer, offset) {
var initOffset = offset, var initOffset = offset,
needsRewrite = false, needsRewrite = false,
tmpBuffer = new Buffer(buffer.length); tmpBuffer = Buffer.allocUnsafe(buffer.length);
offset = 0; offset = 0;
for (var i in message.structure.request) { for (var i in message.structure.request) {
var key = message.structure.request[i][0], var key = message.structure.request[i][0],
......
...@@ -889,6 +889,55 @@ ...@@ -889,6 +889,55 @@
} }
} }
}, },
"eslint-plugin-es": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.3.1.tgz",
"integrity": "sha512-9XcVyZiQRVeFjqHw8qHNDAZcQLqaHlOGGpeYqzYh8S4JYCWTCO3yzyen8yVmA5PratfzTRWDwCOFphtDEG+w/w==",
"dev": true,
"requires": {
"eslint-utils": "^1.3.0",
"regexpp": "^2.0.0"
},
"dependencies": {
"regexpp": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz",
"integrity": "sha512-g2FAVtR8Uh8GO1Nv5wpxW7VFVwHcCEr4wyA8/MHiRkO8uHoR5ntAA8Uq3P1vvMTX/BeQiRVSpDGLd+Wn5HNOTA==",
"dev": true
}
}
},
"eslint-plugin-node": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz",
"integrity": "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==",
"dev": true,
"requires": {
"eslint-plugin-es": "^1.3.1",
"eslint-utils": "^1.3.1",
"ignore": "^4.0.2",
"minimatch": "^3.0.4",
"resolve": "^1.8.1",
"semver": "^5.5.0"
},
"dependencies": {
"ignore": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.3.tgz",
"integrity": "sha512-Z/vAH2GGIEATQnBVXMclE2IGV6i0GyVngKThcGZ5kHgHMxLo9Ow2+XHRq1aEKEej5vOF1TPJNbvX6J/anT0M7A==",
"dev": true
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
}
}
},
"eslint-scope": { "eslint-scope": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
...@@ -1137,14 +1186,12 @@ ...@@ -1137,14 +1186,12 @@
"balanced-match": { "balanced-match": {
"version": "1.0.0", "version": "1.0.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"brace-expansion": { "brace-expansion": {
"version": "1.1.11", "version": "1.1.11",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"balanced-match": "^1.0.0", "balanced-match": "^1.0.0",
"concat-map": "0.0.1" "concat-map": "0.0.1"
...@@ -1159,20 +1206,17 @@ ...@@ -1159,20 +1206,17 @@
"code-point-at": { "code-point-at": {
"version": "1.1.0", "version": "1.1.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"console-control-strings": { "console-control-strings": {
"version": "1.1.0", "version": "1.1.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"core-util-is": { "core-util-is": {
"version": "1.0.2", "version": "1.0.2",
...@@ -1289,8 +1333,7 @@ ...@@ -1289,8 +1333,7 @@
"inherits": { "inherits": {
"version": "2.0.3", "version": "2.0.3",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"ini": { "ini": {
"version": "1.3.5", "version": "1.3.5",
...@@ -1302,7 +1345,6 @@ ...@@ -1302,7 +1345,6 @@
"version": "1.0.0", "version": "1.0.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"number-is-nan": "^1.0.0" "number-is-nan": "^1.0.0"
} }
...@@ -1317,7 +1359,6 @@ ...@@ -1317,7 +1359,6 @@
"version": "3.0.4", "version": "3.0.4",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"brace-expansion": "^1.1.7" "brace-expansion": "^1.1.7"
} }
...@@ -1325,14 +1366,12 @@ ...@@ -1325,14 +1366,12 @@
"minimist": { "minimist": {
"version": "0.0.8", "version": "0.0.8",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"minipass": { "minipass": {
"version": "2.2.4", "version": "2.2.4",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"safe-buffer": "^5.1.1", "safe-buffer": "^5.1.1",
"yallist": "^3.0.0" "yallist": "^3.0.0"
...@@ -1351,7 +1390,6 @@ ...@@ -1351,7 +1390,6 @@
"version": "0.5.1", "version": "0.5.1",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"minimist": "0.0.8" "minimist": "0.0.8"
} }
...@@ -1432,8 +1470,7 @@ ...@@ -1432,8 +1470,7 @@
"number-is-nan": { "number-is-nan": {
"version": "1.0.1", "version": "1.0.1",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"object-assign": { "object-assign": {
"version": "4.1.1", "version": "4.1.1",
...@@ -1445,7 +1482,6 @@ ...@@ -1445,7 +1482,6 @@
"version": "1.4.0", "version": "1.4.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"wrappy": "1" "wrappy": "1"
} }
...@@ -1567,7 +1603,6 @@ ...@@ -1567,7 +1603,6 @@
"version": "1.0.2", "version": "1.0.2",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"code-point-at": "^1.0.0", "code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0", "is-fullwidth-code-point": "^1.0.0",
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
"homepage": "https://github.com/marsaud/node-smb2", "homepage": "https://github.com/marsaud/node-smb2",
"version": "0.8.0", "version": "0.8.0",
"engines": { "engines": {
"node": ">=4" "node": ">=5.10"
}, },
"author": { "author": {
"name": "Benjamin Chelli", "name": "Benjamin Chelli",
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
"devDependencies": { "devDependencies": {
"babel": "^5.8.34", "babel": "^5.8.34",
"eslint": "^5.0.1", "eslint": "^5.0.1",
"eslint-plugin-node": "^7.0.1",
"prettier": "^1.13.7", "prettier": "^1.13.7",
"source-map-support": "^0.4.0" "source-map-support": "^0.4.0"
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment