fix a bug caused by keychain modifications
This commit is contained in:
parent
eb501ee65f
commit
70166c9901
4 changed files with 22 additions and 25 deletions
|
|
@ -82,7 +82,6 @@ class PasswordRepositorySettingsTableViewController: BasicStaticTableViewControl
|
||||||
NotificationCenter.default.post(Notification(name: Notification.Name("passwordUpdated")))
|
NotificationCenter.default.post(Notification(name: Notification.Name("passwordUpdated")))
|
||||||
Defaults[.gitRepositoryURL] = URL(string: gitRepostiroyURL)
|
Defaults[.gitRepositoryURL] = URL(string: gitRepostiroyURL)
|
||||||
Defaults[.gitRepositoryUsername] = username
|
Defaults[.gitRepositoryUsername] = username
|
||||||
PasswordStore.shared.gitRepositoryPassword = password
|
|
||||||
Defaults[.gitRepositoryAuthenticationMethod] = auth
|
Defaults[.gitRepositoryAuthenticationMethod] = auth
|
||||||
Defaults[.gitRepositoryPasswordAttempts] = 0
|
Defaults[.gitRepositoryPasswordAttempts] = 0
|
||||||
SVProgressHUD.showSuccess(withStatus: "Done")
|
SVProgressHUD.showSuccess(withStatus: "Done")
|
||||||
|
|
|
||||||
|
|
@ -17,9 +17,9 @@ extension DefaultsKeys {
|
||||||
|
|
||||||
static let pgpPublicKeyArmor = DefaultsKey<String?>("pgpPublicKeyArmor")
|
static let pgpPublicKeyArmor = DefaultsKey<String?>("pgpPublicKeyArmor")
|
||||||
static let pgpPrivateKeyArmor = DefaultsKey<String?>("pgpPrivateKeyArmor")
|
static let pgpPrivateKeyArmor = DefaultsKey<String?>("pgpPrivateKeyArmor")
|
||||||
|
//
|
||||||
static let pgpPrivateKeyURLPassphrase = DefaultsKey<String?>("pgpPrivateKeyURLPassphrase")
|
// static let pgpPrivateKeyURLPassphrase = DefaultsKey<String?>("pgpPrivateKeyURLPassphrase")
|
||||||
static let pgpPrivateKeyArmorPassphrase = DefaultsKey<String?>("pgpPrivateKeyArmorPassphrase")
|
// static let pgpPrivateKeyArmorPassphrase = DefaultsKey<String?>("pgpPrivateKeyArmorPassphrase")
|
||||||
static let pgpKeyID = DefaultsKey<String?>("pgpKeyID")
|
static let pgpKeyID = DefaultsKey<String?>("pgpKeyID")
|
||||||
static let pgpKeyUserID = DefaultsKey<String?>("pgpKeyUserID")
|
static let pgpKeyUserID = DefaultsKey<String?>("pgpKeyUserID")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -84,21 +84,19 @@ class PasswordStore {
|
||||||
let pgp: ObjectivePGP = ObjectivePGP()
|
let pgp: ObjectivePGP = ObjectivePGP()
|
||||||
|
|
||||||
var pgpKeyPassphrase: String? {
|
var pgpKeyPassphrase: String? {
|
||||||
didSet {
|
set {
|
||||||
if pgpKeyPassphrase != nil {
|
Utils.addPasswrodToKeychain(name: "pgpKeyPassphrase", password: newValue!)
|
||||||
Utils.addPasswrodToKeychain(name: "pgpKeyPassphrase", password: pgpKeyPassphrase!)
|
|
||||||
} else {
|
|
||||||
Utils.removeKeychain(name: "pgpKeyPassphrase")
|
|
||||||
}
|
}
|
||||||
|
get {
|
||||||
|
return Utils.getPasswordFromKeychain(name: "pgpKeyPassphrase")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var gitRepositoryPassword: String? {
|
var gitRepositoryPassword: String? {
|
||||||
didSet {
|
set {
|
||||||
if gitRepositoryPassword != nil {
|
Utils.addPasswrodToKeychain(name: "gitRepositoryPassword", password: newValue!)
|
||||||
Utils.addPasswrodToKeychain(name: "gitRepositoryPassword", password: gitRepositoryPassword!)
|
|
||||||
} else {
|
|
||||||
Utils.removeKeychain(name: "gitRepositoryPassword")
|
|
||||||
}
|
}
|
||||||
|
get {
|
||||||
|
return Utils.getPasswordFromKeychain(name: "gitRepositoryPassword")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -119,14 +117,12 @@ class PasswordStore {
|
||||||
|
|
||||||
}
|
}
|
||||||
if Defaults[.gitRepositoryAuthenticationMethod] == "Password" {
|
if Defaults[.gitRepositoryAuthenticationMethod] == "Password" {
|
||||||
gitCredential = GitCredential(credential: GitCredential.Credential.http(userName: Defaults[.gitRepositoryUsername]!, password: PasswordStore.shared.gitRepositoryPassword!))
|
gitCredential = GitCredential(credential: GitCredential.Credential.http(userName: Defaults[.gitRepositoryUsername]!, password: Utils.getPasswordFromKeychain(name: "gitRepositoryPassword") ?? ""))
|
||||||
} else if Defaults[.gitRepositoryAuthenticationMethod] == "SSH Key"{
|
} else if Defaults[.gitRepositoryAuthenticationMethod] == "SSH Key"{
|
||||||
gitCredential = GitCredential(credential: GitCredential.Credential.ssh(userName: Defaults[.gitRepositoryUsername]!, password: Defaults[.gitRepositorySSHPrivateKeyPassphrase]!, publicKeyFile: Globals.sshPublicKeyURL, privateKeyFile: Globals.sshPrivateKeyURL))
|
gitCredential = GitCredential(credential: GitCredential.Credential.ssh(userName: Defaults[.gitRepositoryUsername]!, password: Defaults[.gitRepositorySSHPrivateKeyPassphrase]!, publicKeyFile: Globals.sshPublicKeyURL, privateKeyFile: Globals.sshPrivateKeyURL))
|
||||||
} else {
|
} else {
|
||||||
gitCredential = nil
|
gitCredential = nil
|
||||||
}
|
}
|
||||||
pgpKeyPassphrase = Utils.getPasswordFromKeychain(name: "pgpKeyPassphrase")
|
|
||||||
gitRepositoryPassword = Utils.getPasswordFromKeychain(name: "gitRepositoryPassword")
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -465,8 +461,7 @@ class PasswordStore {
|
||||||
Utils.removeFileIfExists(at: Globals.sshPublicKeyURL)
|
Utils.removeFileIfExists(at: Globals.sshPublicKeyURL)
|
||||||
|
|
||||||
Utils.removeAllKeychain()
|
Utils.removeAllKeychain()
|
||||||
pgpKeyPassphrase = nil
|
|
||||||
gitRepositoryPassword = nil
|
|
||||||
|
|
||||||
deleteCoreData(entityName: "PasswordEntity")
|
deleteCoreData(entityName: "PasswordEntity")
|
||||||
deleteCoreData(entityName: "PasswordCategoryEntity")
|
deleteCoreData(entityName: "PasswordCategoryEntity")
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11762" systemVersion="16D32" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12106.1" systemVersion="16E154a" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||||
<device id="retina4_7" orientation="portrait">
|
<device id="retina4_7" orientation="portrait">
|
||||||
<adaptation id="fullscreen"/>
|
<adaptation id="fullscreen"/>
|
||||||
</device>
|
</device>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="iOS"/>
|
<deployment identifier="iOS"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12074.1"/>
|
||||||
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
|
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
@ -19,9 +19,12 @@
|
||||||
<rect key="frame" x="0.0" y="0.0" width="320" height="216.5"/>
|
<rect key="frame" x="0.0" y="0.0" width="320" height="216.5"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xHX-Sh-1pR">
|
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xHX-Sh-1pR">
|
||||||
<rect key="frame" x="15" y="8" width="297" height="200.5"/>
|
<rect key="frame" x="15" y="8" width="297" height="200.5"/>
|
||||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="160" id="Tvq-j8-Nvh"/>
|
||||||
|
</constraints>
|
||||||
<fontDescription key="fontDescription" name="Menlo-Regular" family="Menlo" pointSize="14"/>
|
<fontDescription key="fontDescription" name="Menlo-Regular" family="Menlo" pointSize="14"/>
|
||||||
<textInputTraits key="textInputTraits" autocapitalizationType="sentences" autocorrectionType="no"/>
|
<textInputTraits key="textInputTraits" autocapitalizationType="sentences" autocorrectionType="no"/>
|
||||||
</textView>
|
</textView>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue