fixing regression handling v1 key format (un-decoded base64)

This commit is contained in:
El RIDO
2019-05-19 08:36:18 +02:00
parent 0e71211fad
commit 3b0ab7e99f
4 changed files with 10 additions and 12 deletions

View File

@@ -1138,11 +1138,11 @@ jQuery.PrivateBin = (function($, RawDeflate) {
newKey = newKey.substring(0, ampersandPos);
}
// version 2 uses base58, version 1 uses base64
// version 2 uses base58, version 1 uses base64 without decoding
try {
symmetricKey = CryptTool.base58decode(newKey);
} catch(e) {
symmetricKey = atob(newKey);
symmetricKey = newKey;
}
}

View File

@@ -138,16 +138,15 @@ describe('Model', function () {
jsc.array(common.jscQueryString()),
'nestring',
function (schema, address, query, fragment) {
fragment = fragment.padStart(32, String.fromCharCode(0));
let fragmentString = common.btoa(fragment),
clean = jsdom('', {
const fragmentString = common.btoa(fragment.padStart(32, String.fromCharCode(0)));
let clean = jsdom('', {
url: schema.join('') + '://' + address.join('') +
'/?' + query.join('') + '#' + fragmentString
}),
result = $.PrivateBin.Model.getPasteKey();
$.PrivateBin.Model.reset();
clean();
return fragment === result;
return fragmentString === result;
}
);
jsc.property(
@@ -158,16 +157,15 @@ describe('Model', function () {
'nestring',
jsc.array(common.jscHashString()),
function (schema, address, query, fragment, trail) {
fragment = fragment.padStart(32, String.fromCharCode(0));
let fragmentString = common.btoa(fragment),
clean = jsdom('', {
const fragmentString = common.btoa(fragment.padStart(32, String.fromCharCode(0)));
let clean = jsdom('', {
url: schema.join('') + '://' + address.join('') + '/?' +
query.join('') + '#' + fragmentString + '&' + trail.join('')
}),
result = $.PrivateBin.Model.getPasteKey();
$.PrivateBin.Model.reset();
clean();
return fragment === result;
return fragmentString === result;
}
);
jsc.property(