diff --git a/src/backups.js b/src/backups.js index d4944a10e..e9d24a85a 100644 --- a/src/backups.js +++ b/src/backups.js @@ -104,10 +104,12 @@ function api(provider) { } function injectPrivateFields(newConfig, currentConfig) { - if (newConfig.password === exports.SECRET_PLACEHOLDER) { - delete newConfig.password; - newConfig.encryption = currentConfig.encryption; + if ('password' in newConfig) { + if (newConfig.password === exports.SECRET_PLACEHOLDER) { + delete newConfig.password; + } } + newConfig.encryption = currentConfig.encryption; if (newConfig.provider === currentConfig.provider) api(newConfig.provider).injectPrivateFields(newConfig, currentConfig); } diff --git a/src/settings.js b/src/settings.js index 839875766..62b43d309 100644 --- a/src/settings.js +++ b/src/settings.js @@ -401,13 +401,9 @@ 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; - } + if ('password' in backupConfig) { // user set password + backupConfig.encryption = backups.generateEncryptionKeysSync(backupConfig.password); + delete backupConfig.password; } backups.cleanupCacheFilesSync();