git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Move JGit off JSch?
@ 2009-06-25 18:14 Shawn O. Pearce
  2009-06-25 20:52 ` Ferry Huberts
  2009-06-25 21:11 ` Robin Rosenberg
  0 siblings, 2 replies; 3+ messages in thread
From: Shawn O. Pearce @ 2009-06-25 18:14 UTC (permalink / raw)
  To: Robin Rosenberg; +Cc: git

I'm fed up with JSch.

The remote.<name>.timeout stuff I added recently to JGit causes
JSch to throw NPE on timeout[1] and the original author seems to
think that's a reasonable thing to do[2].

MINA SSHD[3] contains a different client implementation, licensed
under the Apache License 2.0.  Its currently missing public key
support[4] but the library is actually a pretty solid library,
and the author seems to have a decent clue.

I'm really starting to consider adding the public key support the
client side of MINA SSHD, and then rewriting TransportGitSsh to use
it instead of JSch.  The downside is, that really increases our
dependency chain, and SSH key management under Eclipse becomes a
unique EGit problem as we can't piggy-back onto the existing JSch
key management already done by the workbench.

But, I just spent the last ~3 hours digging around JSch trying to
fix this NPE bug... and realized the code is very thread unsafe,
uses at least 2 threads per connection (your thread, and a thread
it spawns for you) so you have no choice but to use threads, and
the author seems to think random NPEs are OK (see [2] and all of
the NPE bugs on sourceforge).

[1] http://jira.source.android.com/jira/browse/GERRIT-233
[2] http://www.mail-archive.com/jsch-users@lists.sourceforge.net/msg00520.html
[3] http://mina.apache.org/sshd/
[4] https://issues.apache.org/jira/browse/SSHD-25

-- 
Shawn.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-06-25 21:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-25 18:14 Move JGit off JSch? Shawn O. Pearce
2009-06-25 20:52 ` Ferry Huberts
2009-06-25 21:11 ` Robin Rosenberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).