mirror of https://github.com/xwiki-labs/cryptpad
Bypass placeholder when removing a pad password
This commit is contained in:
parent
1c7e5164bb
commit
30743c295a
|
@ -580,6 +580,7 @@ const handleFirstMessage = function (Env, channelName, metadata) {
|
|||
// Set the selfdestruct flag to history keeper ID to handle server crash.
|
||||
metadata.selfdestruct = Env.id;
|
||||
}
|
||||
delete metadata.forcePlaceholder;
|
||||
Env.store.writeMetadata(channelName, JSON.stringify(metadata), function (err) {
|
||||
if (err) {
|
||||
// FIXME tell the user that there was a channel error?
|
||||
|
@ -706,7 +707,7 @@ const handleGetHistory = function (Env, Server, seq, userId, parsed) {
|
|||
Server.send(userId, [0, HISTORY_KEEPER_ID, 'MSG', userId, JSON.stringify(parsedMsg)]);
|
||||
return;
|
||||
}
|
||||
if (err && err.code === 'ENOENT' && reason) {
|
||||
if (err && err.code === 'ENOENT' && reason && !metadata.forcePlaceholder) {
|
||||
const parsedMsg2 = {error:'EDELETED', message: reason, channel: channelName, txid: txid};
|
||||
Server.send(userId, [0, HISTORY_KEEPER_ID, 'MSG', userId, JSON.stringify(parsedMsg2)]);
|
||||
return;
|
||||
|
|
|
@ -1452,8 +1452,10 @@ define([
|
|||
}).nThen(function (waitFor) {
|
||||
optsPut.metadata.restricted = oldMetadata.restricted;
|
||||
optsPut.metadata.allowed = oldMetadata.allowed;
|
||||
if (!newPassword) { optsPut.metadata.forcePlaceholder = true; }
|
||||
Crypt.put(newHash, cryptgetVal, waitFor(function (err) {
|
||||
if (err) {
|
||||
if (err === "EDELETED") { err = "PASSWORD_ALREADY_USED"; }
|
||||
waitFor.abort();
|
||||
return void cb({ error: err });
|
||||
}
|
||||
|
|
|
@ -929,6 +929,7 @@ define([
|
|||
});
|
||||
}
|
||||
|
||||
Messages.access_passwordUsed = "This password has already been used for this pad. It can't be used again."; // XXX NEW
|
||||
var href = data.href;
|
||||
var isNotStored = Boolean(data.isNotStored);
|
||||
sframeChan.query(q, {
|
||||
|
@ -939,8 +940,12 @@ define([
|
|||
}, function (err, data) {
|
||||
$(passwordOk).text(Messages.properties_changePasswordButton);
|
||||
pLocked = false;
|
||||
if (err || data.error) {
|
||||
console.error(err || data.error);
|
||||
err = err || data.error;
|
||||
if (err) {
|
||||
if (err === "PASSWORD_ALREADY_USED") {
|
||||
return void UI.alert(Messages.access_passwordUsed);
|
||||
}
|
||||
console.error(err);
|
||||
return void UI.alert(Messages.properties_passwordError);
|
||||
}
|
||||
UI.findOKButton().click();
|
||||
|
|
Loading…
Reference in New Issue