Commit Graph
1169 Commits
Author SHA1 Message Date
Gert Driesen 204d00c95c Raise Closed event before invocing Close() to make sure we do not raise this event after we finished disposing. 2017-09-16 02:08:15 +02:00
Gert Driesen 80ae79ca4c Avoid overlapping SSH_FXP_OPEN and SSH_FXP_LSTAT requests for the same file as this causes a performance degradation on Sun SSH.
Switch to a single (sync) read-ahead if the file size is known, and we're starting to read (ahead) past that file size.
Harden against exceptions closing the file handle in Dispose

Fixes issue #292.
2017-09-15 23:43:29 +02:00
Gert Driesen a7dbfbc1ef Merge branch 'develop' of https://github.com/sshnet/SSH.NET into develop 2017-09-11 21:53:10 +02:00
Gert Driesen 698ee15425 Please our mock tests. 2017-09-11 21:02:19 +02:00
Gert Driesen d681e915f5 Sync conditional compilation symbols. 2017-09-10 21:26:55 +02:00
Gert Driesen 25275ffe57 Rename const. 2017-09-10 21:07:18 +02:00
Gert Driesen 37bfb7c0c8 Remove usage of Linq. 2017-09-10 21:05:14 +02:00
Gert Driesen d90f16f720 set FEATURE_SOCKET_DISPOSE and FEATURE_WAITHANDLE_DISPOSE. 2017-09-10 20:56:21 +02:00
Gert Driesen f8e1b8029a Added more remote path transformation tests. 2017-09-10 20:55:48 +02:00
Gert Driesen b0db16bfdf Remove ExtensionsTest_ShellQuote.cs. 2017-09-10 20:55:08 +02:00
Gert Driesen 03644f00af Change AuthenticationMethod.AllowedAuthentications from IList<string> to string[].
Remove usage of Linq.
2017-09-10 20:54:14 +02:00
Gert Driesen 0e083cfe60 Move Extensions to Renci.SshNet.Common namespace.
Moved Dispose(this Socket socket) and Dispose(this WaitHandle handle) to Extensions.cs.
2017-09-10 20:33:27 +02:00
Gert Driesen f08d7a61f1 Cleanup code. 2017-09-10 20:22:40 +02:00
Gert Driesen cde333185c Introduce extensible remote path quoting mechanism
Introduce extensible remote path quoting mechanism.
Fixes issues #256 and #108.
2017-09-09 20:27:53 +02:00
Gert Driesen 82634b4662 Expose WaitHandle. 2017-09-09 19:34:19 +02:00
Gert Driesen 05e82b1813 Added tests for remote path transformations.
Added tests for PosixPath.
2017-09-09 14:42:11 +02:00
Gert Driesen f4b0bb22b7 Merge branch 'scp-quoting' of https://github.com/sshnet/SSH.NET into scp-quoting 2017-09-09 14:13:39 +02:00
Gert Driesen 55d9109276 Attempt to harden test. 2017-09-09 14:13:33 +02:00
Gert Driesen 5852a96d02 Fix typo. 2017-09-09 13:44:15 +02:00
Gert Driesen 4e9ceadfd3 Add example for host key validation. 2017-09-09 13:35:53 +02:00
Gert Driesen 9e75eef572 Remove unused fields. 2017-09-05 21:35:13 +02:00
Gert Driesen e421e16e29 Sync "legacy" project files for new sources introduced as part of PR #290. 2017-09-05 21:34:57 +02:00
Gert Driesen e434f97be5 Renamed Quote transformation and corresponding class to ShellQuote.
Added DoubleQuote transformation.
Modified default remote path transformation for ScpClient to DoubleQuote.
2017-09-04 18:45:23 +02:00
Gert Driesen 7dde512a9c Add a RemotePathTransformation property to ScpClient that can be used to control if and how a remote path should be transformed before passed on to the scp command.
This allows for a custom transformation (escaping/quoting) - that implements IRemotePathTransformation - to be plugged into ScpClient.

Out of the box, we only provide two implementations that are exposed through the RemotePathTransformation (enum-like) class: Quote and None.

