Commit Graph

  • 0da2c06ded Small doc fixes, fix warnings and prepare for beta 2. Gert Driesen 2014-11-22 12:27:11 +00:00
  • 2659048654 Prepare for 2014.4.6-beta2. Gert Driesen 2014-11-22 11:58:42 +00:00
  • 007112d2b4 Rephrase buffer size change. Gert Driesen 2014-11-22 11:57:05 +00:00
  • 52b97729e2 Reduce default buffer size as workaround for SSH servers issues. Gert Driesen 2014-11-22 11:17:18 +00:00
  • c45bc8f1a4 Document fix for issue #1844. Gert Driesen 2014-11-22 11:02:09 +00:00
  • a780cb9a56 Document fix for issue #1877. Gert Driesen 2014-11-22 10:56:44 +00:00
  • b1c90ea758 Document fixes for issues #2029 and #2400. Gert Driesen 2014-11-22 10:29:50 +00:00
  • c4b120e6a3 Fix Silverlight and WP compile. Gert Driesen 2014-11-22 10:25:50 +00:00
  • 3d3d76fe52 Introduce TrySendMessage method on Session which will not let SocketException or SshException exception bubble up, but instead return false in this case. Use TrySendMessage to send SSH_MSG_DISCONNECT, SSH_MSG_CHANNEL_EOF, SSH_MSG_CHANNEL_CLOSE and SSH_MSG_IGNORE messages to avoid throwing exceptions while closing/disposing or sending keep-alive messages. Avoid sending multiple keep-alive messages concurrently for the same client. Fixed regression in multi-factor authentication. Gert Driesen 2014-11-20 18:56:35 +00:00
  • 39a75ef91c Remove redundant this qualifier. Gert Driesen 2014-11-19 14:56:16 +00:00
  • 9da65f35a4 Remove redundant this qualifier. Gert Driesen 2014-11-18 18:08:25 +00:00
  • 188c313818 When disposing a client, (re)use Disconnect() to signal that we're disconnecting - hereby avoiding exceptions getting thrown for a waithandle timeout (waiting for a SSH response message). Note: may need to revisit this again to only avoid throwing exception waiting for a response on a disconnect or channel close/eof message. Gert Driesen 2014-11-17 20:30:47 +00:00
  • 26548e248a No longer disconnect the SSH session whenever a timeout occurs waiting for a WaitHande to become signaled. Gert Driesen 2014-11-17 20:09:35 +00:00
  • e1abcd2a08 Remove redundant this qualifier. Gert Driesen 2014-11-16 21:04:34 +00:00
  • ab1a43aedc Document fix for issue 2010. Gert Driesen 2014-11-16 15:05:38 +00:00
  • 8b05e92d41 Avoid sending data on a socket that is closed (by ourselves). Gert Driesen 2014-11-16 15:02:51 +00:00
  • d80ce73c56 Do not set DontLinger socket option. Gert Driesen 2014-11-16 14:55:16 +00:00
  • 8e2ea99dd9 Increase backlog to 5. Gert Driesen 2014-11-16 14:52:59 +00:00
  • 861e291f44 Sync projects with .NET 4.x projects. Gert Driesen 2014-11-16 14:36:53 +00:00
  • b7d3a4fe5d Remove placeholder. Gert Driesen 2014-11-16 10:39:51 +00:00
  • cb430bb013 Add to TFS. Gert Driesen 2014-11-16 10:29:51 +00:00
  • f629f05081 Document fix for issue 1382. Gert Driesen 2014-11-16 10:15:39 +00:00
  • 6e11950d60 Added internal ctor to ScpClient that takes an IServiceFactory to allow for mocking of PipeStream. Added missing read (and check) of the returncode after a file copy command. Fixes issue #1382. Gert Driesen 2014-11-16 10:12:12 +00:00
  • 063338f524 Use Socket.Shutdown(SocketShutdown.Send) to signal FIN to remove party, and allow socket to close in a clean way. Gert Driesen 2014-11-13 19:09:47 +00:00
  • 4dbbf7514f Create output buffer after padding to ensure its length matches the padded length. Fixes issue #2547. Gert Driesen 2014-11-12 20:45:43 +00:00
  • 80a193ec50 Removed redundant this qualified. Changed accessibility of _blockSize to private. Gert Driesen 2014-11-12 18:58:46 +00:00
  • 62ab1d4114 Document fix for issue #2013. Gert Driesen 2014-11-12 18:49:44 +00:00
  • 71664e2c93 Channel: Gert Driesen 2014-11-12 18:48:20 +00:00
  • 3a5edc9077 Added missing checks for availability of session. Gert Driesen 2014-11-11 12:53:03 +00:00
  • 7ca7bae4e8 Added basic tests for Pipestream. Gert Driesen 2014-11-11 11:14:15 +00:00
  • 4733eff54e Implemented basic tests for SemaphoreLight. Gert Driesen 2014-11-11 10:24:01 +00:00
  • 04d4c18a13 Remove redundant this qualifiers. Change SubsystemSession._operationTimeout into a read-only OperationTimeout property. FlagsAttribute is used as a bit field, so mark it as such. Gert Driesen 2014-11-09 08:55:37 +00:00
  • 9366658bc4 Added simple ServiceFactory to allow unit testing of SshClient. When disposing SshClient, make sure to stop forwarded ports before the session is closed. Gert Driesen 2014-11-08 19:43:22 +00:00
  • 4d7c01572a Remove redundant this qualifiers. Gert Driesen 2014-11-08 19:16:03 +00:00
  • e35b79f4eb Remove redundant this qualifier. Gert Driesen 2014-11-08 09:12:31 +00:00
  • 0cb4194d50 Remove redundant this qualifier. Gert Driesen 2014-11-08 09:10:56 +00:00
  • 174f388ad2 Improve robustness of client channel by not letting an exception - that occurs while processing events signaled by session - bubble up to the session where this would cause the message loop to interrupt, and hence the SSH client would be disconnected. Gert Driesen 2014-11-08 08:57:39 +00:00
  • 73e2b2517c Remove redundan this qualified. Gert Driesen 2014-11-08 08:54:35 +00:00
  • c1f8e06c25 Immediately exit Bind when the client socket has shut down. The SSH_MSG_CHANNEL_EOF message is now only sent from Close(bool), and we now only ever wait for an SSH_MSG_CHANNEL_CLOSE message once the client has shut down. The SSH_MSG_CHANNEL_EOF which is sent by the server is now only used to interrupt the blocking receive on the client socket, and close it. Gert Driesen 2014-11-07 22:20:06 +00:00
  • 45f99561b4 Channel: * Improve robustness of channels by not letting an exception - that occurs while processing events signaled by session - up to session where this would cause the message loop to interrupt, and hence the SSH client would be disconnected. Instead, exceptions that are thrown during processing of session events are now signaled using a new Exception event. * Renamed RequestSuccessed event to RequestSucceeded, fixing a typo. Gert Driesen 2014-11-07 19:07:14 +00:00
  • a0bc7f61a5 Document fix for issue #1558. Gert Driesen 2014-10-26 19:10:28 +00:00
  • 00ed218425 Added internal IForwardPort interface to allow mocking of forwarded ports. Added internal IChannelDirectTcpip and IChannelForwardedTcpip interfaces. Extended ISession and IConnection interface to allow for unit tests of ChannelDirectTcpip. Gert Driesen 2014-10-26 19:06:58 +00:00
  • ba309fc716 Modify accessiblity of Authenticate to internal, and modify IsAuthenticated depending on the outcome of the authentication. Gert Driesen 2014-10-26 07:51:41 +00:00
  • 3bfd1fbef1 Include signing key in source download. Fixes issue #2455. Gert Driesen 2014-10-19 15:09:49 +00:00
  • 542b2f80ba Added SftpClientTest.Connect.cs to test project for .NET 3.5. Do not use TPL to allow tests to work on .NET 3.5. Gert Driesen 2014-10-19 14:40:46 +00:00
  • 6423b7e0a0 Make internal methods available to castle proxies. Gert Driesen 2014-10-19 14:38:41 +00:00
  • 446354ed6b Document fix for issue #1845. Gert Driesen 2014-10-19 14:25:15 +00:00
  • 23a178f7aa Document exceptions for ConnectionInfo constructors. Improve exception messages for argument checks. Only perform null argument check for hosts. Fixes issue #1845. Gert Driesen 2014-10-19 14:17:56 +00:00
  • acaae44836 Fix exception documentation for BaseClient.Connect() and Session.Connect(). Added SftpPathNotFoundException to doc for SftpClient.Get(String) and SftpClient.GetAttributes(String). Do not throw exception in Session.Disconnect() and Session.Dispose() when socket is not connected. Fixes issue #2148. Gert Driesen 2014-10-19 11:14:50 +00:00
  • 8678d087d9 Modify ShellStream.ReadLine() to take into account multi-byte character. Fixes issue #2190. Modify ShellStream.Write(string) to write nothing when text is null. Added unit tests. Gert Driesen 2014-10-18 17:40:58 +00:00
  • 60c46ce3fd Improve doc. Gert Driesen 2014-10-18 11:54:42 +00:00
  • 764296f9ed Fix some R# warnings, and modify ReadLine to use use ordinal comparison for IndexOf. Gert Driesen 2014-10-18 11:33:26 +00:00
  • 38f6ea32e5 Fix unsubscribe from channel events. Gert Driesen 2014-10-13 18:48:16 +00:00
  • a161d1b28e Unsubscribe from events before we dispose the channel, as we do not want to get these events signaled while disposing. Gert Driesen 2014-10-12 19:05:51 +00:00
  • 7909033f47 Remove unnecessary assembly references. Gert Driesen 2014-10-12 18:44:12 +00:00
  • af7a3b89f5 Fixed typo in xml doc. Gert Driesen 2014-10-12 18:29:28 +00:00
  • b40adc2f40 For now, remove SocketRead overload that takes timeout as on .NET do not support this yet. Document fix for issue #1935 and #2223. Gert Driesen 2014-10-12 08:19:03 +00:00
  • e76c06251d Fix lots of issues in Silverlight socket methods. Fix SocketReadLine (in both .NET and Silverlight) to return null when remote server has shut down the socket. Skip any lines in response from SSH server before the protocol identification string. Fixes issue #2223. Gert Driesen 2014-10-12 07:56:28 +00:00
  • 7a9ba8da32 Signal Connected event when a client established a connection to the listener. Gert Driesen 2014-10-12 07:44:55 +00:00
  • ff3bf965c6 Avoid code duplication. Use Session.SilverlightShared from Silverlight (v4) project. Gert Driesen 2014-10-12 07:38:40 +00:00
  • c3350803bf Fix R# warnings. Gert Driesen 2014-10-12 07:36:01 +00:00
  • 4c1d8d8a95 Added new interfaces to Silverlight and WP project files. Gert Driesen 2014-10-11 11:29:42 +00:00
  • e79b567365 Dispose channel on EndExecute. Fixes issue #2295. Add encoding argument to SshCommand ctor. Gert Driesen 2014-10-11 11:20:26 +00:00
  • 965a0ba4c7 Introduce IChannel and IChannelSession interface to allow for unit testing. Gert Driesen 2014-10-11 10:40:08 +00:00
  • 67a0242dc0 Document fix for issue #2399. Gert Driesen 2014-10-11 10:20:48 +00:00
  • c270662690 Added ClientAuthentication and newly introduced interfaces to remaining projects. Gert Driesen 2014-10-06 18:29:18 +00:00
  • 2427090ecb Added ISession, IAuthenticationMethod and IConnectionInfo interfaces to allow mocking. Extracted authentication logic into ClientAuthentication class to allow improve testabiity. When a given authentication method has already been authenticated against, then skip the method if there are still alternative authentication methods. Fixes issue #2399. Added test for several authentication scenarios. Gert Driesen 2014-10-06 18:24:20 +00:00
  • 889184a11a Added ChannelDirectTcpip.SilverlightShared.cs to SL projecT. Gert Driesen 2014-10-06 17:43:09 +00:00
  • 2d06002ef7 Add WaitOnHandle overload that takes the time to wait for any of the handles to become signaled. Gert Driesen 2014-10-06 17:15:25 +00:00
  • acaab92df9 Add draft of ChannelDirectTcpip for Silverlight. Gert Driesen 2014-10-06 17:01:24 +00:00
  • d2e394430f Use SilverlightShared version of classes from Silverlight. Remove unused imports. Gert Driesen 2014-10-06 16:04:23 +00:00
  • dc011ae0de Minor correction to docs. Improved exception messages. Avoid race condition when raising events. Gert Driesen 2014-05-15 19:14:51 +00:00
  • 9e52280d38 Document fix for issues #1942 and #1944. Gert Driesen 2014-05-08 19:07:21 +00:00
  • c7787a5783 Fix some minor warnings, and code formatting. Gert Driesen 2014-05-07 19:40:56 +00:00
  • e1c620bfd2 Avoid initializing HostKeyEventArgs when there are no event handlers registered. Gert Driesen 2014-05-07 19:11:04 +00:00
  • ac180a580a Use lambda expression. Gert Driesen 2014-05-07 19:09:56 +00:00
  • 8c4e3119ef Support an acceptable group of up to 8192 bits for SHA-1 and SHA-256 Diffie-Hellman Group and Key Exchange (issue #1973 and #1777), and refactor corresponding classes to avoid code duplication. Gert Driesen 2014-05-07 18:21:30 +00:00
  • 57496a4f3f Remove nullOnError argument for RequestFStat and RequestLStat as it was never used. Gert Driesen 2014-05-04 19:27:37 +00:00
  • a50a5ec8ec Document SftpPathNotFoundException for Delete overloads. Fixed a few minor typo's. Gert Driesen 2014-05-04 19:26:16 +00:00
  • d769506f31 Use SSH_FXP_LSTAT to determine whether a given file or directory exists. Fixes issues #1952, #1696 and #1574. Gert Driesen 2014-05-04 19:05:35 +00:00
  • 43836a5b50 Added support for ssh.com private keys. Fixes issue #1987. Gert Driesen 2014-05-02 09:41:41 +00:00
  • 78f13742b3 Fixed typo in remarks. Gert Driesen 2014-05-02 08:35:34 +00:00
  • 2192dc0241 Improved accuracy of IsConnected on .NET. Gert Driesen 2014-04-18 18:56:53 +00:00
  • 4021d3ce4f Also create source zip file as part of build. Gert Driesen 2014-04-18 18:05:20 +00:00
  • a22b002dd8 Fix some warnings. Gert Driesen 2014-04-18 17:56:33 +00:00
  • 172cf7b09c Renamed ChannelAsyncResult.cs to CommandAsyncResult.cs to match name of class. Removed command argument from CommandAsyncResult as its never used. Gert Driesen 2014-04-18 17:55:15 +00:00
  • 1858623c96 Remove commented code. Gert Driesen 2014-04-17 17:48:56 +00:00
  • fa5e42d0ca Removed a few conditions from IsSocketConnected that have been moved to IsConnected. Fixed a few warnings. Gert Driesen 2014-04-15 16:29:33 +00:00
  • d3f750aa79 Unsubscribe from events before disposing WaitHandles. This reduces the likelyhood of invoking Set() on a disposed WaitHandle. Incomplete fix for issues #1944 and #1942 as eventhandlers could still be invoked after unsubscription. Gert Driesen 2014-04-10 19:00:40 +00:00
  • 0a8ac33d46 Unsubscribe from events before disposing WaitHandles. This reduces the likelyhood of invoking Set() on a disposed WaitHandle. Incomplete fix for issues #1944 and #1942 as eventhandlers could still be invoked after unsubscription. Gert Driesen 2014-04-10 18:56:29 +00:00
  • 61b712a512 Fix issue #1943: Client channels are no longer closed on dispose Gert Driesen 2014-04-07 13:20:26 +00:00
  • 53cd872b89 Document fix for issue #1764: Incorrect copyright in assemblies Gert Driesen 2014-04-06 15:07:17 +00:00
  • 239a425225 Fix indentation of release notes. Gert Driesen 2014-04-06 12:31:52 +00:00
  • 92231b5150 Shall we make it 2014.4.6-beta1, right :p Gert Driesen 2014-04-06 09:13:53 +00:00
  • 039f7fea7b 2013.4.6-beta1 Gert Driesen 2014-04-06 09:08:14 +00:00
  • fea1433f2a Fix compile on WP. Gert Driesen 2014-04-06 09:02:37 +00:00
  • 8568283583 Add SandCastle folder under Build. Fix formatting of comment in SandCastle build script. Gert Driesen 2014-04-06 06:57:25 +00:00
  • 069b373343 Remove linefeed from WriteLine method in Shellstream class (issue #1584). Guard against NRE in Channel_DataReceived. Gert Driesen 2014-04-05 12:47:30 +00:00
  • 46d15325e9 Use an int to hold position when iterating of state. Stuck loop on key exchange using arcfour encryption (issue #1922) Gert Driesen 2014-03-31 18:55:22 +00:00
  • fbd482fd63 Split up data in multiple messages when it does not fit in remote window size. This prevents timeout when sending data to server with a low window size and which adjusts the window size very conservatively (issue #1706) Gert Driesen 2014-03-31 18:44:35 +00:00