As part of an ongoing agenda to make SSHD less "monolithic" we have
re-factored the code and extracted MINA, Netty, SCP, SFTP and CLI to their
own modules. As part of this agenda I have been considering splitting the
*sshd-core* further into *sshd-utils* that will contain common support code
- e.g.

- Key utilities - including parsing key files
- Security utilities - the builtin ciphers, MAC(s), etc.
- Generic utilities - validation, buffer handling, thread pools, etc.


Besides better separation of concerns (and slightly faster build),the idea
is that some of these utilities are useful enough on their own - e.g., key
files parsing code that can be used by other projects that don't require
full-blown client/server.

Trying to anticipate some questions:

     - the moved classes will retain their original name and package - thus
facilitate smooth upgrade of future versions
    - I doubt this will make it into the next version (which I would like
to release in the very near future)
    - The dependency of *sshd-core* on *sshd-utils* will also pull this
dependency automatically in Maven when upgrading to the "split" version
    - Ideally, it would be great if we could further separate client from
server code, but initial (cursory) research shows this to be much more
complex than just splitting the utilities.
    - I have not started work on this and would also appreciate some
feedback on whether you think such an effort is worth the result

Thanks for your feedback,
Lyor G.

Reply via email to