You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Joern Guy Suess (Jira)" <ji...@apache.org> on 2021/03/16 03:43:00 UTC

[jira] [Created] (SSHD-1143) Example for JGit TransportConfigCallback with MINA

Joern Guy Suess created SSHD-1143:
-------------------------------------

             Summary: Example for JGit TransportConfigCallback with MINA
                 Key: SSHD-1143
                 URL: https://issues.apache.org/jira/browse/SSHD-1143
             Project: MINA SSHD
          Issue Type: Improvement
    Affects Versions: 2.5.1
            Reporter: Joern Guy Suess


JGit used to rely on JSch as its transport provider, but changed because JSch does not accept certain keys, including some OpenSSH ones.

If you are using a passphrase-encrypted key with JGit, the recommended approach with JSch used to be [to override a configuration callback, as shown in this blog article](https://blog.sebastian-daschner.com/entries/access-git-from-java).

The alternative is to [set a shared session factory](https://stackoverflow.com/questions/12502452/how-do-you-set-the-configuration-for-jschconfigsessionfactory-for-jgit-so-that-p#answer-15290861) and this [also what the Apache MINA team recommends with a pointer to the cost of creating sessions on demand](https://github.com/apache/mina-sshd/blob/master/docs/git.md#user-content-client-side).

However, my issue with this is that it sets a specific provider for the whole system scope. Consequently, I would like to implement [`TransportConfigCallback`](https://archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/api/TransportConfigCallback.html). Ultimately, this requires to adapt [`SshSessionFactory`](https://archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/transport/SshSessionFactory.html) to MINA's session initialization code and produce a [`RemoteSession`](https://archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/transport/RemoteSession.html).

Has anyone done this or seen any boilerplate code?

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@mina.apache.org
For additional commands, e-mail: dev-help@mina.apache.org