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

[jcvs] jCVS and SSH


Hi All,

I am scoping what is required to add SSH1 support to jCVS v5.2.2 (I need to
access stuff on SourceForge) and I have only begun to look at the code this
morning (and joined the list minutes ago!). Not suprisingly, I have some
ideas/issues that I hope some of you wise folk might be able to help me
with:

1. Firstly, and this isn't jCVS specific, I am under the impression that
what needs to be done to use SSH for CVS authentication is:
  - establish an SSH connection including all the crypted exchanges
  - tunnel the normal CVS client/server protocol thru the SSH connection
(CVS is unaware that it is an SSH connection and doesn't care anyways)
  - when you are finished, close the SSH connection
  - ISSUES: password prompts and/or keyphrase prompts will need to be
handled, SSH connection may timeout (or be disconnected) if unused for a
while

2. From what I can see in class CVSClient, once openServer() establishes the
connection, all further communication is by way of this.instream &
this.outstream.
This suggests that I can isolate all the SSH interaction into this one
method logically and I can get an InputStream & OutputStream to an SSH
transport to return, then the rest of the program would just work as usual.
Is this assumption right?

3. There are a few other changes to establish METHOD_SSH1 as another
authentication type. There is also providing GUI support for actually
specifying SSL.

4. I am assuming that an SSH1 library is ready and waiting to be plugged in
but, this seems like the logical place to start. If it's going to be a real
pain to integrate anything into jCVS anyways then perhaps....tree?,
barking?, wrong?, up?. Am I?  ;-)

5. A quick hack would be to figure a way to provide a wrapper around an
exec'd command-line SSH1 client rather than a 100% Java solution. SSH1
replacement for rsh exist on pretty much every platform anyhows...

6. Have I missed something out?

Cheers!,

Micheal