mirror of
https://github.com/henrywhitaker3/Speedtest-Tracker.git
synced 2025-12-31 01:57:20 +01:00
Updated to v1.9.9
This commit is contained in:
24
conf/site/node_modules/node-forge/lib/cipherModes.js
generated
vendored
24
conf/site/node_modules/node-forge/lib/cipherModes.js
generated
vendored
@@ -119,7 +119,7 @@ modes.cbc.prototype.start = function(options) {
|
||||
throw new Error('Invalid IV parameter.');
|
||||
} else {
|
||||
// save IV as "previous" block
|
||||
this._iv = transformIV(options.iv);
|
||||
this._iv = transformIV(options.iv, this.blockSize);
|
||||
this._prev = this._iv.slice(0);
|
||||
}
|
||||
};
|
||||
@@ -215,7 +215,7 @@ modes.cfb.prototype.start = function(options) {
|
||||
throw new Error('Invalid IV parameter.');
|
||||
}
|
||||
// use IV as first input
|
||||
this._iv = transformIV(options.iv);
|
||||
this._iv = transformIV(options.iv, this.blockSize);
|
||||
this._inBlock = this._iv.slice(0);
|
||||
this._partialBytes = 0;
|
||||
};
|
||||
@@ -359,7 +359,7 @@ modes.ofb.prototype.start = function(options) {
|
||||
throw new Error('Invalid IV parameter.');
|
||||
}
|
||||
// use IV as first input
|
||||
this._iv = transformIV(options.iv);
|
||||
this._iv = transformIV(options.iv, this.blockSize);
|
||||
this._inBlock = this._iv.slice(0);
|
||||
this._partialBytes = 0;
|
||||
};
|
||||
@@ -444,7 +444,7 @@ modes.ctr.prototype.start = function(options) {
|
||||
throw new Error('Invalid IV parameter.');
|
||||
}
|
||||
// use IV as first input
|
||||
this._iv = transformIV(options.iv);
|
||||
this._iv = transformIV(options.iv, this.blockSize);
|
||||
this._inBlock = this._iv.slice(0);
|
||||
this._partialBytes = 0;
|
||||
};
|
||||
@@ -954,7 +954,7 @@ modes.gcm.prototype.generateSubHashTable = function(mid, bits) {
|
||||
|
||||
/** Utility functions */
|
||||
|
||||
function transformIV(iv) {
|
||||
function transformIV(iv, blockSize) {
|
||||
if(typeof iv === 'string') {
|
||||
// convert iv string into byte buffer
|
||||
iv = forge.util.createBuffer(iv);
|
||||
@@ -968,9 +968,21 @@ function transformIV(iv) {
|
||||
iv.putByte(tmp[i]);
|
||||
}
|
||||
}
|
||||
|
||||
if(iv.length() < blockSize) {
|
||||
throw new Error(
|
||||
'Invalid IV length; got ' + iv.length() +
|
||||
' bytes and expected ' + blockSize + ' bytes.');
|
||||
}
|
||||
|
||||
if(!forge.util.isArray(iv)) {
|
||||
// convert iv byte buffer into 32-bit integer array
|
||||
iv = [iv.getInt32(), iv.getInt32(), iv.getInt32(), iv.getInt32()];
|
||||
var ints = [];
|
||||
var blocks = blockSize / 4;
|
||||
for(var i = 0; i < blocks; ++i) {
|
||||
ints.push(iv.getInt32());
|
||||
}
|
||||
iv = ints;
|
||||
}
|
||||
|
||||
return iv;
|
||||
|
||||
93
conf/site/node_modules/node-forge/lib/util.js
generated
vendored
93
conf/site/node_modules/node-forge/lib/util.js
generated
vendored
@@ -2513,99 +2513,6 @@ util.makeLink = function(path, query, fragment) {
|
||||
((fragment.length > 0) ? ('#' + fragment) : '');
|
||||
};
|
||||
|
||||
/**
|
||||
* Follows a path of keys deep into an object hierarchy and set a value.
|
||||
* If a key does not exist or it's value is not an object, create an
|
||||
* object in it's place. This can be destructive to a object tree if
|
||||
* leaf nodes are given as non-final path keys.
|
||||
* Used to avoid exceptions from missing parts of the path.
|
||||
*
|
||||
* @param object the starting object.
|
||||
* @param keys an array of string keys.
|
||||
* @param value the value to set.
|
||||
*/
|
||||
util.setPath = function(object, keys, value) {
|
||||
// need to start at an object
|
||||
if(typeof(object) === 'object' && object !== null) {
|
||||
var i = 0;
|
||||
var len = keys.length;
|
||||
while(i < len) {
|
||||
var next = keys[i++];
|
||||
if(i == len) {
|
||||
// last
|
||||
object[next] = value;
|
||||
} else {
|
||||
// more
|
||||
var hasNext = (next in object);
|
||||
if(!hasNext ||
|
||||
(hasNext && typeof(object[next]) !== 'object') ||
|
||||
(hasNext && object[next] === null)) {
|
||||
object[next] = {};
|
||||
}
|
||||
object = object[next];
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Follows a path of keys deep into an object hierarchy and return a value.
|
||||
* If a key does not exist, create an object in it's place.
|
||||
* Used to avoid exceptions from missing parts of the path.
|
||||
*
|
||||
* @param object the starting object.
|
||||
* @param keys an array of string keys.
|
||||
* @param _default value to return if path not found.
|
||||
*
|
||||
* @return the value at the path if found, else default if given, else
|
||||
* undefined.
|
||||
*/
|
||||
util.getPath = function(object, keys, _default) {
|
||||
var i = 0;
|
||||
var len = keys.length;
|
||||
var hasNext = true;
|
||||
while(hasNext && i < len &&
|
||||
typeof(object) === 'object' && object !== null) {
|
||||
var next = keys[i++];
|
||||
hasNext = next in object;
|
||||
if(hasNext) {
|
||||
object = object[next];
|
||||
}
|
||||
}
|
||||
return (hasNext ? object : _default);
|
||||
};
|
||||
|
||||
/**
|
||||
* Follow a path of keys deep into an object hierarchy and delete the
|
||||
* last one. If a key does not exist, do nothing.
|
||||
* Used to avoid exceptions from missing parts of the path.
|
||||
*
|
||||
* @param object the starting object.
|
||||
* @param keys an array of string keys.
|
||||
*/
|
||||
util.deletePath = function(object, keys) {
|
||||
// need to start at an object
|
||||
if(typeof(object) === 'object' && object !== null) {
|
||||
var i = 0;
|
||||
var len = keys.length;
|
||||
while(i < len) {
|
||||
var next = keys[i++];
|
||||
if(i == len) {
|
||||
// last
|
||||
delete object[next];
|
||||
} else {
|
||||
// more
|
||||
if(!(next in object) ||
|
||||
(typeof(object[next]) !== 'object') ||
|
||||
(object[next] === null)) {
|
||||
break;
|
||||
}
|
||||
object = object[next];
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Check if an object is empty.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user