summary refs log tree commit diff
path: root/src/Cache.cpp
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2021-08-08 18:57:38 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2021-08-08 18:57:38 +0200
commit71290e208d2decab6042ce40b372e9aabfba7cef (patch)
tree44c51abbfd9c55c1fddcc4734fa98d505e2810b4 /src/Cache.cpp
parentBreaking: Change secret names and fix bug when storing secrets (diff)
downloadnheko-71290e208d2decab6042ce40b372e9aabfba7cef.tar.xz
Enable insecure fallback for secret storage
Diffstat (limited to '')
-rw-r--r--src/Cache.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/Cache.cpp b/src/Cache.cpp

index 7996c017..eb9fb028 100644 --- a/src/Cache.cpp +++ b/src/Cache.cpp
@@ -722,8 +722,8 @@ Cache::storeSecret(const std::string name, const std::string secret) auto job = new QKeychain::WritePasswordJob(QCoreApplication::applicationName()); job->setAutoDelete(true); job->setInsecureFallback(true); + job->setSettings(UserSettings::instance()->qsettings()); - // job->setSettings(new QSettings(job)); job->setKey( "matrix." + QString(QCryptographicHash::hash(settings->profile().toUtf8(), QCryptographicHash::Sha256) @@ -731,6 +731,7 @@ Cache::storeSecret(const std::string name, const std::string secret) "." + QString::fromStdString(name)); job->setTextData(QString::fromStdString(secret)); + QObject::connect( job, &QKeychain::WritePasswordJob::finished, @@ -758,11 +759,14 @@ Cache::deleteSecret(const std::string name) QKeychain::DeletePasswordJob job(QCoreApplication::applicationName()); job.setAutoDelete(false); job.setInsecureFallback(true); + job.setSettings(UserSettings::instance()->qsettings()); + job.setKey( "matrix." + QString(QCryptographicHash::hash(settings->profile().toUtf8(), QCryptographicHash::Sha256) .toBase64()) + "." + QString::fromStdString(name)); + // FIXME(Nico): Nested event loops are dangerous. Some other slots may resume in the mean // time! QEventLoop loop; @@ -780,11 +784,14 @@ Cache::secret(const std::string name) QKeychain::ReadPasswordJob job(QCoreApplication::applicationName()); job.setAutoDelete(false); job.setInsecureFallback(true); + job.setSettings(UserSettings::instance()->qsettings()); + job.setKey( "matrix." + QString(QCryptographicHash::hash(settings->profile().toUtf8(), QCryptographicHash::Sha256) .toBase64()) + "." + QString::fromStdString(name)); + // FIXME(Nico): Nested event loops are dangerous. Some other slots may resume in the mean // time! QEventLoop loop;