From bfdbfccba79bd1b87d5fc20c36186946e9a3b072 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Wed, 21 Oct 2020 15:42:13 +0200 Subject: [PATCH] Settings Migration: Make sure the keys actually exist --- lib/settings.dart | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/settings.dart b/lib/settings.dart index 7cc87a25..1ea56d05 100644 --- a/lib/settings.dart +++ b/lib/settings.dart @@ -375,9 +375,13 @@ class Settings extends ChangeNotifier { var sshPublicKeyPath = p.join(oldSshDir.path, "id_rsa.pub"); var sshPrivateKeyPath = p.join(oldSshDir.path, "id_rsa"); - sshPublicKey = await File(sshPublicKeyPath).readAsString(); - sshPrivateKey = await File(sshPrivateKeyPath).readAsString(); - sshPassword = ""; + var publicKeyExists = File(sshPublicKeyPath).existsSync(); + var privateKeyExists = File(sshPrivateKeyPath).existsSync(); + if (publicKeyExists && privateKeyExists) { + sshPublicKey = await File(sshPublicKeyPath).readAsString(); + sshPrivateKey = await File(sshPrivateKeyPath).readAsString(); + sshPassword = ""; + } await oldSshDir.delete(recursive: true); } @@ -387,9 +391,13 @@ class Settings extends ChangeNotifier { var sshPublicKeyPath = p.join(newSshDir.path, "id_rsa.pub"); var sshPrivateKeyPath = p.join(newSshDir.path, "id_rsa"); - sshPublicKey = await File(sshPublicKeyPath).readAsString(); - sshPrivateKey = await File(sshPrivateKeyPath).readAsString(); - sshPassword = ""; + var publicKeyExists = File(sshPublicKeyPath).existsSync(); + var privateKeyExists = File(sshPrivateKeyPath).existsSync(); + if (publicKeyExists && privateKeyExists) { + sshPublicKey = await File(sshPublicKeyPath).readAsString(); + sshPrivateKey = await File(sshPrivateKeyPath).readAsString(); + sshPassword = ""; + } await newSshDir.delete(recursive: true); }