aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java
AgeCommit message (Collapse)AuthorFilesLines
22 hoursbuild(deps): update Bouncy Castle to 1.86 and PGPainless to 1.7.8Danilo M.1-20/+1
Bouncy Castle 1.78.1 is affected by GHSA-574f-3g2m-x479, GHSA-9pwp-9qqc-pr26, GHSA-c3fc-8qff-9hwx and GHSA-qp49-qgx5-5m26, all fixed by 1.85. PGPainless 1.7.8 is the newest 1.x release. A root resolution rule keeps every Bouncy Castle module on the catalog version; before, bcpg 1.77 shipped next to bcprov 1.78.1. The new stack decrypts the OCB (LibrePGP) packets GnuPG 2.3+ emits by default, which the old one rejected as "non-standard AEAD". Drop the NonStandardAEAD error, its bottom sheet and strings, and replace the mislabelled aead_* fixtures (SHA-1 self-signed keys plus a message encrypted to an unrelated key) with a real GnuPG 2.5 key and OCB message that the tests now decrypt. The new fixture is a throwaway test key, so it is allowlisted in .gitleaksignore by fingerprint. Fix KeyUtils.isKeyUsable, which compared a Boolean to null and so accepted every key that parsed, including keys with no encryption subkey. A signing-only key fixture now covers the rejection path. Also: migrate the removed SelectUserId.firstMatch and deprecated addDecryptionPassphrase APIs, keep one copy of the Bouncy Castle META-INF/LICENSE.md in the APK, and move the existing InvalidPackage lint baseline entries to the bcpkix 1.86 jar. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
23 hoursfix: stop exporting DecryptActivity and validate decrypt pathsDanilo M.1-9/+16
DecryptActivity was exported without an intent filter, so any installed app could start it with arbitrary FILE_PATH/REPO_PATH extras (and crash it by omitting them). Nothing outside the app needs to launch it: shortcuts and the decrypt action go through LaunchActivity. LaunchActivity stays exported, so it now treats FILE_PATH as untrusted: the path is forwarded only when it canonically resolves to a regular file inside the password store, and REPO_PATH is always the real store directory instead of the caller-supplied value. Anything else falls back to the main screen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2024-09-28Reapply "refactor: use `Closeable#use` extension where applicable"Harsh Shandilya1-4/+1
This reverts commit 04f4b9804f10e4724bac22d40bf01711ff708533.
2024-09-28Reapply "refactor(app): inline pointless methods in `CryptoRepository`"Harsh Shandilya1-33/+17
This reverts commit cb22561878d4358dba974c16ba9a05cc693d411a.
2024-09-26Revert "refactor: use `Closeable#use` extension where applicable"Harsh Shandilya1-1/+4
This reverts commit 69513bf24613d4ba540bcdeaffe04dc9330a65a4.
2024-09-26Revert "refactor(app): inline pointless methods in `CryptoRepository`"Harsh Shandilya1-17/+33
This reverts commit b05a6d411b98393abe3bdbdd4f673bbe49e30f88.
2024-09-23refactor(app): inline pointless methods in `CryptoRepository`Harsh Shandilya1-33/+17
2024-09-22refactor: use `Closeable#use` extension where applicableHarsh Shandilya1-4/+1
2024-08-14directory structure setting moved to general settings (#3166)Alexander Grahn9-129/+133
* directory structure setting moved to general settings * Update app/src/main/java/app/passwordstore/util/settings/PreferenceKeys.kt Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> Signed-off-by: Alexander Grahn <agrahn@users.noreply.github.com> --------- Signed-off-by: Alexander Grahn <agrahn@users.noreply.github.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2024-08-14chore: add missing copyright headers and update existing onesHarsh Shandilya116-94/+204
2024-08-11add user ID input field (password creation/edit), may fix #1458 (#3161)Alexander Grahn4-52/+76
* add user ID input field (password creation/edit), may fix #1458 * fix: revert change to username label * refactor: rework FieldItem to drop hard-coded strings * refactor: drop unnecessary `.apply` --------- Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2024-08-11fix blocking createPasswordUI() when OTP is displayed (#3162)agrahn1-1/+1
2024-08-08fix(build): compile against SDK 35Harsh Shandilya1-1/+3
2024-08-04more robust switch actions in pgp settings (#3148)agrahn1-26/+56
* more robust switch actions in pgp settings * Update app/src/main/java/app/passwordstore/ui/settings/PGPSettings.kt Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> Signed-off-by: agrahn <agrahn@users.noreply.github.com> * Update app/src/main/java/app/passwordstore/ui/settings/PGPSettings.kt Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> Signed-off-by: agrahn <agrahn@users.noreply.github.com> * Update app/src/main/java/app/passwordstore/ui/settings/PGPSettings.kt Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> Signed-off-by: agrahn <agrahn@users.noreply.github.com> * formatting fixed (ktfmtFormat) --------- Signed-off-by: agrahn <agrahn@users.noreply.github.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2024-07-30fix: re-enable biometric lock featureHarsh Shandilya1-6/+9
Fixes #2802
2024-07-28fix crash due to passphrase caching after biom. authentication expired (#3141)agrahn2-14/+24
* fix crash due to passphrase caching after biom. authentication expired * fix: add missing imports --------- Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2024-07-25Fix application crash when disabling cache auto-clear option and potential ↵agrahn1-4/+24
attack vector (#3136) prevent app crash upon passphrase cache clearing
2024-07-24refactor: refine `CryptoRepository#{encrypt,decrypt}` APIsHarsh Shandilya3-33/+12
2024-07-24fix: use the same decryption flow in autofillHarsh Shandilya1-8/+19
Fixes #3131
2024-07-24refactor: import-alias `BiometricAuthenticator.Result`Harsh Shandilya2-11/+9
2024-07-23fix: only show cache checkbox when enabledHarsh Shandilya1-1/+5
2024-07-22add checkbox in passphrase dialog to clear cache (#3127)agrahn3-7/+54
* add checkbox in passphrase dialog to clear cache * instantiating PasswordDialog via newInstance, passing args as Bundle * refactor: put checkbox directly in the layout --------- Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2024-07-20enabling pgp passphrase cache with authentication (#3124)agrahn3-24/+34
* enabling pgp passphrase cache with authentication * clear passphrase cache on first autofill decrypt after screen off --------- Co-authored-by: Alexander Grahn <me@null.org>
2024-07-02clear passphrase cache, fix application crash on auto screen-off (#3108)agrahn3-22/+32
clear passphrase chache on screen-off
2024-05-29refactor(ui): tokenize spacingHarsh Shandilya3-13/+20
2024-05-29fix: bundle JetBrainsMono for monospace use casesHarsh Shandilya1-2/+7
2024-05-28chore: reformat with trailing commas changesHarsh Shandilya66-273/+184
2024-05-28fix: convert SettingsActivity to `onBackPressedDispatcher`Harsh Shandilya1-6/+9
2024-05-28Revert "refactor: properly use OnBackPressedDispatcher"Harsh Shandilya2-11/+15
Narrator: it was in fact not proper This reverts commit 7c9e563d969a34e6142f22db779b79101babc483.
2024-05-28refactor(compose): make theme decisions within `APSTheme`Harsh Shandilya4-12/+8
2024-05-27feat(pgpainless): add detection for passphrase-less messages (#3069)Harsh Shandilya3-2/+15
* WIP: feat(pgpainless): add detection for passphrase-less messages * refactor: test keys instead of the message This makes more logical sense
2024-05-26feat: add option to auto clear passphrase cacheHarsh Shandilya3-1/+41
Fixes #3053
2024-05-26fix: restore monospace typeface for passwordsHarsh Shandilya1-0/+4
Fixes #3066
2024-04-17Fix obtaining pgp identifiers to decrypting file. (#3009)Oleh Kopeykin2-17/+40
2024-04-14fix: special-case AEAD failureHarsh Shandilya2-15/+45
Fixes #2974 Fixes #2963 Fixes #2921 Fixes #2924 Fixes #2653 Fixes #2461 Fixes #2586 Fixes #2179
2024-03-17fix(deps): update kotlinresult to v1.1.21 (#2958)renovate[bot]5-74/+49
* fix(deps): update kotlinresult to v1.1.21 * refactor: fix deprecation warnings --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2024-03-12refactor: improve passphrase cache save logicHarsh Shandilya1-32/+26
2024-03-12fix: clear passphrase cache when disablingHarsh Shandilya2-2/+29
2024-03-12fix(autofill): populate passphrase cache on successful decryptionHarsh Shandilya1-0/+1
2024-03-10fix: remove cleartext check from StrictModeHarsh Shandilya1-1/+0
Apparently this is tripping up SSHJ. Probably fixes #2580 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2024-01-26fix(deps): update dependency com.slack.lint.compose:compose-lint-checks to ↵renovate[bot]1-1/+1
v1.3.1 (#2874) * fix(deps): update dependency com.slack.lint.compose:compose-lint-checks to v1.3.1 * refactor: address issues from compose-lints 1.3.x --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2024-01-22refactor: properly use OnBackPressedDispatcherHarsh Shandilya2-15/+11
2024-01-21fix: route navigation events correctlyHarsh Shandilya1-1/+3
Fixes #2865
2024-01-17fix: restore copy-on-decrypt featureHarsh Shandilya1-0/+3
2023-12-27Revert "fix: check if passphrase is necessary before asking for it"Harsh Shandilya2-13/+1
Didn't fix the issue. This reverts commit d8f76b33e9ea74eb567a115dd63559f6b27b2fce.
2023-12-25fix: check if passphrase is necessary before asking for itHarsh Shandilya2-1/+13
Updates #2836
2023-12-17refactor: rework `BiometricAuthenticator` APIHarsh Shandilya5-30/+57
Align internal representation with the AndroidX documentation
2023-12-16Add snackbar error message when .gpg-id contains a short hex id (#2819)Mathias Rav1-1/+3
2023-12-15Revert "Refactor SSHKey into a separate module (#2450)"Harsh Shandilya8-94/+55
This reverts commit 97b3577a463966e93d24649ff348fc4bb6825e50.
2023-12-15Revert "feat: put new SSH layer behind a feature flag"Harsh Shandilya9-127/+32
This reverts commit fb8d74fc1f01c73a4afc3003978ac4ad86e7b890.