New Features
SshClient
- A ForwardedPortDynamic now supports domain name addresses for SOCKS5 requests (issue #98).
Changes
Distribution
The NuGet Package Manager in Visual Studio 2012 does not support packages in which a given dependency is defined for more than one TFM. Since a fix for this issue is not expected any time soon, we're reviving support for a binary distribution.
This plain .zip file contains the SSH.NET assembly, and where applicable any dependencies, for all supported target frameworks.
For Visual Studio 2015 and higher, the SSH.NET NuGet package remains our primary distribution mechanism.
General
- Data of an SSH_MSG_IGNORE server request is now ignored when the specified length is greater than the actual available bytes (issue #41).
SshClient
ForwardedPort.Stop()
no longer throws ObjectDisposedException when the port is disposed.
Performance
- Reduce overhead when invoking both
Disconnect()
andDispose()
. - Improve performance of SSH message processing by eliminating use of dynamic dispatching.
Fixes
General
- Handle leak when connection to SSH server fails (issue #55).
- Race condition when both server and client close channel (issue #84).
- Suppressing a not-connected exception on socket shutdown (issue #86).
- Race condition when both server and client disconnect (issue #80).
- Do not consume request-specific data for SSH_MSG_GLOBAL_REQUEST (issue #58).
- SocketAsyncEventArgs leak establishing socket connection (issue #133 and #87).
SftpClient
- Uploads with a buffer size that is less than or greather than 32 Kb would corrupt (issue #70).
SshClient
Dispose()
throws exception when SSH session gets disconnected unexpectedly (issue #96).