Commit graph

255 commits

Author SHA1 Message Date
Kyle Spearrin
9bbddd6aeb show loading indicator if syncing an no items 2017-11-27 15:42:36 -05:00
Kyle Spearrin
e753acbc3f clear cache on logout 2017-11-27 15:11:06 -05:00
Kyle Spearrin
b07dc8443e default to "My Vault" option 2017-11-27 14:41:15 -05:00
Kyle Spearrin
214f308027 Revert "disable fingerprint test"
This reverts commit c1ce971adb.
2017-11-27 13:56:11 -05:00
Kyle Spearrin
c1ce971adb disable fingerprint test 2017-11-27 13:25:19 -05:00
Kyle Spearrin
4879d906d9 filtered results for groupings and favorites 2017-11-27 09:47:49 -05:00
Kyle Spearrin
aaea0b2659 vault list grouping page 2017-11-24 23:15:25 -05:00
Kyle Spearrin
c9ceb09906 add collection syncing 2017-11-24 16:11:40 -05:00
Kyle Spearrin
3b44ede67e refactor message center use to services 2017-11-21 23:08:45 -05:00
Kyle Spearrin
84e79e92b4 add other items to autofill from app page 2017-11-20 16:07:33 -05:00
Kyle Spearrin
0dd9ad43e8 clear cache 2017-11-16 17:18:25 -05:00
Kyle Spearrin
c1ae3f1fb2 cache ciphers 2017-11-16 16:51:43 -05:00
Alistair Francis
1d8fbac796 TokenService.cs: Check if key exists before deleting it (#168)
To avoid errors in Task<ApiResult<TokenResponse>> when logging in on
UWP apps ensure that we check that they key exists before we delete the
2FA key token.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
2017-11-13 07:47:57 -05:00
Kyle Spearrin
746a7c404b set custom icons server url 2017-10-23 23:20:35 -04:00
Kyle Spearrin
05f4036309 disable website icons option 2017-10-20 16:10:22 -04:00
Kyle Spearrin
0020bd0fb7 some remaining login => renames 2017-10-18 21:07:30 -04:00
Kyle Spearrin
1d6ec0f953 refactoring code for login => cipher support 2017-10-18 20:55:33 -04:00
Kyle Spearrin
7c6cc7b246 local push notification implementation from lib 2017-10-09 23:45:23 -04:00
Kyle Spearrin
e8486abccf change login to cipher apis 2017-09-20 17:37:09 -04:00
Kyle Spearrin
a426d98e92 change syncing to use new sync api 2017-09-20 13:17:05 -04:00
Kyle Spearrin
ea1b584436 fixes for mobile app uris 2017-09-15 08:12:24 -04:00
Kyle Spearrin
c6fe456cac more terms to ignore from package names 2017-09-12 17:18:59 -04:00
Kyle Spearrin
4008fb3a53 search packagename terms on android autofill 2017-09-12 17:01:13 -04:00
Kyle Spearrin
30407f5b4e handle iOS apps that don't specify a url properly 2017-09-09 13:41:10 -04:00
Kyle Spearrin
f5dd91afe5 parse IP addresses as base domains 2017-09-06 23:08:24 -04:00
Kyle Spearrin
62add53c08 clear org key cache 2017-08-30 22:15:10 -04:00
Kyle Spearrin
10b22e9e42 update and refactor for settings changes 2017-08-29 16:03:26 -04:00
Kyle Spearrin
5932dd99ad remove to web vault url 2017-08-28 18:08:26 -04:00
Kyle Spearrin
910f0083cd allow setting vault url for environment 2017-08-28 17:50:17 -04:00
Kyle Spearrin
b5107d21dd set custom environment urls from home page 2017-08-23 11:40:40 -04:00
Kyle Spearrin
0eb68ec461 revert old bearer code. use bearer scheme again 2017-08-10 10:16:58 -04:00
Kyle Spearrin
745ad3b9e9 better null checks for tokens 2017-07-31 10:23:52 -04:00
Kyle Spearrin
4e8f69f692 paperclip icon for attachments in listing 2017-07-23 00:09:24 -04:00
Kyle Spearrin
f9d336a3a6 attachments page with upload/delete 2017-07-22 15:38:08 -04:00
Kyle Spearrin
26c110291e totp code generation on view login 2017-07-13 14:44:02 -04:00
Kyle Spearrin
9879f074b4 decrypt with org id 2017-07-13 12:08:48 -04:00
Kyle Spearrin
e0c67f87b0 only clear cache if it hasnt been done in a while 2017-07-13 11:11:04 -04:00
Kyle Spearrin
0d672c4f99 sync attachment removals 2017-07-12 23:36:27 -04:00
Kyle Spearrin
ac3fdbc2cd download, decrypt and open attachment files 2017-07-12 23:09:44 -04:00
Kyle Spearrin
0a7ad44d23 sync and display attachments on view login 2017-07-12 16:23:24 -04:00
Kyle Spearrin
ae35bd2047 encode email for token service key 2017-06-27 16:51:16 -04:00
Kyle Spearrin
2f0ca6f7c0 user specific remember two factor 2017-06-27 16:45:12 -04:00
Kyle Spearrin
37428c01dd remeber two factor token 2017-06-27 16:35:29 -04:00
Kyle Spearrin
4116d95a3e refactors for new 2fa flows 2017-06-27 16:18:32 -04:00
Kyle Spearrin
7823ec3fc8 hmac check on rsa decrypt 2017-06-19 11:57:37 -04:00
Kyle Spearrin
93176989fd centralized crypto utils. keystore with rsa. 2017-06-05 21:04:19 -04:00
Kyle Spearrin
d018eeb376 key on login bug 2017-06-02 16:53:43 -04:00
Kyle Spearrin
753d01d413 update fingerprint libraries 2017-06-02 14:46:10 -04:00
Kyle Spearrin
5d2138b95e resolve push JIT 2017-06-01 11:29:08 -04:00
Kyle Spearrin
0b24cc29c1 check security stamp when syncing profile 2017-05-31 23:09:21 -04:00
Kyle Spearrin
2fa7b532b1 new enc key implementation 2017-05-31 22:47:19 -04:00
Kyle Spearrin
ffb51c1515 new autofill feature settings 2017-05-29 11:38:03 -04:00
Kyle Spearrin
6a1ff56e7b support new push models 2017-05-26 22:55:48 -04:00
Kyle Spearrin
7fd5209cdb always set backing key values 2017-05-25 12:50:39 -04:00
Kyle Spearrin
3415be4c56 handle some crash cases 2017-05-20 12:36:27 -04:00
Kyle Spearrin
d1cf6c68f3 identity server client for auth 2017-05-06 20:20:57 -04:00
Kyle Spearrin
2d6895aeea android app match fixes 2017-04-28 12:14:53 -04:00
Kyle Spearrin
cc63eb383d check that now is > LastActivity Date 2017-04-28 11:19:43 -04:00
Kyle Spearrin
01736ca685 Lock Screen Fixes
- Move settings to AppSettingsService
- Update activity on page disappaearing
- Always check if app is currently locked before updating last activity
date
2017-04-28 11:07:26 -04:00
Kyle Spearrin
bcb7d88ed7 Double HMAC comparison to prevent timing attacks 2017-04-27 12:14:45 -04:00
Kyle Spearrin
cf58c1b4b5 only fetch keys if there are some orgs 2017-04-26 11:58:52 -04:00
Kyle Spearrin
c8219b29c0 encrypted private key and org keys at rest 2017-04-25 16:05:13 -04:00
Kyle Spearrin
27e0c7421b rename CryptoKey to SymmetricCryptoKey 2017-04-22 14:37:01 -04:00
Kyle Spearrin
b26c3d050c sync org keys and refactors 2017-04-21 22:33:09 -04:00
Kyle Spearrin
439370e25a new push notification changes and syncing 2017-04-21 14:57:23 -04:00
Kyle Spearrin
1be4f6e20c add support for rsa oaep sha1 enc type 2017-04-21 13:40:29 -04:00
Kyle Spearrin
0d9ba92db4 null check on key retrievals 2017-04-20 14:23:58 -04:00
Kyle Spearrin
18b2b6f447 set org keys on login and decrypt org ciphers 2017-04-20 11:23:30 -04:00
Kyle Spearrin
490d1775a2 sync folders & added org id for ciphers/logins 2017-04-20 10:47:14 -04:00
Kyle Spearrin
458de2d2e0 set private key on login 2017-04-20 10:29:18 -04:00
Kyle Spearrin
51ae3fc62f clear keys on logout 2017-04-20 10:20:50 -04:00
Kyle Spearrin
58c5c55d09 extend crypto service for org keys 2017-04-20 10:20:24 -04:00
Kyle Spearrin
498379bb7e privatekey, rsa decryption, org key management 2017-04-20 00:06:11 -04:00
Kyle Spearrin
e7f3b115a4 refactor for enc type header and cryptokey 2017-04-19 23:16:09 -04:00
Kyle Spearrin
0ebfe85d8e centralize login code into auth service 2017-04-19 22:04:43 -04:00
Kyle Spearrin
82d4745da3 catch sql crashes in sync service 2017-03-11 12:26:10 -05:00
Kyle Spearrin
b435256911 handle locked status better. once locked, stay locked. 2017-02-17 23:03:54 -05:00
Kyle Spearrin
36d4ce8718 more updates to autofill flow 2017-02-13 22:10:34 -05:00
Kyle Spearrin
75201c9b30 Added fuzzy matches to autofill listing page. Allow autofilling from main vault search page when arriving from autofill service 2017-02-13 19:12:02 -05:00
Kyle Spearrin
4a0fc5ca0e crash fixes 2017-02-09 22:06:39 -05:00
Kyle Spearrin
539121070a Added equivalent domain checks to autofill listing filter. centralized logic in login service. 2017-02-08 23:58:37 -05:00
Kyle Spearrin
2a1bd92e1a sync domain settings 2017-02-08 22:04:07 -05:00
Kyle Spearrin
2d605f5dfb remove old sync helper for removing ciphers (was for inc syncing) 2017-02-08 20:45:56 -05:00
Kyle Spearrin
0cd09cf03a setup new settings service 2017-02-08 20:44:35 -05:00
Kyle Spearrin
3ad1e8a3ba set up user settings data table and access repository 2017-02-08 20:39:37 -05:00
Kyle Spearrin
a429dcf978 Fix wrong key when decrypting cipher with mac 2017-02-08 19:07:38 -05:00
Kyle Spearrin
a418fc810a log out when checking account reivison if authentication issue 2017-02-08 00:19:30 -05:00
Kyle Spearrin
8a525aee8a check old auth bearer for logged in status as well 2017-02-07 21:19:23 -05:00
Kyle Spearrin
463b0fa28a remove incremental syncs and move to full syncs with revision checks 2017-02-06 23:40:24 -05:00
Kyle Spearrin
74239521cd HandleTokenStateAsync before each API call for refresh and auth bearer migration 2017-02-04 23:31:37 -05:00
Kyle Spearrin
4a4779fc63 Converted auth to identity server endpoints and utilize bearer2 access token 2017-02-04 01:12:25 -05:00
Kyle Spearrin
fe778293c1 renaming files for Site => Login refactor 2017-01-03 00:25:17 -05:00
Kyle Spearrin
991afb7722 Reactor rename Sites => Logins 2017-01-03 00:17:15 -05:00
Kyle Spearrin
7bc38a35e8 Support for encrypt-then-mac 2016-12-10 22:05:52 -05:00
Kyle Spearrin
428e35237f null checks around Application.Current for SyncService. 2016-10-29 10:30:03 -04:00
Kyle Spearrin
fc1b825f46 cryptographically secure RNG for password generator 2016-10-15 01:18:12 -04:00
Kyle Spearrin
9c0c819dce remove unused instance of Random 2016-10-10 22:09:58 -04:00
Kyle Spearrin
ee883571da Settings plusin doesn't support string null values for default on android. ref https://github.com/jamesmontemagno/SettingsPlugin/issues/8 2016-08-29 23:06:29 -04:00
Kyle Spearrin
fb77747a1b Only process push messages for the current logged in user. Do not unregister from push on logout. 2016-08-20 22:18:05 -04:00
Kyle Spearrin
7b9c00cd77 More accurate push registration for android 2016-08-20 19:19:10 -04:00
Kyle Spearrin
ca4a00196a Android styling. Invoke lock and isbusy updates on main UI thread. ConfigureAwaits in sync service. 2016-08-17 00:39:42 -04:00
Kyle Spearrin
d3b1fed9b7 Track activity more accurately throughout the app & extension so that lock screen is not presented prematurly. 2016-08-08 19:00:36 -04:00
Kyle Spearrin
36629b0855 Optimized full and incremental syncs with IDictionary key/value lookup rather than enumerating the collections. 2016-08-08 18:59:47 -04:00
Kyle Spearrin
98ceaba5f5 Created anonymous app id for google analytics. 2016-08-06 19:03:48 -04:00
Kyle Spearrin
a267bf9cf7 adjusted put token by identifier to not have a response 2016-08-06 18:45:23 -04:00
Kyle Spearrin
8c8db7c34b catch when key is null 2016-08-06 03:10:54 -04:00
Kyle Spearrin
33a01c0512 Since a sync operation is running on a background thread and is long-running, it is possible someone could log out during its processing. Do some auth checking during the loops process. 2016-08-06 01:48:24 -04:00
Kyle Spearrin
48b5545a33 unregister push on logout. iOS has no concept of unregistering for push. 2016-08-06 01:43:48 -04:00
Kyle Spearrin
b1da05474a clear push token on unregister 2016-08-06 00:41:00 -04:00
Kyle Spearrin
38184e4893 Added "first load" check on site list to wait for sync to complete if key changed. Renamed "other" constants. 2016-08-05 23:58:31 -04:00
Kyle Spearrin
d96a94b478 store previous key and userid so we can determine if stored crypto is usable before a sync 2016-08-05 21:59:25 -04:00
Kyle Spearrin
2947809d78 Convert everything back to UTC since thats now settings plugin stores them. Move sync page ToLocalTime conversion. 2016-08-02 00:32:57 -04:00
Kyle Spearrin
6f800896c3 Removed BouncyCastle in favor of PCLCrypto. Created KeyDerivationService for Android using BouncyCastle. Applied key derivation service to CryptoService. Create iOS Test project. 2016-08-01 20:23:46 -04:00
Kyle Spearrin
d0fa6841c3 cascade null to sites on folder delete 2016-07-31 00:19:12 -04:00
Kyle Spearrin
a315f36e09 Moved local times to DateTime.Now. Styled sync page with last sync time shown. 2016-07-30 17:29:04 -04:00
Kyle Spearrin
c44726bd54 Moved to default lock of 15 minutes. Removed context options from vault list. Made folder add name selectable. 2016-07-30 16:39:52 -04:00
Kyle Spearrin
7b76f2c238 Incremental sync only every 30 minutes 2016-07-28 21:41:45 -04:00
Kyle Spearrin
9ef840412a Use secure storage for app id so that it will persist over reinstalls. Use separate app identifier for extension in hockeyapp. 2016-07-27 18:46:55 -04:00
Kyle Spearrin
0a2bc7f053 adjusted build configs for ios. safer parsing od push notifications 2016-07-23 15:04:05 -04:00
Kyle Spearrin
cf27ace05e support for two factor login flow 2016-07-23 02:17:11 -04:00
Kyle Spearrin
d0bf141c5d centralized lock logic into a new lock service to be shared to extension 2016-07-19 23:29:32 -04:00
Kyle Spearrin
81f2f2b1bb Moved BeginInvokeOnMainThread to App.cs 2016-07-19 22:00:28 -04:00
Kyle Spearrin
2fb2d99541 Invoke logout message always on main thread. 2016-07-19 19:38:13 -04:00
Kyle Spearrin
6c496bea14 Change sync started/compelted flag 2016-07-19 19:01:40 -04:00
Kyle Spearrin
d07210c7dc Centralized logout into a message subscription in app class. Logout when API results are forbidden or unauthorized. 2016-07-19 18:46:39 -04:00
Kyle Spearrin
d82c0d7d71 Lock by master password page. 2016-07-18 19:16:27 -04:00
Kyle Spearrin
b90c153353 Respect options on gneerate password. Allow override parameters to be passed into password generation service. Respect context password options. Copy password. 2016-07-15 01:01:00 -04:00
Kyle Spearrin
f2893e788d Added busy indicator for sync operations. Optimized vault list loading. Customized search bar appearance on iOS. 2016-07-11 23:55:16 -04:00
Kyle Spearrin
635b09de9b move CbcBlockCipher into crypto methods instead of singleton instance to avoid multithreaded issues 2016-07-11 20:14:24 -04:00
Kyle Spearrin
f0455aad74 async vault fetch and filter (search) tasks. Resolved singleton crypto issue around reuse of PaddedBufferedBlockCipher 2016-07-11 19:36:39 -04:00
Kyle Spearrin
d61d3c201a singleton Random() 2016-07-09 13:12:46 -04:00
Kyle Spearrin
29c7a0ccf0 background thread full/incremental sync operations. pool sqlconnection. sqlconnection to FullMutex mode for multithread environment. try/catch decryption errors. 2016-07-06 22:33:50 -04:00
Kyle Spearrin
55ed801fe7 Password generator page. Password generation service. Tests. Renamed some settings constants. 2016-07-02 02:01:47 -04:00
Kyle Spearrin
5a34d4cd6d Check push registration once per day 2016-07-01 19:16:47 -04:00
kspearrin
6d6f4b350b Fix build errors with delete repo contract change 2016-07-01 19:06:07 -04:00
Kyle Spearrin
8fd4e09b78 More sync operations with broadcast refreshes of listing pages 2016-06-30 20:08:34 -04:00
Kyle Spearrin
17af08b7d4 Removed disclosure from view cell in favor of button. Updated sync logic for incrementals. Store revision date from server record. Apply more accessability font size support for editor and picker controls 2016-06-30 18:53:43 -04:00
Kyle Spearrin
7a48128e43 Push notification and sync fixes 2016-06-30 00:36:44 -04:00
Kyle Spearrin
2d6e0bd95a Cipher api repository and various sync operations from push notifications. 2016-06-29 21:59:18 -04:00
Kyle Spearrin
818b1c426f push notification registration for iOS 2016-06-28 00:55:53 -04:00
Kyle Spearrin
a1798f68af added extension back ios project references 2016-06-24 00:04:32 -04:00
Kyle Spearrin
4cfa8e2dee device registration on login 2016-06-21 22:29:29 -04:00
Kyle Spearrin
0f5b2f5721 push device /w token to server upon registration 2016-06-18 16:20:31 -04:00
Kyle Spearrin
8677e9e7ae Setup push notifications for android and ios 2016-06-18 02:45:46 -04:00
Kyle Spearrin
a238523551 repurpose vaultlistpage to also serve favorites page 2016-06-14 23:23:05 -04:00
Kyle Spearrin
e85fd53d56 PIN settings page 2016-06-12 00:49:35 -04:00
Kyle Spearrin
a470f35465 fixed bug in crypto service where field was not being returned when set. 2016-05-18 23:09:17 -04:00
Kyle Spearrin
11f908aab2 folder delete 2016-05-17 23:25:40 -04:00
Kyle Spearrin
71be9f8780 save last sync in settings 2016-05-06 18:49:01 -04:00
Kyle Spearrin
decd3fc24e Added icons for iOS. Broke out data access into repositories. Added syncing service. 2016-05-06 00:17:38 -04:00