mirror of
https://github.com/keepassxreboot/keepassxc-browser.git
synced 2026-03-11 08:54:43 +00:00
Merge pull request #581 from keepassxreboot/feature/support_for_dbhash_update
Support for updating legacy database hashes
This commit is contained in:
commit
6c407cb3cd
1 changed files with 21 additions and 1 deletions
|
|
@ -521,7 +521,8 @@ keepass.getDatabaseHash = function(callback, tab, enableTimeout = false, trigger
|
|||
const incrementedNonce = keepass.incrementedNonce(nonce);
|
||||
|
||||
const messageData = {
|
||||
action: kpAction
|
||||
action: kpAction,
|
||||
connectedKeys: Object.keys(keepass.keyRing) // This will be removed in the future
|
||||
};
|
||||
|
||||
const encrypted = keepass.encrypt(messageData, nonce);
|
||||
|
|
@ -565,6 +566,12 @@ keepass.getDatabaseHash = function(callback, tab, enableTimeout = false, trigger
|
|||
|
||||
keepass.isDatabaseClosed = false;
|
||||
keepass.isKeePassXCAvailable = true;
|
||||
|
||||
// Update the databaseHash from legacy hash
|
||||
if (parsed.oldHash) {
|
||||
keepass.updateDatabaseHash(parsed.oldHash, parsed.hash);
|
||||
}
|
||||
|
||||
callback(parsed.hash);
|
||||
return;
|
||||
} else if (parsed.errorCode) {
|
||||
|
|
@ -884,6 +891,19 @@ keepass.updateLastUsed = function(hash) {
|
|||
browser.storage.local.set({ 'keyRing': keepass.keyRing });
|
||||
}
|
||||
};
|
||||
// Update the databaseHash from legacy hash
|
||||
keepass.updateDatabaseHash = function(oldHash, newHash) {
|
||||
if (!oldHash || !newHash) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((oldHash in keepass.keyRing)) {
|
||||
keepass.keyRing[newHash] = keepass.keyRing[oldHash];
|
||||
keepass.keyRing[newHash].hash = newHash;
|
||||
delete keepass.keyRing[oldHash];
|
||||
browser.storage.local.set({ 'keyRing': keepass.keyRing });
|
||||
}
|
||||
};
|
||||
|
||||
keepass.deleteKey = function(hash) {
|
||||
delete keepass.keyRing[hash];
|
||||
|
|
|
|||
Loading…
Reference in a new issue