Commit graph

300 commits

Author SHA1 Message Date
Lysann Tranvouez
39dab8c6c0 decryption: GopenPGPInterface tries to identify decryption key from message metadata
So the system can have multiple private keys, and the caller doesn't
need to specify a specific one regardless.

Ideally: If there are several matches we could also take into account
which keys have already been unlocked (or passthrases saved in
keychain). Right now it only grabs the first match.
2026-03-11 00:20:08 +01:00
Lysann Tranvouez
01739e5aec decryption: always request key passphrase based on key ID 2026-03-10 17:14:11 +01:00
Lysann Tranvouez
c4f81c16eb move variables into smaller scope 2026-03-10 16:51:40 +01:00
Lysann Tranvouez
f0c21dd880 Merge branch 'feature/more-tests-pr' into feature/multi-key-support 2026-03-09 23:08:48 +01:00
Lysann Tranvouez
55b682b4b0 improve directory deletion/editing handling 2026-03-09 22:58:05 +01:00
Lysann Tranvouez
b8b7e1f913 PersistenceController tests 2026-03-09 22:58:05 +01:00
Lysann Tranvouez
cde82d956b rename file to match contained class 2026-03-09 22:58:05 +01:00
Lysann Tranvouez
98646242e0 fix deleting directory
this used to corrupt the local state (password entities remained in DB
but files/dirs were removed from git and disk)
2026-03-09 22:58:05 +01:00
Lysann Tranvouez
12c8c04203 test add, edit, delete 2026-03-09 22:58:05 +01:00
Lysann Tranvouez
60999c7eab more tests: entity fetching + erase 2026-03-09 22:56:27 +01:00
Lysann Tranvouez
7db85c9939 DO NOT MERGE
local development signing fixes
2026-03-08 21:08:36 +01:00
Allan Feldman
cb8305f014
(Fix) autofill / extensions and restore persistent storage location (#686) 2025-02-26 20:40:07 -08:00
Mingshen Sun
1d6785511a
Fix symlinks issue (#680) 2025-02-16 10:54:00 -08:00
Mingshen Sun
3292bd3652
Resolving symlinks in path (#679) 2025-02-15 23:38:23 -08:00
Mingshen Sun
1e79e12593
Cleanup duplicated code (#678) 2025-02-08 14:26:45 -08:00
Mingshen Sun
a43f2b017c
Set auto migration to false (#675) 2025-02-07 18:15:39 -08:00
Mingshen Sun
a69c4d16b1
Refactor git repository model (#674)
- Create a new model class for operations of Git repository.
- Refactor everything related with git.
- Add unit tests for git functions.
2025-02-02 22:18:16 -08:00
Mingshen Sun
d1de81d919
Refactor core data classes (#671) 2025-01-25 15:40:12 -08:00
Mingshen Sun
a410c9480a
Refactor YubiKey decryptor (#663)
- Add YKFSmartCardInterface extension to simplify smart card related calls
- Use async/await to rewrite callback closures
- Update YubiKeyConnection
- Better error handling
2024-12-15 21:08:27 -08:00
Mingshen Sun
c5d9d258d8
Use createPGPMessage instead of CryptoNewPGPMessage to support ASCII-armored password with YubiKey (#658) 2024-11-30 11:29:27 -08:00
Danny Mösch
1bdf9d684b Rely on SPM plugins to consume SwiftLint and SwiftFormat
Use their latest releases and fix some violations and issues.

# Conflicts:
#	.github/workflows/linting.yml
#	.github/workflows/testing.yml
2024-11-29 00:18:30 +01:00
Danny Mösch
d9bd0f3014
Update SwiftLint and SwiftFormat (#613)
* Update Swift version used by SwiftFormat

* Update SwiftLint version

* Rely on new virtual 'all' rule in SwiftLint

* Enable SwiftLint rule 'direct_return' rule and fix all violations

* Enable SwiftLint rule 'shorthand_optional_binding' rule and fix all violations

* Enable SwiftLint rule 'blanket_disable_command' rule and fix all violations
2023-04-23 13:01:37 -07:00
Mingshen Sun
da5aa61986 Update tab bar badge value immediately after sync 2023-03-18 15:54:18 -07:00
Mingshen Sun
3054e8e6f4 Fix YubiKey feature detection logics 2023-03-17 22:20:50 -07:00
Mingshen Sun
788adee1a7 Unify cell style for the password generator 2023-03-12 21:30:31 -07:00
Mingshen Sun
cdaf60da73 Do not init Yubikey if device does not support MFI accessory 2023-03-12 14:46:37 -07:00
Mingshen Sun
d078d3ca0a Use system colors (fix #608) 2023-03-10 20:34:30 -08:00
Dominik Johs
f2a0c4ccf1
do not dismiss views when application is resumed (#605)
* do not dismiss views when application is resumed

* prevents the PasswordNavigationViewController and PasswordDetailTableViewController from being dismissed when the app is put to the background and then brought back to the foreground
* Instead, the PasswordEntities are re-fetched from the context by their path to handle the re-creation of the entities during an update process that could have run in the background

* update SwiftLint to version 0.50.*

* update SwiftFormat to 0.51.*

---------

Co-authored-by: Mingshen Sun <bob@mssun.me>
2023-03-09 21:33:19 -08:00
Mingshen Sun
b09bc7444f Remove branches for iOS 12 compatibility 2023-03-09 11:40:33 -08:00
Anton Krasovsky
f6b2316324 Add support for Yubikey command chaining 2023-03-09 11:40:33 -08:00
Martin Nowak
3ab334dd00 fix #488 - support user field for completion
- a few other backends use `user` instead of `username` or `login`
  (e.g. gopass-jsonapi, keepass2csv importer, fpm2 importer)
- shorter to type when extracting field separately (e.g. CLI/clipboard) tools
2023-01-22 09:44:41 -08:00
Mingshen Sun
440b0123f2 Fix building issues with XCode 2022-05-23 10:54:11 -07:00
Mingshen Sun
90f1f54a21 Fix building issue 2022-05-22 21:40:35 -07:00
Mingshen Sun
955e50c3d3
Initial implementation of using YubiKey for decryption (#533) 2022-01-09 21:38:39 -08:00
Danny Moesch
819371f55e
Remove unused elements (#530) 2021-12-30 22:35:17 -08:00
Mingshen Sun
ff6a1edf62 Add confirmation prompt for removing keys (fix #491) 2021-12-29 16:19:12 -08:00
Danny Moesch
cdedff0d4d
Use SwiftFormat version 0.49.x and enable some new rules (#527) 2021-12-27 17:57:11 -08:00
Danny Moesch
b62c5fa2e5
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
2021-12-27 17:38:33 -08:00
Danny Moesch
b7e08dfb9e Enable SwiftLint rule 'static_operator' and fix all violations 2021-10-07 19:48:57 +02:00
Danny Moesch
831ffe2235 Use Self for internal static access 2021-10-07 19:19:56 +02:00
Danny Mösch
3eea063d61
Fix issues with OTP notification (#517)
* Use "Beta" since this is what Apple uses too
* Actually copy the OTP if the option is set
* Shorten notification text to make it fit to smaller screens
* Set notification center delegate before app launches
* Fix SwiftFormat issue fixed with version 0.48.12
2021-10-03 17:20:22 -07:00
Danny Mösch
32b7c9b635
Some cleanup especially regarding method references (#516)
* Remove superfluous method arguments in method references

* Use 'Self' for internal static access

* Convert static to instance field in singleton class

* Remove class name prefix in references to local methods

* Remove nested frameworks in all extensions and frameworks
2021-10-02 20:46:07 -07:00
Danny Mösch
e1cbcb5d7a
Add notification action to copy OTP or just inform about the copied OTP (#513)
* Add notification action to copy OTP or just inform about the copied OTP

The notification either shows the current OTP which can be copied by a notification action or it shows just a hint to inform about the copied OTP. This depends on the new option "autoCopyOTP".

* Extract method

* Set type and style one-time
2021-10-01 10:32:14 -07:00
Danny Mösch
763cddf540
Show notification with OTP after providing password through extension (#509)
* Allow to do something with a password after providing it in the extension
* Make fields non-nil
* Show OTP in notification after providing a password through extension
2021-09-20 00:50:05 -07:00
Mingshen Sun
f2ab400f4b
Support Steam OTP (#505) 2021-09-06 10:47:04 -07:00
Mingshen Sun
dab850f311
Check keychain every time to ensure changes propagate to extensions instantly 2021-08-31 20:36:16 -07:00
Danny Mösch
ab8eaaf97c
Already show password list in background before dismissing lock view (#497)
Currently it's like:

  1) Lock view is presented
  2) Authenticate
  3) Lock view disappears
  4) Browser is shown briefly
  5) Extension shows password list

This change skips step 4.
2021-08-29 14:54:56 -07:00
Danny Mösch
3eb131b65d
Fix file headers (#494) 2021-08-27 22:32:31 -07:00
Danny Moesch
b3eef51a9d Rename method 2021-08-27 22:03:00 -07:00
Danny Mösch
a83acd096a
Remove availability checks for iOS 11.0 (#486) 2021-08-16 12:59:46 -07:00