mirror of
https://github.com/PrivateBin/PrivateBin.git
synced 2025-08-07 05:52:18 -04:00
remove more v1 remnants
kudos @Ribas160
This commit is contained in:
parent
cdb8010f6d
commit
734b85eb08
5 changed files with 16 additions and 51 deletions
|
@ -1547,7 +1547,7 @@ jQuery.PrivateBin = (function($) {
|
||||||
// string, so we re-add them if necessary
|
// string, so we re-add them if necessary
|
||||||
symmetricKey = CryptTool.base58decode(newKey).padStart(32, '\u0000');
|
symmetricKey = CryptTool.base58decode(newKey).padStart(32, '\u0000');
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
symmetricKey = newKey;
|
throw 'encryption key of unsupported format given or incomplete, mangled URL';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5727,12 +5727,8 @@ jQuery.PrivateBin = (function($) {
|
||||||
Model.getPasteKey();
|
Model.getPasteKey();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
|
Alert.showError('Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)');
|
||||||
// missing decryption key (or paste ID) in URL?
|
return;
|
||||||
if (window.location.hash.length === 0) {
|
|
||||||
Alert.showError('Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// check if we should request loading confirmation
|
// check if we should request loading confirmation
|
||||||
|
|
|
@ -104,8 +104,8 @@ describe('Model', function () {
|
||||||
'throws exception on empty query string',
|
'throws exception on empty query string',
|
||||||
common.jscUrl(true, false),
|
common.jscUrl(true, false),
|
||||||
function (url) {
|
function (url) {
|
||||||
let clean = jsdom('', {url: common.urlToString(url)}),
|
const clean = jsdom('', {url: common.urlToString(url)});
|
||||||
result = false;
|
let result = false;
|
||||||
try {
|
try {
|
||||||
$.PrivateBin.Model.getPasteId();
|
$.PrivateBin.Model.getPasteId();
|
||||||
}
|
}
|
||||||
|
@ -126,15 +126,21 @@ describe('Model', function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
jsc.property(
|
jsc.property(
|
||||||
'returns the fragment of a v1 URL',
|
'throws exception on v1 URLs',
|
||||||
common.jscUrl(),
|
common.jscUrl(),
|
||||||
function (url) {
|
function (url) {
|
||||||
url.fragment = '0OIl'; // any non-base58 string
|
url.fragment = '0OIl'; // any non-base58 string
|
||||||
const clean = jsdom('', {url: common.urlToString(url)}),
|
const clean = jsdom('', {url: common.urlToString(url)});
|
||||||
result = $.PrivateBin.Model.getPasteKey();
|
let result = false;
|
||||||
|
try {
|
||||||
|
$.PrivateBin.Model.getPasteId();
|
||||||
|
}
|
||||||
|
catch(err) {
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
$.PrivateBin.Model.reset();
|
$.PrivateBin.Model.reset();
|
||||||
clean();
|
clean();
|
||||||
return url.fragment === result;
|
return result;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
jsc.property(
|
jsc.property(
|
||||||
|
|
|
@ -116,7 +116,7 @@ class Configuration
|
||||||
'js/kjua-0.9.0.js' => 'sha512-CVn7af+vTMBd9RjoS4QM5fpLFEOtBCoB0zPtaqIDC7sF4F8qgUSRFQQpIyEDGsr6yrjbuOLzdf20tkHHmpaqwQ==',
|
'js/kjua-0.9.0.js' => 'sha512-CVn7af+vTMBd9RjoS4QM5fpLFEOtBCoB0zPtaqIDC7sF4F8qgUSRFQQpIyEDGsr6yrjbuOLzdf20tkHHmpaqwQ==',
|
||||||
'js/legacy.js' => 'sha512-UxW/TOZKon83n6dk/09GsYKIyeO5LeBHokxyIq+r7KFS5KMBeIB/EM7NrkVYIezwZBaovnyNtY2d9tKFicRlXg==',
|
'js/legacy.js' => 'sha512-UxW/TOZKon83n6dk/09GsYKIyeO5LeBHokxyIq+r7KFS5KMBeIB/EM7NrkVYIezwZBaovnyNtY2d9tKFicRlXg==',
|
||||||
'js/prettify.js' => 'sha512-puO0Ogy++IoA2Pb9IjSxV1n4+kQkKXYAEUtVzfZpQepyDPyXk8hokiYDS7ybMogYlyyEIwMLpZqVhCkARQWLMg==',
|
'js/prettify.js' => 'sha512-puO0Ogy++IoA2Pb9IjSxV1n4+kQkKXYAEUtVzfZpQepyDPyXk8hokiYDS7ybMogYlyyEIwMLpZqVhCkARQWLMg==',
|
||||||
'js/privatebin.js' => 'sha512-Zn0Y6qS8Wo8R1TivyULWSJsb+Yyb1YJkaobfurZcTUHxTUiH+bmcT8naAGTrxmDNNd9E3rWUM/968/Zt9aJfow==',
|
'js/privatebin.js' => 'sha512-FSrG36x5zv0ERkagznlfQSE4Dpnvf0Sm6F1a21Qn874ALt9OxqUObUTe7D8tmTBCo0jh5i2B4dh8wIa4HSWB8Q==',
|
||||||
'js/purify-3.2.6.js' => 'sha512-zqwL4OoBLFx89QPewkz4Lz5CSA2ktU+f31fuECkF0iK3Id5qd3Zpq5dMby8KwHjIEpsUgOqwF58cnmcaNem0EA==',
|
'js/purify-3.2.6.js' => 'sha512-zqwL4OoBLFx89QPewkz4Lz5CSA2ktU+f31fuECkF0iK3Id5qd3Zpq5dMby8KwHjIEpsUgOqwF58cnmcaNem0EA==',
|
||||||
'js/showdown-2.1.0.js' => 'sha512-WYXZgkTR0u/Y9SVIA4nTTOih0kXMEd8RRV6MLFdL6YU8ymhR528NLlYQt1nlJQbYz4EW+ZsS0fx1awhiQJme1Q==',
|
'js/showdown-2.1.0.js' => 'sha512-WYXZgkTR0u/Y9SVIA4nTTOih0kXMEd8RRV6MLFdL6YU8ymhR528NLlYQt1nlJQbYz4EW+ZsS0fx1awhiQJme1Q==',
|
||||||
'js/zlib-1.3.1-1.js' => 'sha512-5bU9IIP4PgBrOKLZvGWJD4kgfQrkTz8Z3Iqeu058mbQzW3mCumOU6M3UVbVZU9rrVoVwaW4cZK8U8h5xjF88eQ==',
|
'js/zlib-1.3.1-1.js' => 'sha512-5bU9IIP4PgBrOKLZvGWJD4kgfQrkTz8Z3Iqeu058mbQzW3mCumOU6M3UVbVZU9rrVoVwaW4cZK8U8h5xjF88eQ==',
|
||||||
|
|
|
@ -80,20 +80,6 @@ class Paste extends AbstractModel
|
||||||
$this->delete();
|
$this->delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
// set formatter for the view in version 1 pastes.
|
|
||||||
if (array_key_exists('data', $data) && !array_key_exists('formatter', $data['meta'])) {
|
|
||||||
// support < 0.21 syntax highlighting
|
|
||||||
if (array_key_exists('syntaxcoloring', $data['meta']) && $data['meta']['syntaxcoloring'] === true) {
|
|
||||||
$data['meta']['formatter'] = 'syntaxhighlighting';
|
|
||||||
} else {
|
|
||||||
$data['meta']['formatter'] = $this->_conf->getKey('defaultformatter');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// support old paste format with server wide salt
|
|
||||||
if (!array_key_exists('salt', $data['meta'])) {
|
|
||||||
$data['meta']['salt'] = ServerSalt::get();
|
|
||||||
}
|
|
||||||
$data['comments'] = array_values($this->getComments());
|
$data['comments'] = array_values($this->getComments());
|
||||||
$data['comment_count'] = count($data['comments']);
|
$data['comment_count'] = count($data['comments']);
|
||||||
$data['comment_offset'] = 0;
|
$data['comment_offset'] = 0;
|
||||||
|
|
|
@ -919,27 +919,4 @@ class ControllerTest extends TestCase
|
||||||
);
|
);
|
||||||
$this->assertFalse($this->_data->exists(Helper::getPasteId()), 'paste successfully deleted');
|
$this->assertFalse($this->_data->exists(Helper::getPasteId()), 'paste successfully deleted');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @runInSeparateProcess
|
|
||||||
*/
|
|
||||||
public function testDeleteMissingPerPasteSalt()
|
|
||||||
{
|
|
||||||
$paste = Helper::getPaste();
|
|
||||||
unset($paste['meta']['salt']);
|
|
||||||
$this->_data->create(Helper::getPasteId(), $paste);
|
|
||||||
$this->assertTrue($this->_data->exists(Helper::getPasteId()), 'paste exists before deleting data');
|
|
||||||
$_GET['pasteid'] = Helper::getPasteId();
|
|
||||||
$_GET['deletetoken'] = hash_hmac('sha256', Helper::getPasteId(), ServerSalt::get());
|
|
||||||
ob_start();
|
|
||||||
new Controller;
|
|
||||||
$content = ob_get_contents();
|
|
||||||
ob_end_clean();
|
|
||||||
$this->assertMatchesRegularExpression(
|
|
||||||
'#<div[^>]*id="status"[^>]*>.*Paste was properly deleted\.#s',
|
|
||||||
$content,
|
|
||||||
'outputs deleted status correctly'
|
|
||||||
);
|
|
||||||
$this->assertFalse($this->_data->exists(Helper::getPasteId()), 'paste successfully deleted');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue