Move JGit off JSch?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxxxx/msg00520.html
[3] http://mina.apache.org/sshd/
[4] https://issues.apache.org/jira/browse/SSHD-25

-- 
Shawn.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]