From 9faabe9e7d43e6456040f1bfb3ea79a91c4bc7cf Mon Sep 17 00:00:00 2001 From: Vladyslav Miachkov Date: Thu, 9 May 2024 00:06:23 +0300 Subject: [PATCH] Filter settings fields to backup --- client/secure_qsettings.cpp | 21 ++++++++++++++++++++- client/secure_qsettings.h | 4 ++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/client/secure_qsettings.cpp b/client/secure_qsettings.cpp index b478b38d..1d26fe23 100644 --- a/client/secure_qsettings.cpp +++ b/client/secure_qsettings.cpp @@ -124,8 +124,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;