Lysann Tranvouez
b1314dd8c3
Merge branch 'feature/multi-key-support' into feature/multi-repo
2026-03-12 22:52:10 +01:00
Lysann Tranvouez
4d564f570b
plan updates
2026-03-12 22:51:28 +01:00
Lysann Tranvouez
cd6dd43dae
do not search too far for .gpg-id + lots of tests for that
2026-03-12 22:47:39 +01:00
Lysann Tranvouez
5c416bfb21
test .gpg-id support
...
mostly using mocks
2026-03-12 09:33:26 +01:00
Lysann Tranvouez
38649f96fe
mocking prep: PasswordStoreTest has its own KeyStore
2026-03-12 09:32:04 +01:00
Lysann Tranvouez
e3de11f71c
PasswordStore: allow to pass in a specific PGPAgent implementation (for testing)
2026-03-12 09:32:04 +01:00
Lysann Tranvouez
77f85ccdd1
support reading several key IDs in .gpg-id files
2026-03-12 09:32:04 +01:00
Lysann Tranvouez
566b7253f5
remove overload, caller can take care of it in 2 step process
2026-03-12 09:32:04 +01:00
Lysann Tranvouez
e32402b807
streamline gpg-id handing
...
* decrypt should not care about it at all
* PasswordStore.decrypt always forwards the passed in keyID, even when
gpg-id handling is disabled
* PasswordStore.encrypt: streamlined, but should be same behavior
2026-03-12 09:32:04 +01:00
Lysann Tranvouez
054f333bac
deduplicate decrypt logic in PGPAgent
2026-03-12 09:32:04 +01:00
Lysann Tranvouez
b103337083
move function to be closer to related one
2026-03-12 09:32:04 +01:00
Lysann Tranvouez
5a92b6fda7
clarify public vs private keys + make prvate key IDs available
2026-03-12 09:32:04 +01:00
Lysann Tranvouez
4e19d9e714
remove irrelevant properties from mocks
2026-03-12 09:32:04 +01:00
Lysann Tranvouez
9e3e3d1134
remove fallback behavior
...
this logic should not be relevant anywhere
2026-03-12 09:32:04 +01:00
Lysann Tranvouez
e69e590e36
replace calls to deprecated function
...
changes PasswordStore.encrypt behavior when .gpg-id support is off
(default):
old:
* ignores passed in keyID
* encrypt with first public key in keychain (gopenPGP), or entire
keychain (ObjectivePGP)
new:
* honor passed in keyID
* encrypt with all keys in keychain
2026-03-12 09:32:04 +01:00
Lysann Tranvouez
09b0b150ce
PGPAgent can encrypt with multiple keys
2026-03-11 14:12:24 +01:00
Lysann Tranvouez
b7873e6d72
move functions around
2026-03-11 14:11:37 +01:00
Lysann Tranvouez
e728f26a20
move and rename test functions
2026-03-11 14:11:29 +01:00
Lysann Tranvouez
84eaf4ad7d
PGPInterface can encrypt with multiple keys, PGPAgent can encrypt with all keys
2026-03-11 14:11:07 +01:00
Lysann Tranvouez
8d4f3af475
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 13:41:59 +01:00
Lysann Tranvouez
f1cb5d27be
reference new version of gopenpgp with a new helper (HelperPassGetHexSubkeyIDsJSON)
2026-03-11 13:39:55 +01:00
Lysann Tranvouez
2ae751044c
decryption: always request key passphrase based on key ID
2026-03-11 13:32:21 +01:00
Lysann Tranvouez
d136175d93
add detailed API tests checking how calls to PGPAgent propagate to the underlying interface
...
this is refactoring support, so that we can notice changes in how the
underlying APIs are called, and make changes intentionally when needed,
instead of accidentally.
2026-03-11 11:36:36 +01:00
Lysann Tranvouez
76db529764
add long fingerprints for test keys
2026-03-11 10:34:54 +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
4c21ab99ad
add tests for AppKeychain
2026-03-09 22:58:05 +01:00
Lysann Tranvouez
c6a4f80503
add initPasswordEntityCoreData tests
2026-03-09 22:58:05 +01:00
Lysann Tranvouez
e1da1988b4
add save and decrypt round trip
2026-03-09 22:58:05 +01:00
Lysann Tranvouez
e195280efc
test resetting local changes
2026-03-09 22:58:05 +01:00
Lysann Tranvouez
c3bfa861f4
check file system and commits upon changes to store
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
98ad323431
check notification center notifications
2026-03-09 22:58:05 +01:00
Lysann Tranvouez
e5650ec756
add encrypt-save-decrypt roundtrip test
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
ef188fcfba
basic core data tests upon clone
2026-03-09 22:56:27 +01:00
Lysann Tranvouez
85972a02c3
include repo as text fixture, no need to clone from actual github
2026-03-09 22:56:27 +01:00
Lysann Tranvouez
17b6bb8bc2
fix test cleanup
2026-03-09 22:20:04 +01:00
Lysann Tranvouez
c30e1922f1
feature implementation plans
2026-03-09 15:02:48 +01:00
Lysann Tranvouez
7db85c9939
DO NOT MERGE
...
local development signing fixes
2026-03-08 21:08:36 +01:00
dependabot[bot]
53ae6426bd
Bump faraday from 1.10.4 to 1.10.5 ( #710 )
...
Deploying / build (release) (push) Has been cancelled
Testing / testing (push) Has been cancelled
Deploying / build (beta) (push) Has been cancelled
Bumps [faraday](https://github.com/lostisland/faraday ) from 1.10.4 to 1.10.5.
- [Release notes](https://github.com/lostisland/faraday/releases )
- [Changelog](https://github.com/lostisland/faraday/blob/main/CHANGELOG.md )
- [Commits](https://github.com/lostisland/faraday/compare/v1.10.4...v1.10.5 )
---
updated-dependencies:
- dependency-name: faraday
dependency-version: 1.10.5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-12 16:22:19 +01:00
dependabot[bot]
1a92996a47
Bump rexml from 3.3.9 to 3.4.2 ( #702 )
2025-09-17 23:28:05 +02:00
Mingshen Sun
c3e67967cc
Update YubiKit to 4.7.0
2025-06-08 16:35:50 -07:00
Danny Mösch
4288c4e218
Update dependencies ( #690 )
2025-04-04 10:43:59 -07:00
Mingshen Sun
dd4dd174d4
Update password in the destination controller when save edit ( #688 )
2025-03-02 11:43:46 -08:00
Mingshen Sun
0f482709ae
Version bump
2025-02-28 20:24:01 -08:00