Commit graph

169 commits

Author SHA1 Message Date
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
Danny Moesch
1b4040135e Localize strings in code 2019-01-20 21:04:04 -08:00
Danny Moesch
6b4dbd50a9 Support custom branches (#236) 2019-01-13 15:34:01 -08:00
Danny Moesch
744b46adc2 Do not show 0 if numbers in "About Repository" cannot be obtained properly 2019-01-12 16:36:37 -08:00
Danny Moesch
f47e7d384c Show correct number of commits in "About Repository" 2019-01-12 16:36:37 -08:00