torsdag 25 juni 2009 20:14:28 skrev "Shawn O. Pearce" <spearce@xxxxxxxxxxx>: > 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. Clues are useful :) > 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. I haven't really looked into JSch internals, but rewriting complex code without trying hard to fix the problem might not be worth it. New code /will/ have problems and having a different mechanism for key management is in some very obscure corner on the reverse side of my wish list. > But, I just spent the last ~3 hours digging around JSch trying to I'm not quite as efficient as you, but I've spent more than three hours on fixing much simpler things. > 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). Can't we bug him a little more, but then again patches are probably more convincing than bug reports. Perhaps you could explain the issues in more detail before we start rewriting the key management into SSHD. Should we raise a bug report in eclipse about replacing JSch, in order to get some feedback from Eclipse people? -- robin -- 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