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
No known key found for this signature in database
GPG key ID: 0F5C940A6BD81F92
4 changed files with 10 additions and 12 deletions

View file

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

View file

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

View file

@ -72,7 +72,7 @@ if ($MARKDOWN):
endif; endif;
?> ?>
<script type="text/javascript" data-cfasync="false" src="js/purify-1.0.7.js" integrity="sha512-VnKJHLosO8z2ojNvWk9BEKYqnhZyWK9rM90FgZUUEp/PRnUqR5OLLKE0a3BkVmn7YgB7LXRrjHgFHQYKd6DAIA==" crossorigin="anonymous"></script> <script type="text/javascript" data-cfasync="false" src="js/purify-1.0.7.js" integrity="sha512-VnKJHLosO8z2ojNvWk9BEKYqnhZyWK9rM90FgZUUEp/PRnUqR5OLLKE0a3BkVmn7YgB7LXRrjHgFHQYKd6DAIA==" crossorigin="anonymous"></script>
<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-Xs8ymlQm2ykne8ptzTyldg63gfOK+031WvACD1BCrEItV3fAicPzhUvYzW5sCkmSgZKpwCBtsfpPn46hd9IMqw==" crossorigin="anonymous"></script> <script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-TSifriilo4vMoDqvA2clM4dX0ywBJnYZTnx417dJYydyAfu1sH3WIR5DhqxrAyn1p4wo1pS0z2JbyoDxRSO7Zg==" crossorigin="anonymous"></script>
<!--[if lt IE 10]> <!--[if lt IE 10]>
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style> <style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
<![endif]--> <![endif]-->

View file

@ -50,7 +50,7 @@ if ($MARKDOWN):
endif; endif;
?> ?>
<script type="text/javascript" data-cfasync="false" src="js/purify-1.0.7.js" integrity="sha512-VnKJHLosO8z2ojNvWk9BEKYqnhZyWK9rM90FgZUUEp/PRnUqR5OLLKE0a3BkVmn7YgB7LXRrjHgFHQYKd6DAIA==" crossorigin="anonymous"></script> <script type="text/javascript" data-cfasync="false" src="js/purify-1.0.7.js" integrity="sha512-VnKJHLosO8z2ojNvWk9BEKYqnhZyWK9rM90FgZUUEp/PRnUqR5OLLKE0a3BkVmn7YgB7LXRrjHgFHQYKd6DAIA==" crossorigin="anonymous"></script>
<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-Xs8ymlQm2ykne8ptzTyldg63gfOK+031WvACD1BCrEItV3fAicPzhUvYzW5sCkmSgZKpwCBtsfpPn46hd9IMqw==" crossorigin="anonymous"></script> <script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-TSifriilo4vMoDqvA2clM4dX0ywBJnYZTnx417dJYydyAfu1sH3WIR5DhqxrAyn1p4wo1pS0z2JbyoDxRSO7Zg==" crossorigin="anonymous"></script>
<!--[if lt IE 10]> <!--[if lt IE 10]>
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style> <style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
<![endif]--> <![endif]-->