[Pkg-javascript-commits] [node-cipher-base] 01/13: use safe-buffer
Bastien Roucariès
rouca at moszumanska.debian.org
Sat Aug 12 21:30:55 UTC 2017
This is an automated email from the git hooks/post-receive script.
rouca pushed a commit to branch master
in repository node-cipher-base.
commit 193bbeb0d60ff206b072d4e18b32fcf150eb0fad
Author: Daniel Cousens <github at dcousens.com>
Date: Wed May 24 17:02:24 2017 +1000
use safe-buffer
---
index.js | 31 ++++++++++++++++++-------------
package.json | 4 +++-
test.js | 17 ++++++++++-------
3 files changed, 31 insertions(+), 21 deletions(-)
diff --git a/index.js b/index.js
index 1a661d6..13bed28 100644
--- a/index.js
+++ b/index.js
@@ -1,8 +1,8 @@
+var Buffer = require('safe-buffer').Buffer
var Transform = require('stream').Transform
-var inherits = require('inherits')
var StringDecoder = require('string_decoder').StringDecoder
-module.exports = CipherBase
-inherits(CipherBase, Transform)
+var inherits = require('inherits')
+
function CipherBase (hashMode) {
Transform.call(this)
this.hashMode = typeof hashMode === 'string'
@@ -14,22 +14,24 @@ function CipherBase (hashMode) {
this._decoder = null
this._encoding = null
}
+inherits(CipherBase, Transform)
+
CipherBase.prototype.update = function (data, inputEnc, outputEnc) {
if (typeof data === 'string') {
- data = new Buffer(data, inputEnc)
+ data = Buffer.from(data, inputEnc)
}
+
var outData = this._update(data)
- if (this.hashMode) {
- return this
- }
+ if (this.hashMode) return this
+
if (outputEnc) {
outData = this._toString(outData, outputEnc)
}
+
return outData
}
CipherBase.prototype.setAutoPadding = function () {}
-
CipherBase.prototype.getAuthTag = function () {
throw new Error('trying to get auth tag in unsupported state')
}
@@ -62,9 +64,9 @@ CipherBase.prototype._flush = function (done) {
this.push(this._final())
} catch (e) {
err = e
- } finally {
- done(err)
}
+
+ done(err)
}
CipherBase.prototype._finalOrDigest = function (outputEnc) {
var outData = this._final() || new Buffer('')
@@ -79,12 +81,15 @@ CipherBase.prototype._toString = function (value, enc, fin) {
this._decoder = new StringDecoder(enc)
this._encoding = enc
}
- if (this._encoding !== enc) {
- throw new Error('can\'t switch encodings')
- }
+
+ if (this._encoding !== enc) throw new Error('can\'t switch encodings')
+
var out = this._decoder.write(value)
if (fin) {
out += this._decoder.end()
}
+
return out
}
+
+module.exports = CipherBase
diff --git a/package.json b/package.json
index 1203f7d..2caff01 100644
--- a/package.json
+++ b/package.json
@@ -21,9 +21,11 @@
},
"homepage": "https://github.com/crypto-browserify/cipher-base#readme",
"dependencies": {
- "inherits": "^2.0.1"
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
},
"devDependencies": {
+ "standard": "^10.0.2",
"tap-spec": "^4.1.0",
"tape": "^4.2.0"
}
diff --git a/test.js b/test.js
index 57d144a..29d3492 100644
--- a/test.js
+++ b/test.js
@@ -1,12 +1,14 @@
-var test = require('tape')
+var Buffer = require('safe-buffer').Buffer
var CipherBase = require('./')
+
+var test = require('tape')
var inherits = require('inherits')
test('basic version', function (t) {
- inherits(Cipher, CipherBase)
function Cipher () {
CipherBase.call(this)
}
+ inherits(Cipher, CipherBase)
Cipher.prototype._update = function (input) {
t.ok(Buffer.isBuffer(input))
return input
@@ -17,16 +19,16 @@ test('basic version', function (t) {
var cipher = new Cipher()
var utf8 = 'abc123abcd'
var update = cipher.update(utf8, 'utf8', 'base64') + cipher.final('base64')
- var string = (new Buffer(update, 'base64')).toString()
+ var string = (Buffer.from(update, 'base64')).toString()
t.equals(utf8, string)
t.end()
})
test('hash mode', function (t) {
- inherits(Cipher, CipherBase)
function Cipher () {
CipherBase.call(this, 'finalName')
this._cache = []
}
+ inherits(Cipher, CipherBase)
Cipher.prototype._update = function (input) {
t.ok(Buffer.isBuffer(input))
this._cache.push(input)
@@ -37,17 +39,17 @@ test('hash mode', function (t) {
var cipher = new Cipher()
var utf8 = 'abc123abcd'
var update = cipher.update(utf8, 'utf8').finalName('base64')
- var string = (new Buffer(update, 'base64')).toString()
+ var string = (Buffer.from(update, 'base64')).toString()
t.equals(utf8, string)
t.end()
})
test('hash mode as stream', function (t) {
- inherits(Cipher, CipherBase)
function Cipher () {
CipherBase.call(this, 'finalName')
this._cache = []
}
+ inherits(Cipher, CipherBase)
Cipher.prototype._update = function (input) {
t.ok(Buffer.isBuffer(input))
this._cache.push(input)
@@ -62,11 +64,12 @@ test('hash mode as stream', function (t) {
var utf8 = 'abc123abcd'
cipher.end(utf8, 'utf8')
var update = cipher.read().toString('base64')
- var string = (new Buffer(update, 'base64')).toString()
+ var string = (Buffer.from(update, 'base64')).toString()
t.equals(utf8, string)
t.end()
})
+
test('encodings', function (t) {
inherits(Cipher, CipherBase)
function Cipher () {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-cipher-base.git
More information about the Pkg-javascript-commits
mailing list