Fantastic project. In my personal time, I'm working with it attempting to implement an old school Bulletin Board System with SSH as the transport rather than Telnet or a Modem and it's going pretty well (though slowly since personal time is relatively
I noticed when first experimenting with your server implementation that I was getting disconnected after any reasonable amount of data was sent. NSsh didn't know what to do with a Channel Request of type "email@example.com",
so it throws an exception (Invalid Channel Request: ...) and disconnects the session.
It appears this channel request type was added to PuTTY after 0.60 and is unique to PuTTY. I reviewed the documentation here: http://tartarus.org/~simon/putty-snapshots/htmldoc/AppendixF.html#sshnames, and it indicates that the server should respond
with SSH_MSG_CHANNEL_FAILURE so I adjusted the code accordingly. My fix was to simply add the channel type to ChannelRequestType.cs and respond with ChannelFailurePacket in RequestReceived(ChannelRequestType packet) in Channel.cs. I am not an SSH
expert so this may be horribly wrong, however, but based on the logs I received from PuTTY, the server appears to be handling that request according to spec with my fix. I'm also not getting disconnected due to that request type.
I have already changed a lot of your application to suit my needs so in order to produce a patch, I'm going to have to grab the latest build. Before doing so, I thought I'd ask you how you prefer patches to be submitted to you and make sure I'm not
redoing work you've already completed but haven't sent up yet.
I also didn't see a link or method to donate monetarily. If I actually ever finish my project it will be partly due to your hard work. I think this is one of only two open source SSH server implementations in C# and it's the only one I could
actually get to work :o).