diff --git a/client/secure_qsettings.cpp b/client/secure_qsettings.cpp index 59bf817b..592f77d4 100644 --- a/client/secure_qsettings.cpp +++ b/client/secure_qsettings.cpp @@ -123,8 +123,27 @@ QByteArray SecureQSettings::backupAppConfig() const { QJsonObject cfg; + const auto needToBackup = [this](const auto &key) { + for (const auto &item : m_fieldsToBackup) + { + if (key == "Conf/installationUuid") + { + return false; + } + + if (key.startsWith(item)) + { + return true; + } + } + + return false; + }; + for (const QString &key : m_settings.allKeys()) { - if (key == "Conf/installationUuid") { + + if (!needToBackup(key)) + { continue; } diff --git a/client/secure_qsettings.h b/client/secure_qsettings.h index 89147fc1..43890578 100644 --- a/client/secure_qsettings.h +++ b/client/secure_qsettings.h @@ -47,6 +47,10 @@ private: mutable QMap m_cache; QStringList encryptedKeys; // encode only key listed here + // only this fields need for backup + QStringList m_fieldsToBackup = { + "Conf/", "Servers/", + }; mutable QByteArray m_key; mutable QByteArray m_iv;