Răsfoiți Sursa

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

El RIDO 7 ani în urmă
părinte
comite
3b0ab7e99f
4 a modificat fișierele cu 10 adăugiri și 12 ștergeri
  1. 2 2
      js/privatebin.js
  2. 6 8
      js/test/Model.js
  3. 1 1
      tpl/bootstrap.php
  4. 1 1
      tpl/page.php

+ 2 - 2
js/privatebin.js

@@ -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;
                 }
             }
 

+ 6 - 8
js/test/Model.js

@@ -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(

+ 1 - 1
tpl/bootstrap.php

@@ -72,7 +72,7 @@ if ($MARKDOWN):
 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/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]>
 		<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
 		<![endif]-->

+ 1 - 1
tpl/page.php

@@ -50,7 +50,7 @@ if ($MARKDOWN):
 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/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]>
 		<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
 		<![endif]-->