aboutsummaryrefslogtreecommitdiff
path: root/app/src
AgeCommit message (Collapse)Author
2020-09-05PasswordRepository: add custom FS factory for symlink capabilities (#1081)Harsh Shandilya
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-09-05DecryptActivity: properly calculate remaining OTP time on first pass (#1080)Harsh Shandilya
* DecryptActivity: properly calculate remaining OTP time on first pass We default to 30 seconds for each recalculation but the first run might not have 30 seconds left in its period, making the value stale much earlier. While most websites offer another 30 seconds of validity for TOTP codes, many do not, thus making it hard to enter a correct OTP Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-05Update Public Suffix List data (#1079)github-actions[bot]
2020-09-04Assorted UX improvements (#1077)Harsh Shandilya
* CredentialFinder: allow seeing password when retrying Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * GitOperation: bail out early when SSH key is missing Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * OnboardingActivity: finish all activities in onBackPressed Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update CHANGELOG Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-04Add migration to new SshKey backend (#1076)Fabian Henneke
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-04Revamp onboarding logic (#1068)Harsh Shandilya
2020-09-04Remove BaseGitActivity's onOptionsItemSelected override (#1075)Harsh Shandilya
Each activity that inherits from it should handle its own navigation Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-03Refactor Git operations and auth (#1066)Fabian Henneke
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-01Add Keystore backend for SSH public key authentication (#1070)Fabian Henneke
2020-08-29Simplify decrypt intent creation (#1069)Alexander Kirillov
2020-08-28Add Activity to view the Git commit log (#1056)Nosweh
2020-08-27Do not return stored password on first retry (#1061)Fabian Henneke
2020-08-27Remember HTTPS password throughout a sync operation (#1062)Fabian Henneke
* Remember HTTPS password throughout a sync operation * Add CHANGELOG.md entry Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-27Delete HTTPS instead of SSH key password on error (#1060)Fabian Henneke
2020-08-27Expand show hidden folders to also cover files (#1059)Harsh Shandilya
* PasswordItem: only strip .gpg suffixes Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Add preference key and migration for showing all hidden contents Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Allow showing both hidden files and directories Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Add tests for hidden folder setting migration Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Add changelog entry Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Slightly improve migration logic Skip migration if old key is not found and always delete the previous key even if its set to false. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Tweak wording Suggested-by: Fabian Henneke <fabian@henneke.me> Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Assert previous key's removal in tests Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-26Get rid of explicit Git server protocol (#1054)Fabian Henneke
* Double check Git server protocol Ensure that the Git server protocol is not at odds with the URL scheme. Also move the Protocol switches below the URL to make it clear that the URL should be entered first. * Remove protocol selection from server config The protocol is now extracted from the URL, and the authentication mode selection is validated by GitSettings Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Don't use pref values for auth modes Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Apply suggestions from code review Remove now unused protocol mismatch result type Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> * Simplify migration logic and fix tests Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Revert "Simplify migration logic and fix tests" This reverts commit 1c4c4ba5fbc212843cb6b74dd29ac858eaea7582. * Detect URLs with null scheme as ssh * Add changelog entry Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-08-26Rename ConnectionMode to AuthMode and remove clone_ prefix (#1053)Fabian Henneke
2020-08-24Improve Git server config activity (#1051)Fabian Henneke
2020-08-24Return HTTPS URI username from CredentialsProvider (#1049)Fabian Henneke
Let the PasswordFinderCredentialsProvider support Username as a CredentialItem type and return the user part of the repository URI when it is requested.
2020-08-23Prevent racing double commits on password creation (#1047)Fabian Henneke
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-23BiometricAuthenticator: also allow Class 2 biometric implementations (#1046)Harsh Shandilya
Android OEMs are hellspawn Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-23BiometricAuthenticator: fix multiple regressions from AndroidX update (#1045)Harsh Shandilya
Fixes: 80e43e5675bf ("Update dependencies (#1039)") Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-22Don't use git config for setting author and email (#1043)Harsh Shandilya
Fixes #1038 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-22Autofill: add support for Bromite and Ungoogled Chromium (#1041)Devin J. Pohly
2020-08-21Update dependencies (#1039)Harsh Shandilya
* build: uprev dependencies Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Address deprecation warnings Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update autofill, appcompat and core Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-21Wrap password creation layout in ScrollView (#1036)Nosweh
2020-08-21Merge branch 'release' into developHarsh Shandilya
* release: build: bump version Update CHANGELOG Revert "Reland symlink support (#1020)" Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-21Revert "Reland symlink support (#1020)"Harsh Shandilya
This does not work below API 27. Fixes #1032 This reverts commit 087ab547c123e90eb4207bfe9080486d54fbf3ef.
2020-08-20Fix incorrect preference key (#1033)Harsh Shandilya
This too should have been base64 encoded Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-20Sort by recently used (#1031)Diogenes Molinares
* Sort passwords by recently used * reformat * modified CHANGELOG.md * restore format CHANGELOG.md * added new sharedPreferences file to manage recent password history * associate timestamp when rename category * associate timestamp when rename password * reformat * Update CHANGELOG.md Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> * Update app/src/main/java/com/zeapo/pwdstore/PasswordFragment.kt Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> * Update app/src/main/java/com/zeapo/pwdstore/PasswordFragment.kt Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> * use kotlin edit extension * Add changelog entry correctly Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Save paths as Base64 hashes Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Missed it Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-18Add SSHJ backend for OpenKeychain authentication (#995)Fabian Henneke
* Update sshj to 0.30.0 and improve algorithm order Updates sshj to 0.30.0, which brings support for rsa-sha2-* key types and bugfixes related to RSA certificates and Android Keystore backed keys. Along the way, this improves the algorithm preferences to be consistent with the Mozilla Intermediate SSH configuration (as far as possible, given that most certificate types and some encryption algorithms are not yet supported). We also add "ext-info-c" to the kex algorithm proposal to work around certain kinds of "user agent sniffing" that limits the support of rsa-sha2-* key types. * Add SSHJ backend for OpenKeychain authentication * Address review comments Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-18Preserve SSH key passphrase on connection errors (#979)Fabian Henneke
* Update sshj to 0.30.0 and improve algorithm order Updates sshj to 0.30.0, which brings support for rsa-sha2-* key types and bugfixes related to RSA certificates and Android Keystore backed keys. Along the way, this improves the algorithm preferences to be consistent with the Mozilla Intermediate SSH configuration (as far as possible, given that most certificate types and some encryption algorithms are not yet supported). We also add "ext-info-c" to the kex algorithm proposal to work around certain kinds of "user agent sniffing" that limits the support of rsa-sha2-* key types. * Preserve SSH key passphrase on connection errors Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-18Update sshj to 0.30.0 and improve algorithm order (#1026)Fabian Henneke
Updates sshj to 0.30.0, which brings support for rsa-sha2-* key types and bugfixes related to RSA certificates and Android Keystore backed keys. Along the way, this improves the algorithm preferences to be consistent with the Mozilla Intermediate SSH configuration (as far as possible, given that most certificate types and some encryption algorithms are not yet supported). We also add "ext-info-c" to the kex algorithm proposal to work around certain kinds of "user agent sniffing" that limits the support of rsa-sha2-* key types.
2020-08-17Allow adding digits and symbols in XkPasswd generator using mask-like values ↵glowinthedark
(#1023) * - XkPasswordGeneratorDialogFragment: add symbol/number mask to allow appending numbers+symbols via a mask such as `ddds` which would generate random.password123!; position of `d` and `s` is not currently considered; only the count is relevant * - update CHANGELOG.md * - update CHANGELOG.md * - rename constants * Update CHANGELOG.md Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> * - add missing marginTop * - add missing marginTop Co-authored-by: null <null> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: glowinthedark <glowinthedark> Co-authored-by: Harsh Shandilya <msfjarvis@gmail.com>
2020-08-16Also invert copy_on_decrypt preference value (#1024)Harsh Shandilya
Fixes: e0350043d0cb ("Disable automatic copy on decrypt by default (#1006)") Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-15Fix external storage UX (#1022)Harsh Shandilya
* build: update to Kotlin 1.4 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * UserPreference: finish if directory selection was triggered from an intent Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * PasswordStore: switch permission request to ActivityResultContracts Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * PasswordStore: fix activity reference Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * GitOperationActivity: make invalid values more obvious Would have caught this issue much sooner if I had just done this Fixes: 3d8cea596600 ("Improve permission handling logic (#732)") Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Assorted collection of hackery to make external storage use palatable Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-14Reland symlink support (#1020)Fabian Henneke
* Add symlink support to JGit (#1016) * Add symlink support to JGit * Fix a typo Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> * Prevent crash when following a broken symlink Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-13Restore workaround for preventing empty commits (#1019)Harsh Shandilya
* Revert "Add symlink support to JGit (#1016)" This reverts commit 5032696cec9da86c2ad97b9931e8d85feb18da0c. * Restore workaround for empty commits and document commands Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update app/src/main/java/com/zeapo/pwdstore/git/GitCommandExecutor.kt
2020-08-12Create only one SSH session per GitOperation (#1012)Fabian Henneke
2020-08-12Improve Git error message handling (#1011)Fabian Henneke
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-12Improve clone operation semantics (#1010)Harsh Shandilya
* Improve clone operation semantics Fixes #1003 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-11Notify user when remote branch is up-to-date (#1009)Harsh Shandilya
* Notify user when remote branch is up-to-date Fixes #1000 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-11Switch to URL-based Git config and refactor Git settings (#1008)Fabian Henneke
* Make Git config URL-based and refactor * Use Kotlin style null handling for string prefs * Also show an error if generated URL can't be parsed * Add some testcases for migration strategy Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-10Replicate key selection flow for directory creation (#999)Harsh Shandilya
* Replicate key selection flow Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Review fixes Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Set --user 0 in adb options to prevent automatically installing to work profile Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Fix committing regression Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-10Disable automatic copy on decrypt by default (#1006)Harsh Shandilya
Fixes #476 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-10Prompt user to install OpenKeychain when missing (#1005)Harsh Shandilya
* Prompt user to install OpenKeychain when missing Fixes #996 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-06Refactor uses of applicationContext and startActivityForResult (#997)Fabian Henneke
* Refactor uses of applicationContext and startActivityForResult This commit applies three types of refactoring: 1. Remove context argument from PasswordRepository companion functions by relying on Application.instance. 2. Introduce a sharedPrefs extension function on Context that returns the default SharedPreferences for the applicationContext. 3. Use OpenDocument() and OpenDocumentTree() contracts. * Drop toPasswordItem argument
2020-08-05Remove GitAsyncTask and replace with non-blocking coroutines (#865)Harsh Shandilya
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-31Switch to non-deprecated stdlib methods (#990)Harsh Shandilya
min and max were deprecated in favor of minOrNull and maxOrNull respectively to match their names to the typical naming format used by stdlib methods with nullable return types Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-07-30Fix two SMS Autofill crashes (#985)Fabian Henneke
SMS OTP Autofill currently crashes for two reasons: 1. Tasks.await has a precondition of not running on the UI thread. 2. Exceptions thrown from Tasks are always wrapped into ExecutionExceptions and need to be unwrapped before they can be identified as ResolvableApiException. This commit addresses both issues by making waitForSms a proper coroutine using withContext and a custom wrapper around Task<T> that relies on suspendCoroutine and automatically unwraps exceptions.