1344 Commits

Author SHA1 Message Date
Wojciech Nagórski 2bbfee4a37 Release 2023.0.0 (#1201)
* Assets/logos (#782)

* Added logo assets

* Added PNG 1260x640 with white border

Co-authored-by: 103filgualan <f.gualandi@crif.com>

* OPENSSH KeyReader for more keys (#614)

* OPENSSH KeyReader for more keys

Add support to parse OpenSSH Keys with ECDSA 256/384/521 and RSA.

https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.key

Change-Id: Iaa9cce0f2522e5fee377a82cb252f81f0b7cc563

* Fix ED25519Key KeyLength

* Fix ED25519 PubKey-auth

LeadingZeros of BigInteger-Conversion have to be removed
before sending the Key.

* Add interface to SftpFile #120 (#812)

* Create ISftpFile interface. SftpFile sealed. Return ISftpFile from SftpClient instead of SftpFile. Make ISftpClient interface disposable.

Co-authored-by: Wojciech Swieboda <wswieboda@chathamfinancial.com>

* Start MessageListener with ThreadAbstraction.ExecuteThreadLongRunning (#902)

* Fix Thread pool exhaustion due to MessageListener running on ThreadPool
* Mark long running thread as background

* Add async support to SftpClient and SftpFileStream (#819)

* Add FEATURE_TAP and net472 target
* Add TAP async support to SftpClient and SftpFileStream
* Add async support to DnsAbstraction and SocketAbstraction
* Add async support to *Connector and refactor the hierarchy
* Add ConnectAsync to BaseClient

* Add CODEOWNERS file.

* Fix virus false-positive by Defender on Renci.SSHNet.Tests.dll (#867)

Co-authored-by: Pedro Fonseca <pfonseca@qti.qualcomm.com>

* Add unit tests for task-based asynchronous API (#906)

* Fix runtime and culture dependant tests.
* Set C# 7.3 in Tests.csproj to limit intellisense's suggestions under different targets
* Add SftpClientTest.*Async
* Add SftpFileStreamTest_OpenAsync_*
* Add SftpFileStreamTest_WriteAsync_*
* Add SftpFileStreamTest_ReadAsync_*
* Align AppVeyor script with Test project target frameworks

* correct 'Documenation' to 'Documentation' (#838)

in the documentation's window title

* Agent auth and Keygen (#794)

* Allow to set PrivateKeyFile Key directly
   So you can add your own Key-Classes to SSH.NET
* Add ED25519 ctor for just pub key part.
* Make ECDSA Key Bits accessible
   You cant export imported CngKeys. To be able to export them to agent or Key-Files make the private bits also accessible.
* Better NETFRAMEWORK vs NETSTANDARD handling
* Add Comment Property to Key
* Add IPrivateKeySource
  So Extension can add own PrivateKeyFiles, e.g. PuttyKeyFile.

* Use cryptographically secure random number generator.
Fixes CVE-2022-29245.

* Remove unused import.

* Add IBaseClient for BaseClient and ISftpClient to inherit from (#975)

Add IBaseClient for BaseClient and ISftpClient to inherit from

* fix typo (#999)

* Fix Seek Operations in SftpFileStream (#910)

* Fix offset operations in SftpFileStream.Seek
* Fix seek exception message and add default case for invalid seek origin
* Use named params when throwing ArgumentException
* Add tests for seeking from end of file

* Add back copyright to license. (#1060)

Fixes #1059.

* Removing old target frameworks (#1109)

Remove support for legacy / deprecated target frameworks while adding support for .NET 6.0 (and higher).
The supported target frameworks are now:
* .NETFramework 4.6.2 (and higher)
* .NET Standard 2.0
* .NET 6.0 (and higher)

* Remove old features [Part 1] (#1117)

Remove obsolete feature switches (now that we've remove support for legacy target frameworks) and remove corresponding conditional code.

* Remove FEATURE_DIRECTORYINFO_ENUMERATEFILES (#1119)

* Remove FEATURE_DIRECTORYINFO_ENUMERATEFILES
* Add exception documentation

* Fix some (lots of) issues reported by analyzers. (#1125)

Fix some (lots of) issues reported by analyzers.

* Round 2 of analyzer fixes and general cleanup. (#1132)

* Analyzer fixes round 3. (#1135)

* Replace Array<T>.Empty with Array.Empty<T>() (#1137)

* Replace IsNullOrWhiteSpace extension (#1142)

* Use License Expression for NuGet Package

licenseUrl is deprecated, see https://github.com/NuGet/Announcements/issues/32

* Integration tests

* Remove todos

* Update CODEOWNERS

* Use correct SSH.NET

* ListDirectoryAsync return IAsyncEnumerable (#1126)

* ListDirectoryAsync return IAsyncEnumerable

* Fix documentation

* Update README.md

* Fix

* Add Sftp ListDirectoryAsync test

* Revert

* Integration tests for ListDirectoryAsync with IAsyncEnumerable

* Fix the assembly resolution build warning (#1165)

* Delete performance/longrunning tests (#1143)

Co-authored-by: Wojciech Nagórski <wojtpl2@gmail.com>

* Move Integration tests (#1173)

* Renci.SshNet.IntegrationTests

* Renci.SshNet.TestTools.OpenSSH

* Move integration tests to main repo

* Move old tests to new integration tests

* Move old integration tests to new integration tests

* Move more tests

* Move authentication tests

* Move SshClientTests

* Fix some tests

* Remove duplicated test

* Poc of ProcessDisruptor

* Rename

* Some fixes

* Remove performance tests

* Small improvements

* Add a benchmarks project (#1151)

* Add a benchmarks project

* Small improvements

---------

Co-authored-by: Wojciech Nagórski <wojtpl2@gmail.com>

* Use ExceptionDispatchInfo to retain call stack in Session.WaitOnHandle() (#936)

* Use ExceptionDispatchInfo to retain call stack in Session.WaitOnHandle()

* merge

* Update src/Renci.SshNet/Session.cs

Co-authored-by: Rob Hague <rob.hague00@gmail.com>

---------

Co-authored-by: Wojciech Nagórski <wojtpl2@gmail.com>
Co-authored-by: Rob Hague <rob.hague00@gmail.com>

* Support SHA256 fingerprints for host key validation (#1098)

* Add tests for HostKeyEventArgs

* Add SHA256 fingerprint support

* Add support for RSA SHA-2 public key algorithms (#1177)

* Abstract out the hash algorithm from RsaDigitalSignature

* Add integration tests

* Add DigitalSignature property to KeyHostAlgorithm

* Add IHostAlgorithmsProvider interface

* Verify the host signature

* Fix HostKeyEventArgsTest after merge

* Remove PubkeyAcceptedAlgorithms ssh-rsa

* Add test coverage for RSA keys in PrivateKeyFile

* Obsolete IPrivateKeySource

---------

Co-authored-by: Wojciech Nagórski <wojtpl2@gmail.com>

* Improvements after #1177 (#1180)

* Use ExceptionDispatchInfo in more places (#1182)

Co-authored-by: Wojciech Nagórski <wojtpl2@gmail.com>

* Try to "fix" the flaky test (#1185)

* Enable DSA tests (#1181)

Co-authored-by: Wojciech Nagórski <wojtpl2@gmail.com>

* FingerPrints (#1186)

* Use OS-agnostic socket error codes to allow tests run on different OSes (#1179)

SocketErrorCode is OS agnostic, ErrorCode is OS specific.

On Windows ErrorCode = (int) SocketErrorCode, but on Mac and Unix it is not.

For example ExitCode for HostNotFound (11001) on Windows is 11001, on Mac & Unix is -131073. So testing for ExitCode == 11001 fails on Mac & Unix.

Co-authored-by: Wojciech Nagórski <wojtpl2@gmail.com>

* Fix for channel session semaphore from thread blocking (#1071)

* Merging fix from @clivetong into our own SSH.NET fork
- The following article describes some of the issues with the double check lock that we have seen issues with: https://www.sudhanshutheone.com/posts/double-check-lock-csharp

* Merging fix from @clivetong into our own SSH.NET fork
- The following article describes some of the issues with the double check lock that we have seen issues with: https://www.sudhanshutheone.com/posts/double-check-lock-csharp

* Update Channel to fix AppVeyor failure (field should be readonly)

* Update ISftpClient for #120 (#1193)

* Implement set last write and access time (#1194)

* Add/migrate hmac+cipher integration tests (#1189)

* Add/migrate hmac+cipher integration tests

* fix integration tests

---------

Co-authored-by: Wojciech Nagórski <wojtpl2@gmail.com>

* Update tests for SetLastAccessTime(Utc) to also verify the time component and the Kind of the DateTime value returned by GetLastAccessTime(Utc). (#1198)

---------

Co-authored-by: Filippo Gualandi <filippo.gualandi@gmail.com>
Co-authored-by: 103filgualan <f.gualandi@crif.com>
Co-authored-by: Stefan Rinkes <darinkes@users.noreply.github.com>
Co-authored-by: wxtsxt <wojciech.swieboda@gmail.com>
Co-authored-by: Wojciech Swieboda <wswieboda@chathamfinancial.com>
Co-authored-by: Igor Milavec <igor.milavec@gmail.com>
Co-authored-by: drieseng <gert.driesen@telenet.be>
Co-authored-by: Pedro Fonseca <pbfonseca@gmail.com>
Co-authored-by: Pedro Fonseca <pfonseca@qti.qualcomm.com>
Co-authored-by: Maximiliano Jabase <maxijabase@gmail.com>
Co-authored-by: Owen Krueger <37021716+Owen-Krueger@users.noreply.github.com>
Co-authored-by: Masuri <psh0258@gmail.com>
Co-authored-by: LemonPi314 <49930425+LemonPi314@users.noreply.github.com>
Co-authored-by: Gert Driesen <gertdriesen@msn.com>
Co-authored-by: Rob Hague <rob.hague00@gmail.com>
Co-authored-by: Rob Hague <rh@johnstreetcapital.com>
Co-authored-by: Marius Thesing <marius.thesing@gmail.com>
Co-authored-by: Dāvis Mošenkovs <davikovs@gmail.com>
Co-authored-by: Dmitry Tsarevich <dimhotepus@users.noreply.github.com>
Co-authored-by: Patrick Yates <114094360+patrick-yates-redgate@users.noreply.github.com>
2023-10-10 21:32:33 +02:00
drieseng 4cdedf6524 Use cryptographically secure random number generator.
Fixes CVE-2022-29245.
2022-05-29 16:59:38 +02:00
drieseng acda1431d2 Prepare for 2020.0.1 release 2020.0.1 2021-01-24 14:40:24 +01:00
drieseng a06522c3d6 Merge branch 'develop' 2021-01-24 14:38:33 +01:00
drieseng 6e1f839ca1 Merge branch 'develop' of https://github.com/sshnet/SSH.NET into develop 2021-01-12 19:32:25 +01:00
drieseng 91b64585bc Support LF as line ending for banner and identification string
Fixes #761
2021-01-12 19:31:25 +01:00
Gert Driesen d62594c03f Update README.md 2020-12-31 14:46:08 +01:00
Gert Driesen 9c25cf65ca Update README.md 2020-12-31 14:45:50 +01:00
Gert Driesen b2c36b5e2c Update README.md 2020-12-31 14:45:16 +01:00
Filippo Gualandi 67318d8b68 Added logo assets (#743)
Co-authored-by: 103filgualan <f.gualandi@crif.com>
2020-12-31 14:39:03 +01:00
drieseng f48093713f Merge branch 'develop' 2020.0.0 2020-12-31 14:02:11 +01:00
drieseng a620835c69 Support our legacy target frameworks. 2020-12-31 14:01:35 +01:00
drieseng 2c99132396 Merge branch 'develop' 2020-12-31 13:28:14 +01:00
drieseng 68a47f6890 Workaround 'Could not create SSL/TLS secure channel' issue due to TLS 1.1 being the default on earlier versions of .NET. 2020-12-31 13:27:49 +01:00
drieseng 853ec99609 Prepare for 2020.0.0 release. 2020-12-31 13:06:47 +01:00
drieseng 8737fdb386 Merge branch 'develop' 2020-12-31 11:47:24 +01:00
drieseng 008556205b Allow for a small marging when verifying whether configured timeout was respected. 2020-12-31 11:37:18 +01:00
drieseng 84b9281149 Merge branch 'develop' 2020-12-30 22:28:44 +01:00
drieseng 41e378cfc0 Fix test. 2020-12-30 22:12:54 +01:00
drieseng 767fafbfc1 Improve exception messages further. 2020-12-30 21:19:30 +01:00
drieseng f60f24fb9c Fix more tests to pass on .NET Core. 2020-12-30 16:06:24 +01:00
drieseng a5148aea1a Fix some test failures on .NET Core. 2020-12-30 15:13:57 +01:00
drieseng d5fefcc369 Fix and rename test. 2020-12-30 13:13:20 +01:00
drieseng e8db68c371 Improve exception messages. 2020-12-30 11:44:25 +01:00
drieseng 8d485f918b Remove unused import. 2020-12-30 11:43:35 +01:00
drieseng f09496b782 Fix remaining test failure. 2020-12-29 20:22:10 +01:00
drieseng 43f18cb3d4 Fix test failures. 2020-12-29 20:13:19 +01:00
drieseng 60be75d85c Complete refactoring of connection process, and greatly improve test coverage. 2020-12-29 20:01:28 +01:00
drieseng e0b32a41ea Add Connect overload that takes existing Socket instance. 2020-12-29 19:53:46 +01:00
drieseng de06f12350 Allow for easier troubleshooting of protocol version exchange.
Fixes #751.
2020-12-29 18:56:26 +01:00
drieseng eefcd8fbc5 Fix test failure. 2020-12-27 12:16:49 +01:00
drieseng fbadaf8b74 Fix handling of empty line. 2020-12-27 12:06:36 +01:00
drieseng e71a4c958d Update tests after connection refactoring. 2020-12-27 11:52:12 +01:00
drieseng a1e4e04e04 Revert back to using SocketShutdown.Send in an attempt to stabilize tests. 2020-12-27 10:37:30 +01:00
drieseng dc9c637759 Refactor how connection is established to server. 2020-12-27 10:20:03 +01:00
Eric Brumfield cefdc203d9 Add ISftpClient interface to SftpClient (#197)
Add ISftpClient interface to **SftpClient for mocking and testing purposes.
Fixes #193.
2020-07-19 18:49:12 +02:00
Bill Menees 90a13a6c5a Fix SFTP file UTC time handling (#356)
* Improved SFTP file UTC time handling
2020-07-18 10:59:30 +02:00
drieseng 5942469974 Merge remote-tracking branch 'remotes/origin/develop' 2020.0.0-beta1 2020-06-07 15:46:33 +02:00
drieseng 1068694455 Merge remote-tracking branch 'remotes/origin/develop' 2020-06-07 15:46:13 +02:00
Gert Driesen c10277f4d7 Fix typo. 2020-06-07 15:45:45 +02:00
drieseng 9b21a46982 Merge remote-tracking branch 'remotes/origin/develop' 2020-06-07 15:41:02 +02:00
drieseng 2cc42c9b91 Remove local-use file. 2020-06-07 15:40:39 +02:00
drieseng bf651cac1e Remove local-use file. 2020-06-07 15:39:54 +02:00
drieseng 32f2615795 Fix path to source file. 2020-06-07 15:32:32 +02:00
drieseng 638a30c521 Fix path to source file. 2020-06-07 15:31:29 +02:00
drieseng e9979a6adc Merge remote-tracking branch 'remotes/origin/develop'
# Conflicts:
#	build/sandcastle/SSH.NET.shfbproj
2020-06-07 15:25:33 +02:00
drieseng b5dcca911a Update path to example. 2020-06-07 15:23:11 +02:00
drieseng d8fbae3c51 Update name of Sandcastle Help File Builder environment variable. 2020-06-07 13:32:09 +02:00
drieseng a697693bfa Update name of Sandcastle Help File Builder environment variable. 2020-06-07 13:30:33 +02:00
drieseng 61c09ffefb Merge remote-tracking branch 'remotes/origin/develop' 2020-06-07 13:24:37 +02:00