backups: generate keys from password

this also removes storage of password from db

part of #579
This commit is contained in:
Girish Ramakrishnan
2020-05-12 14:00:05 -07:00
parent 5af957dc9c
commit 1df94fd84d
4 changed files with 92 additions and 66 deletions

View File

@@ -401,6 +401,15 @@ function setBackupConfig(backupConfig, callback) {
backups.testConfig(backupConfig, function (error) {
if (error) return callback(error);
if ('password' in backupConfig) { // user changed password
if (backupConfig.password) {
backupConfig.encryption = backups.generateEncryptionKeysSync(backupConfig.password);
delete backupConfig.password;
} else {
backupConfig.encryption = null;
}
}
backups.cleanupCacheFilesSync();
settingsdb.set(exports.BACKUP_CONFIG_KEY, JSON.stringify(backupConfig), function (error) {