From 3267b29bd74b6f5762d30035288b530586fcc071 Mon Sep 17 00:00:00 2001 From: Bob Sun Date: Fri, 28 Apr 2017 21:25:30 -0700 Subject: [PATCH] Fix an issue in requesting ssh key passphrase --- pass/Models/PasswordStore.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pass/Models/PasswordStore.swift b/pass/Models/PasswordStore.swift index 7a24b79..a80ef27 100644 --- a/pass/Models/PasswordStore.swift +++ b/pass/Models/PasswordStore.swift @@ -47,14 +47,16 @@ struct GitCredential { credential = try? GTCredential(userName: userName, password: newPassword!) case let .ssh(userName, publicKeyFile, privateKeyFile, controller): var newPassword = Utils.getPasswordFromKeychain(name: "gitSSHKeyPassphrase") - if newPassword == nil { - if let requestedPassword = self.requestGitPassword(controller, nil) { + if newPassword == nil || attempts != 0 { + if let requestedPassword = self.requestGitPassword(controller, lastPassword) { newPassword = requestedPassword Utils.addPasswordToKeychain(name: "gitSSHKeyPassphrase", password: newPassword) } else { return nil } } + attempts += 1 + lastPassword = newPassword credential = try? GTCredential(userName: userName, publicKeyURL: publicKeyFile, privateKeyURL: privateKeyFile, passphrase: newPassword!) } return credential