| Age | Commit message (Collapse) | Author | Files | Lines |
|
* idea: default test runner to Gradle
* Kick off package structure revamp
* Reparent all classes under dev.msfjarvis.aps
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* GitOperation: set a 10 second connection timeout
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Update changelog
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* GitCommandExecutor: make committer match author
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Add changelog entry
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* Workaround AndroidX lifecycle requirements in OpenKeychain auth
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* CHANGELOG: add OpenKeychain fix
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
Using ECDSA either as a key exchange or a host key algorithm fails with
SSHJ 0.30.0 on Android, but should again become possible in 0.31.0.
While we wait for the release, demote ECDSA in the list of key
algorithms (as it should still be available for public key auth) and
remove it from the list of key exchange algorithms.
|
|
|
|
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* BaseGitActivity: unwrap root cause for InvalidRemoteException as well
JGit's InvalidRemoteException, like TransportException, swallows more
useful errors as is clear from this (redacted) snippet.
```
D org.eclipse.jgit.api.errors.InvalidRemoteException: Invalid remote: origin
D at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:26)
D at org.eclipse.jgit.api.PullCommand.call(PullCommand.java:41)
D at com.zeapo.pwdstore.git.GitCommandExecutor$execute$2$result$1.invokeSuspend(GitCommandExecutor.kt:2)
D at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:3)
D at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:15)
D at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:1)
D at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:13)
D Caused by: org.eclipse.jgit.errors.NoRemoteRepositoryException: ssh://msfjarvis@[fe80::dead:beef]:22/pass-repo: fatal: '/pass-repo'
does not appear to be a git repository
D at org.eclipse.jgit.transport.TransportGitSsh.cleanNotFound(TransportGitSsh.java:14)
D at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:20)
D at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:1)
D at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:1)
D at org.eclipse.jgit.transport.Transport.fetch(Transport.java:20)
D at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:18)
```
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Add changelog entry
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
(#1100)
* Ensure we're creating dialogs on the main thread
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Remove unused operation type
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Refactor launchGitOperation to use an enum
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* Offer password SSH authentication after publickey
* git: re-add back button handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Hide unsupported authentication methods
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* GitCommandExecutor: cleanup and address build warning
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Address review comments
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* DecryptActivity: hide menu items until decrypt finishes
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Add changelog entry
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* git: re-add back button handling
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Hide unsupported authentication methods
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* GitCommandExecutor: cleanup and address build warning
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Address review comments
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* DecryptActivity: hide menu items until decrypt finishes
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* GitServerConfigActivity: don't finish on failure
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* 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>
|
|
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
Each activity that inherits from it should handle its own navigation
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
|
|
|
|
* Remember HTTPS password throughout a sync operation
* Add CHANGELOG.md entry
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
* 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>
|
|
|
|
|
|
Let the PasswordFinderCredentialsProvider support Username as a
CredentialItem type and return the user part of the repository URI when
it is requested.
|
|
Fixes #1038
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* 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>
|
|
* 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>
|
|
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.
|
|
* 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>
|
|
* 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
|
|
|