From f4acd629a1adf7105e66446bf4eb997828f9f386 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Wed, 24 Aug 2022 00:20:02 -0500 Subject: [PATCH] Save hosts immediately after pairing concludes to ensure the server cert is persisted --- app/backend/computermanager.cpp | 7 ++++++- app/backend/computermanager.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/backend/computermanager.cpp b/app/backend/computermanager.cpp index 3372ccbb..8d7c9e47 100644 --- a/app/backend/computermanager.cpp +++ b/app/backend/computermanager.cpp @@ -455,7 +455,8 @@ class PendingPairingTask : public QObject, public QRunnable public: PendingPairingTask(ComputerManager* computerManager, NvComputer* computer, QString pin) - : m_Computer(computer), + : m_ComputerManager(computerManager), + m_Computer(computer), m_Pin(pin) { connect(this, &PendingPairingTask::pairingCompleted, @@ -484,6 +485,9 @@ private: emit pairingCompleted(m_Computer, "Another pairing attempt is already in progress."); break; case NvPairingManager::PairState::PAIRED: + // Persist the newly pinned server certificate for this host + m_ComputerManager->saveHosts(); + emit pairingCompleted(m_Computer, nullptr); break; } @@ -494,6 +498,7 @@ private: } } + ComputerManager* m_ComputerManager; NvComputer* m_Computer; QString m_Pin; }; diff --git a/app/backend/computermanager.h b/app/backend/computermanager.h index 2c38237e..a7230c3a 100644 --- a/app/backend/computermanager.h +++ b/app/backend/computermanager.h @@ -166,6 +166,7 @@ class ComputerManager : public QObject friend class DeferredHostDeletionTask; friend class PendingAddTask; + friend class PendingPairingTask; public: explicit ComputerManager(QObject *parent = nullptr);