Merge pull request #462 from standardnotes/hotfix/3.3.10

fix: prevent importing backup files with version > 003
This commit is contained in:
Baptiste Grob
2020-09-07 15:41:05 +02:00
committed by GitHub
3 changed files with 12 additions and 4 deletions

View File

@@ -20,6 +20,7 @@ import {
STRING_GENERATING_REGISTER_KEYS,
StringImportError
} from '@/strings';
import { STRING_IMPORT_FAILED_NEWER_BACKUP } from '../../strings';
const ELEMENT_ID_IMPORT_PASSWORD_INPUT = 'import-password-request';
@@ -204,7 +205,7 @@ class AccountMenuCtrl extends PureCtrl {
text: STRING_NON_MATCHING_PASSWORDS
});
return;
}
}
await this.setFormDataState({
confirmPassword: false,
status: STRING_GENERATING_REGISTER_KEYS,
@@ -336,7 +337,7 @@ class AccountMenuCtrl extends PureCtrl {
}
/**
* @template
* @template
*/
async importFileSelected(files) {
const run = async () => {
@@ -345,6 +346,12 @@ class AccountMenuCtrl extends PureCtrl {
if (!data) {
return;
}
const version = data?.auth_params?.version || data?.keyParams?.version;
if (!protocolManager.supportedVersions().includes(version)) {
this.setState({ importData: null });
this.alertManager.alert({ text: STRING_IMPORT_FAILED_NEWER_BACKUP });
return;
}
if (data.auth_params) {
await this.setState({
importData: {

View File

@@ -49,3 +49,5 @@ export function StringImportError({errorCount}) {
/** @password_change */
export const STRING_FAILED_PASSWORD_CHANGE = "There was an error re-encrypting your items. Your password was changed, but not all your items were properly re-encrypted and synced. You should try syncing again. If all else fails, you should restore your notes from backup.";
export const STRING_IMPORT_FAILED_NEWER_BACKUP = "This backup file was created using a newer version of the application and cannot be imported here. Please update your application and try again.";

View File

@@ -1,6 +1,6 @@
{
"name": "standard-notes-web",
"version": "3.3.6",
"version": "3.3.10",
"license": "AGPL-3.0-or-later",
"repository": {
"type": "git",
@@ -10,7 +10,6 @@
"start": "webpack-dev-server --progress",
"bundle": "webpack --mode production",
"precompile:assets": "bundle exec rails assets:precompile",
"postinstall": "npm run precompile:assets",
"build": "bundle install && npm ci && npm run precompile:assets && npm run bundle",
"submodules": "git submodule update --init --force --remote",
"test": "karma start karma.conf.js --single-run",