Mingshen Sun
258906fdbb
Refactor Git URL related code, fix #336
2019-11-30 15:11:28 -08:00
Mingshen Sun
a07f3af4e2
Forgot to saveUpdateContext() in edit
2019-11-18 18:08:31 -08:00
Yishi Lin
30bb227ae3
Fix #332 : The synced status is now saved in DB
2019-11-19 02:19:57 +08:00
Danny Moesch
4c47729a6e
Fix #326 : Do not assume 'master' as the default checked out branch
2019-11-08 14:30:56 -08:00
Yishi Lin
e0c32003e3
Cleanup and fix the erase logic
...
Explicitly uninit PGP agent during erasing all data.
2019-10-01 00:40:37 +08:00
Yishi Lin
230b421a90
Add the passcode cache back
2019-10-01 00:16:56 +08:00
Yishi Lin
35f599c45b
Allow resettig app in the passcodelockview
2019-09-28 21:38:32 +08:00
Danny Moesch
c824bb10e7
Introduce constants for Git password identifiers
2019-09-15 00:32:18 -07:00
Danny Moesch
730542d5bb
Separate encryption/decryption logic for different frameworks used
2019-09-15 00:32:18 -07:00
Moritz Kuntze
21c172f9a8
Upgrade GopenPGP and remove Gopenpgpwrapper glue code
2019-09-15 00:32:18 -07:00
Yishi Lin
032e442d78
Merge pull request #292 from SimplyDanny/make-simulator-untouched-by-tests
...
Do not influence the Simulator by tests
2019-07-21 13:39:53 +08:00
Danny Moesch
5c7d4e55a4
Introduce KeyStore protocol in order to provide specialized key store implementations for tests
...
With the DictBasedKeychain the main AppKeychain is not influenced by tests. The previous implementation led to an empty Keychain requiring a new setup of the simulator.
2019-07-20 23:42:32 +02:00
Danny Moesch
b42401343d
Let AppKeychain not be static only
2019-07-20 23:42:32 +02:00
Danny Moesch
ea37b40e2f
Mark field 'gpgAgent' as never-nil
2019-07-20 22:59:22 +02:00
Yishi Lin
2ece3ef07a
Clean up codes in PGPAgent
...
After the migration, there is nothing there.
2019-07-21 02:25:21 +08:00
Yishi Lin
e967bb1f4c
Add PGPAgent tests and minor updated
2019-07-20 00:41:45 +08:00
Yishi Lin
1ec26a0eea
Clean up very old migration codes
2019-07-19 01:46:56 +08:00
Mingshen Sun
7cf9311f95
Delete useless print
2019-07-16 23:36:25 -07:00
Yishi Lin
584b634689
Cleanup the previously set keys before init
2019-07-17 13:35:16 +08:00
Yishi Lin
6ae4a02a01
Seperate PGPAgent from PasswordStore and add tests
2019-07-17 02:58:01 +08:00
Yishi Lin
0862c1388e
Use ObjectivePGP if Gopenpgp fails
2019-07-17 00:19:23 +08:00
Danny Moesch
8e8501abb0
Save app passcode in Keychain and migrate existing passcode from SharedDefaults
2019-07-10 21:47:40 -07:00
Danny Moesch
cc493cb490
Allow setting a nil value in AppKeychain.add to delete existing content
2019-07-03 21:45:27 -07:00
Danny Moesch
fa2fde1af4
Leave key source settings unchanged when migrating
2019-07-03 21:45:27 -07:00
Danny Moesch
149edc1cbc
Only migrate if possible (do not stop after first failure)
2019-07-03 21:45:27 -07:00
Danny Moesch
f1337622dc
Store SSH private keys in Keychain instead of files
2019-07-03 21:45:27 -07:00
Danny Moesch
6b95e60ea1
Introduce CryptographicKey protocol
2019-07-03 21:45:27 -07:00
Danny Moesch
5f19c348c8
Keep global constants for armor keys and clean them up during migration and user initiated key removal
2019-07-02 13:50:16 -07:00
Danny Moesch
7bee780b46
Extract key importing logic and put it into separate class
2019-07-02 13:50:16 -07:00
Danny Moesch
47c9af0127
Fix wrong Keychain key string
...
This caused the private PGP key passphrase to remain unchanged although the key itself was removed.
2019-07-02 13:50:16 -07:00
Danny Moesch
b806175842
Throw error in case PGP key files cannot be read
2019-07-02 13:50:16 -07:00
Danny Moesch
f0003227d5
Delete key files after migrating them to Keychain
2019-07-02 13:50:16 -07:00
Danny Moesch
441a7f1e9b
Put Keychain related methods to separate class
2019-07-02 13:50:16 -07:00
Danny Moesch
e4e4c6daff
Implement migration of existing PGP keys into Keychain
2019-07-02 13:50:16 -07:00
Danny Moesch
a66a79abc6
Store PGP keys in Keychain
2019-07-02 13:50:16 -07:00
Yishi Lin
0ec5b5cd80
Fix the git add path
2019-06-15 16:21:37 +08:00
Mingshen Sun
82232be92c
remove some unwraps
2019-06-09 22:18:54 -07:00
Mingshen Sun
c66439c2f9
passKit: fix warnings
2019-06-08 18:03:04 -07:00
Moritz Kuntze
96f7c1960d
Changed PGP backend from ObjectivePGP to GopenPGP
2019-06-08 10:39:17 -07:00
Yishi Lin
43ff63e01d
Do no prompt repeatedly for the SSH passphrase
2019-05-20 01:26:53 +08:00
Meris Bahtijaragic
c59c72729b
Get username from filepath. ( #265 )
2019-05-17 23:30:41 +08:00
Danny Moesch
adff0c1142
Fix #258 : Remove existing key files before moving new ones to the same location
2019-05-15 22:49:46 +02:00
Yishi Lin
451e2f6fbb
Fix 262: save context after editing
2019-05-15 01:12:10 +08:00
Yishi Lin
ebb3566616
Cleanup old migration codes
2019-05-15 01:09:58 +08:00
Danny Moesch
c2cd6481fd
Utilize default settings values
2019-05-01 18:30:13 +02:00
Danny Moesch
f9c19b3ca4
Migrate to Swift 5.0
2019-05-01 18:30:13 +02:00
Danny Moesch
89c0d3c98e
Assign nil by unwrapping optional
2019-05-01 17:09:34 +02:00
Danny Moesch
9e0d60989b
Remove unnecessary returns
2019-05-01 17:08:44 +02:00
Danny Moesch
3cf55d91ff
Display last updated date in absolut instead of relative form
...
This is necessary to have a language independent representation. For example, the previous format would have produced a grammatically wrong term in German.
2019-02-23 14:22:27 -08:00
Danny Moesch
38b44cedf8
Add missing error messages and name them consistently
...
Since the AppError enum is suffixed with 'Error', the elements itself do not need this suffix, too.
2019-01-20 21:04:04 -08:00