Commit graph

72 commits

Author SHA1 Message Date
Yishi Lin
610eef411f Add eff short wordlist 2020-02-23 03:48:10 +08:00
Yishi Lin
fe21f1c8da Generate XKCD style password 2020-02-23 03:06:23 +08:00
Yishi Lin
71c793029a Polish codes related to password generation
1. Polish codes in PasswordGeneratorFlavour
2. Polish related codes in view controllers
2020-02-23 00:39:14 +08:00
Danny Moesch
94a5f8c501 Introduce KeyImporter protocol to reduce code duplications in SSH key importers 2020-02-16 10:17:58 -08:00
Danny Moesch
e0c9ceb4fd Add ability to import PGP keys from the Files app 2020-02-10 22:28:36 -08:00
Danny Moesch
5f6723246b Some cosmetic changes 2020-02-10 10:32:14 -08:00
Danny Moesch
e447b1d9d3 Introduce PGPKeyImporter protocol to reduce code duplications 2020-02-10 09:59:24 -08:00
Danny Moesch
a2edf41d33 Update SwiftyUserDefaults to current version 5.0.0 2020-01-01 19:03:04 -08:00
Mingshen Sun
902930ddfc
Cleanup GitServerSettingTableViewController 2019-11-30 17:37:09 -08:00
Mingshen Sun
258906fdbb
Refactor Git URL related code, fix #336 2019-11-30 15:11:28 -08:00
Danny Moesch
44cb864642 Wrap GopenPGP errors into more understandable app errors 2019-10-20 11:35:52 -07:00
Danny Moesch
51c9510f3d Introduce color provider to encapsulate check for iOS 13 availability 2019-10-01 22:48:15 +02:00
Danny Moesch
414e31cba3 Adapt UI with respect to Dark Mode 2019-09-22 22:30:20 -07: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
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
3eaf00f9fd Move 'keyHandler' in KeyFileManager from constructor to function 2019-07-20 23:42:32 +02:00
Yishi Lin
1ec26a0eea Clean up very old migration codes 2019-07-19 01:46:56 +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
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
b806175842 Throw error in case PGP key files cannot be read 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
a66a79abc6 Store PGP keys in Keychain 2019-07-02 13:50:16 -07:00
Danny Moesch
ca3271b20a Restrict passwords in Keychain only to "this" device and disable iCloud syncing 2019-07-02 13:50:16 -07:00
Danny Moesch
5d1a3eae1a Make 'keychain' a static class variable 2019-07-02 13:50:16 -07:00
Mingshen Sun
82232be92c
remove some unwraps 2019-06-09 22:18:54 -07:00
Danny Moesch
44870af774 Trust in assigned default value
In particular, SwiftyUserDefaults returns the default value in case it does not find a value in the dictionary. As the default is '.all' it does not have to be set explicitly. Assigning 'nil' will result in '.all' anyway.
2019-05-04 22:15:23 +02: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
e06413b348 Add default value to non-optional DefaultsKeys 2019-05-01 18:30:13 +02:00
David Beitey
f98d56753b Add ability to hide password images
This disables loading of favicon images associated with password entries
and hides any images that are already loaded, using the generic icon
instead.

The key benefit to this option is to prevent passforios revealing that a
given device has a password in its store, which could be gleaned from
the fact that favicons are being loaded in this manner.
2019-03-03 10:54:30 -08:00
Danny Moesch
d698f2e3c3 Use folder references for all groups and sort files/folders 2019-01-21 20:34:18 -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
08c91599b6 Use | operator to concatenate multiline strings 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
2d5ca58bd9 Use PasswordGeneratorFlavor class to set user defaults and UI elements 2019-01-20 21:04:04 -08:00
Danny Moesch
6b4dbd50a9 Support custom branches (#236) 2019-01-13 15:34:01 -08:00
Mingshen Sun
ed387069a4
lint: delete trailing whitespaces 2018-12-09 16:59:07 -08:00
Danny Moesch
6817f61e3b Split PasswordHelpers and move components into Parser 2018-12-05 12:59:04 -08:00
Danny Moesch
3cd8df310c Introduce enum for password generator flavour 2018-12-05 12:59:04 -08:00
Danny Moesch
60c509dba0 Remove YAML parsing error 2018-12-05 12:59:04 -08:00
Bob Sun
2bfb36c527
Cleanup code of error handling 2018-11-17 21:41:28 -08:00
Bob Sun
653ce515ab
Delete the removeFileIfExists funtion
I have no idea why I did write this helper function at the begining.
2018-11-16 22:49:41 -08:00
Danny Moesch
b6f94f8814 Introduce string extension property 'trimmed' 2018-11-13 15:38:18 -08:00
Danny Moesch
7c12263458 Separate parser and helpers from Password class for better testability 2018-11-11 11:30:39 -08:00