Fixes issue #256.
2017-08-27 18:48:51 +02:00
Gert Driesen 5128b16778 Merge branch 'develop' of https://github.com/sshnet/SSH.NET into develop 2017-08-27 16:20:19 +02:00
Gert Driesen 0e2d0dc25d Sync project file. 2017-08-27 16:19:59 +02:00
Gert Driesen 127e3f6591 Throw an SshException when SCP request is rejected by the remote host. 2017-08-27 16:18:47 +02:00
Gert Driesen 9df22e349f Move UploadTime to ScpClient.NET.cs, and sync legacy project files. 2017-08-27 16:18:47 +02:00
Gert Driesen 266dbaefe6 Pass full remote file path to scp command when uploading or downloading a file, and use zero-length pass in C directive. Combined, this ensure the SCP server will reject a remote file path that points to a directory.
Fixes issue #286.
2017-08-27 16:18:47 +02:00
Gert Driesen 0f6bc56b4a Throw an SshException when SCP request is rejected by the remote host. 2017-08-27 16:15:49 +02:00
Gert Driesen 4a031e08ce Merge pull request #288 from sshnet/issue286
ScpClient: Upload of file should fail if remote path exists as directory
2017-08-27 14:18:21 +02:00
Gert Driesen 84f3a28018 Move UploadTime to ScpClient.NET.cs, and sync legacy project files. 2017-08-27 09:29:37 +02:00
Gert Driesen b70e21801e Pass full remote file path to scp command when uploading or downloading a file, and use zero-length pass in C directive. Combined, this ensure the SCP server will reject a remote file path that points to a directory.
Fixes issue #286.
2017-08-27 08:59:26 +02:00
Gert Driesen 2d840aab35 Update tests after quoting fixes. 2017-08-22 19:50:15 +02:00
Gert Driesen 6184a0e826 ScpClient: Implement proper quoting of paths.
Fixes issue #256.
2017-08-22 19:14:44 +02:00
Gert Driesen 522ed129b2 Fix SL and WP compile. 2017-08-22 18:32:57 +02:00
Gert Driesen bd801990d5 Only use methods available in .NET 3.5 (and higher). 2017-08-22 18:31:58 +02:00
Gert Driesen 0a1a031fc1 Add support for non-ascii characters to ScpClient.
Fixes issue #281.
2017-08-22 18:19:29 +02:00
Gert Driesen 87a45a8f52 Move past beta2. 2017-08-16 20:52:17 +02:00
Gert Driesen b34e1c05a4 Do not set DEBUG and TRACE for Release config. 2017-08-16 18:58:24 +02:00
Gert Driesen 8f777f1fc7 SftpClient: Document that the following overloads create the specified file if it does not already exist:
AppendAllLines
AppendAllText
AppendText
2017-08-16 10:36:07 +02:00
Gert Driesen 1b21b6dd14 To improve compatibility of SftpClient with System.IO.File, the following methods now use UTF-8 encoding without a Byte-Order Mark (BOM):
void AppendAllLines(string path, IEnumerable<string> contents)
void AppendAllText(string path, string contents)
StreamWriter AppendText(string path)
StreamWriter CreateText(string path)
void WriteAllLines(string path, IEnumerable<string> contents)
void WriteAllLines(string path, string[] contents)
void WriteAllText(string path, string contents)
2017-08-16 10:31:10 +02:00
Gert Driesen 79c9a4baea SftpFileStream: Position in stream should be left untouched when clearing read buffer. 2017-08-16 08:56:33 +02:00
Gert Driesen 68c1e59920 Merge pull request #272 from sshnet/sftpclient-setlength
SftpFileStream: Improve SetLength(long) compatibility with FileStream
2017-08-14 20:54:38 +02:00
Gert Driesen 30054463e1 Sync project file. 2017-08-14 20:35:21 +02:00
Gert Driesen 9444f21461 Added more tests for SftpFileStream.SetLength(long). 2017-08-14 20:23:01 +02:00
Gert Driesen 7bc67f3aca Harden tests. 2017-08-13 21:36:55 +02:00
Gert Driesen 48205c7f6d Improve SetLength compatibility with FileStream:
* Flush any buffers before epand or shrink the stream.
* If the specified value is less than the current length of the stream, the current position is moved to the last byte of the stream.
2017-08-13 15:05:44 +02:00
Gert Driesen f38c7ce3af SftpFileStream: In Append mode, create the remote file if it does not already exist.
SftpFileStream: In Append mode, create the remote file if it does not
already exist.
Fixes issue #266.
2017-08-13 13:41:33 +02:00
Gert Driesen c2552e4e4b SftpFileStream:
Only allow Append mode when combined with write-only access.
Fixes issue #267.
2017-08-13 13:41:33 +02:00