* Increase maximum SSH packet size to 68536 bytes (64 KB + 3000 bytes).
* Increase local window size to 2 MB.
* Increase local maximum packet size from 32 KB to 64 KB.
* Modify Channel to save remote channel info (packet size, window size and channel number); distinguish between local and remote packet size.
* Expose channel in SubsystemSession to allow SftpSession to access local and remote maximum packet size for calculation of optimal read and write (buffer) length.
* Move verification of maximum data payload to send to Channel.SendMessage and verify data length against remote packet size.
* Limit size of payload to send to peer to RemotePacketSize in ChannelForwardedTcpip and ChannelDirectTcpip.
* Disable debug symbols when building in Release configuration.
* Added bool argument to BaseClient ctor to indicate whether the specified ConnectionInfo
instance is owned by the client.
* In Dispose, also dispose ConnectionInfo if ownsConnectionInfo is true.
* Modified Connect() to throw InvalidOperationException when the client is already connected.
* Postpone creation of keep-alive timer until client has actually connected, and stop timer
when disconnecting the client.
* Document default value of KeepAliveInterval.
* Modified all public members to throw ObjectDisposedException when client is disposed.
* Modified Dispose to stop the keep-alive timer (and wait until all timer callbacks have
been executed) before the session is disposed.
NetConfClient:
* Moved dispose of ConnectionInfo to BaseClient.
* Document default value of OperationTimeout and AutomaticMessageIdHandling.
ScpClient:
* Moved dispose of ConnectionInfo to BaseClient.
* Document default value of OperationTimeout and BufferSize.
SftpClient:
* Moved dispose of ConnectionInfo to BaseClient.
* Document default value of OperationTimeout and BufferSize.
* Modified all public members to throw ObjectDisposedException when client is disposed.
* Modified the WorkingDirectory and ProtocolVersion properties to throw
SshConnectionException when the client is not connected.
* When disconnecting the client, also dispose the SftpSession to avoid leaks and set it
to null as this is used to check whether the SftpClient is connected.
SshClient:
* Moved dispose of ConnectionInfo to BaseClient.
Session:
* include waithandle that signals when message listener has completed to avoid waiting for a response that can never be received
* throw SshConnectionException when message listener has completed (and no exception has been raised) if session is not disconnecting
* Modified IsConnected to also return false when:
- disconnect message has been sent to server
- the message listener completed waithandle is null or has been set (=listener thread has completed)
* Improved documentation of IsConnected property.
* Modified Disconnect() to also disconnect and dispose the underlying socket, and wait for the listener thread to complete.
Only send disconnect message if session is still connected.
* Modified Connect() to to reset connection-specific information to ensure state of a
previous connection does not affect new connections.
* Do not raise errors for SshConnectionException or socket timeout when session is disconnecting.
* Move any checks that are not socket related from IsSocketConnected to the IsConnected property.
* Modified IsSocketConnected on .NET to first check Connected property on underlying socket,
and when true use Socket.Poll with SelectRead in combination with Socket.Available to detect
if connection has been closed. Note that this does not detect loss of network connectivity.
* cleans the build output
* compiles the solution in Release configuration
* creates a NuGet package containing our assembly for all supported target frameworks
Added nuspec file, and updated it with information on
new features, breaking changes and fixes.
Removed generated NuGet package.
Apply patch 15311 - Fixes permission denied on their private key file.
Apply patch 15015 - Fixes the scp operations that are based upon streams.
Apply patch 15346 - Change socket to SocketOptionLevel.Tcp per microsoft documentation