Check cloned repository for .gpg-id file (#523)

* Extract method
* Separate deletion of store data from general data erasure
* Check cloned repository for .gpg-id file
This commit is contained in:
Danny Moesch 2021-12-28 02:38:33 +01:00 committed by GitHub
parent 08ce198334
commit b62c5fa2e5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 55 additions and 32 deletions

View file

@ -618,32 +618,36 @@ public class PasswordStore {
}
}
public func erase() {
public func eraseStoreData() {
// Delete files.
try? fileManager.removeItem(at: storeURL)
try? fileManager.removeItem(at: tempStoreURL)
// Delete PGP key, SSH key and other secrets from the keychain.
AppKeychain.shared.removeAllContent()
// Delete core data.
deleteCoreData(entityName: "PasswordEntity")
// Delete default settings.
Defaults.removeAll()
// Clean up variables inside PasswordStore.
storeRepository = nil
// Delete cache explicitly.
PasscodeLock.shared.delete()
PGPAgent.shared.uninitKeys()
// Broadcast.
NotificationCenter.default.post(name: .passwordStoreUpdated, object: nil)
NotificationCenter.default.post(name: .passwordStoreErased, object: nil)
}
public func erase() {
eraseStoreData()
// Delete PGP key, SSH key and other secrets from the keychain.
AppKeychain.shared.removeAllContent()
// Delete default settings.
Defaults.removeAll()
// Delete cache explicitly.
PasscodeLock.shared.delete()
PGPAgent.shared.uninitKeys()
}
// return the number of discarded commits
public func reset() throws -> Int {
guard let storeRepository = storeRepository else {