45 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 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 b5dcca911a Update path to example. 2020-06-07 15:23:11 +02:00
drieseng a697693bfa Update name of Sandcastle Help File Builder environment variable. 2020-06-07 13:30:33 +02:00
drieseng 22a895f427 Update name of Sandcastle Help File Builder environment variable. 2020-06-07 13:23:50 +02:00
drieseng 8ac8e87e69 Fix package targets. 2020-06-07 12:51:37 +02:00
drieseng 93f092ce2c Split build into modern and classic targets to allow building both "flavors" on separate machines.
This is done since I only have a VM for building the "classic" projects, and I build the "modern" projects on my main development box.
Use tokens for replacing the version and copyright in the nuspec.
2020-03-06 22:19:20 +01:00
drieseng c2e929d601 Use multi-TFM output directory for .NET Framework 4.0. 2020-03-06 22:09:50 +01:00
Gert Driesen 8156b625f7 Build .NET Standard 2.0 assembly.
Remove seperate build script.
2017-10-30 18:26:55 +01:00
Gert Driesen 2c461bbfb2 Use new csproj format introduced in VS 2017.
Added support for .NET Standard 2.0.
2017-10-30 12:39:24 +01:00
Gert Driesen 7a19bcd81e Prepare for 2016.1.0-beta4. 2017-10-07 15:39:39 +02:00
Gert Driesen 87a45a8f52 Move past beta2. 2017-08-16 20:52:17 +02:00
Gert Driesen 6d8f545bb4 Introduce VS 2017 solution and MSBuild-based .NET Core project
* Introduced VS 2017 solution
* Use MSBuild-based project for .NET Core.
* Removed Renci.SshNet.NETCore project from VS 2015 solution (as only VS
2017 supports MSBuild-based project for .NET Core)
* Added build script since MSBuild v15.0 cannot be used to build the VS
2012 solution (pfffff).
2016-12-29 21:27:19 +01:00
Gert Driesen d2fa88647b Update nuspec for 2016.1.0-beta1. 2016-12-14 21:13:57 +01:00
Gert Driesen 1dd79b2008 Add support for binary distribution zip file.
Rename help file.
2016-12-09 20:03:27 +01:00
drieseng 5f6c3b0bc7 Fix SL build. 2016-11-03 21:30:17 +01:00
drieseng 13cc56304a Prepare for stable release. 2016-08-01 21:05:02 +02:00
drieseng abeb2c8738 Use github release for the release notes. 2016-07-27 13:54:30 +02:00
Gert Driesen 9d47cdf1a7 Include .NETStandard 1.3 in nuget package. 2016-07-09 20:11:21 +02:00
drieseng 8ae915271b Update SshNet.Security.Cryptography v1.2.0.
Added .NETStandard 1.3 to nuspec.
Prepare for 2016.0.0-beta3.
2016-07-09 17:29:38 +02:00
drieseng bfbf64fd4d Consider improved performance of ScpClient as a change/feature not a fix. 2016-06-25 14:20:07 +02:00
drieseng 240e742e83 Document fix for issue #21. 2016-06-25 11:40:11 +02:00
drieseng 3c0040d216 Document fixes. 2016-06-23 23:28:04 +02:00
Gert Driesen 4f25cc00a7 Consider UAP10 support as new feature.
Consider UAP10 support as new feature.
Fixed typo.
2016-06-19 16:28:05 +02:00
Gert Driesen c49a27b0e7 Integrate fixes scheduled for 2014.4.6-beta3 ino 2016.0.0-beta1
Integrate fixes scheduled for 2014.4.6-beta3 ino 2016.0.0-beta1
Remove section for 2014.4.6-beta3
2016-06-19 15:50:51 +02:00
Gert Driesen 622bcce6bc Fix version.
Fix version.
2016-06-19 15:39:29 +02:00
Gert Driesen f64951ff28 Fix license URL
Fix license URL
2016-06-19 15:33:46 +02:00
Gert Driesen 85af68786b Added System.Xml.XPath.XmlDocument dependency for UAP10.
Added System.Xml.XPath.XmlDocument dependency for UAP10.
2016-06-19 15:29:07 +02:00
Gert Driesen e37af98d5f Remove MSBuild community tasks.
Remove MSBuild community tasks.
2016-06-19 15:23:01 +02:00
Gert Driesen 8858cc7b0d No longer build source zip file
No longer build source zip file, we'll rely on github for this.
2016-06-19 15:22:36 +02:00
Gert Driesen 4bcebd176a Fix package name for our crypto classes, and lock version to 1.0.0.
Fix package name for our crypto classes, and lock version to 1.0.0.
2016-06-19 15:22:07 +02:00
Gert Driesen ce5988847f Update nuget package version, and TFMs.
Update nuget package version, and TFMs.
2016-06-19 11:40:45 +02:00
Gert Driesen 5ce2234699 Upgrade to Sandcastle 2015.6.5.0.
Upgrade to Sandcastle 2015.6.5.0.
2016-06-19 11:27:51 +02:00
Gert Driesen 17a58c0044 Added support for UAP10
Added support for UAP10
Combine build output of VS 20112 and VS 2015 builds.
Use downloaded nuget.
2016-06-19 11:27:06 +02:00
Gert Driesen 0467468e91 Remove obsolete build batch file. 2016-06-17 20:24:51 +02:00
Gert Driesen 9bf305ecb8 Fix nuspec. 2016-06-17 20:24:38 +02:00
Gert Driesen 2cb0c00a95 Remove obsolete nuget binary. 2016-06-17 20:23:59 +02:00
drieseng 4a9912566f Update license and project URL
Update tags.
Update release notes to prepare for new beta release.
Define dependencies for UAP 10.0 TFM.
2016-06-17 13:44:17 +02:00
Matthew Vukomanovic 8854821436 Correct the build and sandcastle locations 2016-05-19 14:36:59 +08:00
Matthew Vukomanovic 43f06b56e0 Correct the location of the VS2012.sln file in the build.proj 2016-05-19 14:36:57 +08:00
Matthew Vukomanovic daf5975ae8 Quote MSBUILD_EXE and also use it 2016-05-19 14:36:56 +08:00
drieseng 30308e63a5 Document changes and fixes. 2016-04-30 10:58:39 +02:00
drieseng 172989554e Renamed VS 2012 solution file to Renci.SshNet.VS2012.sln. 2016-04-24 09:42:27 +02:00
Gert Driesen 146ef74f79 Refactored hash (including hmac) classes into separate assembly. 2016-03-13 18:44:49 +01:00
drieseng 8a2bcdea35 Moved Build folder
Moved 'Build' folder to root, and renamed it to 'build'.
2016-02-04 20:46:47 +01:00