Jan 11, 2011
I have been adding SFTP support to NSsh - I've attached the modified files. I've tested this against PSFTP, FileZilla and SharpSSH without problems. The changes include:
Addition of new supported channel types to ChannelRequestType and ChannelRequestPacket in NSsh.Common.
Addition of ulong and DateTime serialization support to Global in NSsh.Common.
Addition of subsystem channel support to Channel in Nssh.Server.
Implementation of sftp subsystem type, including all SFTP v3 requests and majority of v6.
Abstraction of file system implementation via IFileSystem and IFileInfo in NSsh.Server.
Implementation of simple file system via IHomeDirectoryProvider, BasicHomeDirectoryProvider and RootedFileSystem in NSsh.Server to provide access to all files and folders within NSsh server folder.
Fixed TransportLayerManager.ReadLine to accept lines terminated with newline only.
Fixed VersionsExchangedState to select algorithms based on client preference order rather than server preference order. I've left the existing code in place and used a #define to select the new behavior in case there was some reason for the existing behavior that I wasn't aware of (fixes a bug when connecting with SharpSSH).
Added new SFTP dependenciese to NSsh.Server.Console and NSsh.Server.Service.
I hope these changes are of some use to you. Can you please also add me as a developer to this project so I can update the SFTP support as necessary?