16 Commits

Author SHA1 Message Date
mus65 02c30c88a9 Only enable TreatWarningsAsErrors in Release (#1624)
* Only enable TreatWarningsAsErrors in Release

* Remove global.json

this doesn't actually do anything useful like this.

* Also check CI

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

---------

Co-authored-by: Rob Hague <rob.hague00@gmail.com>
2025-03-29 19:53:36 +01:00
mus65 86dc811458 Drop net6.0 target (#1580)
* Drop net6.0 target

* Update src/Renci.SshNet/Common/TaskToAsyncResult.cs

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

* remove redundant #if

for some reason this made the compiler suddenly
realize that the plain text variables are unused.

* use TargetFrameworkIdentifier

this doesn't work in Directory.Build.props, moved it to Directory.Build.targets.

* fix null reference warnings in Benchmarks

seems like the warnings were (somehow) disabled here
before and were fixed by the previous TargetFrameworkIdentifier
change.

* fix unused plainTextOffset in AesGcmCipher.BclImpl

* CI retry

* more cosmetics

* more

* update README

* Revert "use TargetFrameworkIdentifier"

This reverts commit 076ede161d.

---------

Co-authored-by: Rob Hague <rob.hague00@gmail.com>
Co-authored-by: Robert Hague <rh@johnstreetcapital.com>
2025-02-19 13:37:38 +01:00
Rob Hague aac10fba3d Miscellaneous cleanup/throw helpers (#1491)
* PrivateKeyFile stuff

* Extract from net7 branch

* more ThrowHelper stuff
2024-09-19 07:53:05 +02:00
mus65 dde5f67b2e Migrate to NuGet Central Package Management (#1488)
* Migrate to NuGet Central Package Management

* set CentralPackageVersionOverrideEnabled to false
2024-09-11 21:41:13 +02:00
mus65 f512a41a1b Don't treat NuGet audit Warnings as Errors and fix warning (#1443)
.NET 9 Preview 6 now also scans transitive dependencies, which
causes a build failure in the test projects:

warning NU1902: Package 'BouncyCastle.Cryptography' 2.2.1 has a known moderate severity vulnerability, https://github.com/advisories/GHSA-8xfc-gm6g-vgpv

Don't treat these as errors and update Testcontainers to fix the warning.
2024-07-13 12:07:56 +02:00
mus65 b4722b86e8 Enable nullable on NetConf/Scp/SshClient (#1392)
* Enable nullable on NetConf/Scp/SshClient

* fix formatting

* improve directoryCounter check

* disable nullable warnings on old frameworks

since the libraries are missing a lot of nullable attributes
in the old frameworks, this causes a lot of false positive
nullable warnings.

Simply disable these warnings for old frameworks.
2024-05-21 13:05:20 +02:00
Rob Hague 71423c17f9 Add an AOT compatibility test app (#1378)
* Add an AOT compatibility test app

Following the guides at
https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/prepare-libraries-for-trimming?pivots=dotnet-8-0
and https://devblogs.microsoft.com/dotnet/creating-aot-compatible-libraries/,
add an application which is published for AOT in CI.

This process fully verifies all code-paths in the library and its dependencies
for trimming/AOT, which the analyzers are not themselves able to do.

(As a side benefit, now we are also checking the library builds in Release)

* Test failure scenario

* Revert "Test failure scenario"

This reverts commit 6ff943b502.
2024-04-19 13:00:57 +02:00
Jean-Sebastien Carle b47b35c19b Updated dependencies. (#1328)
* Updated dependencies.

* Reverted Microsoft.Bcl.AsyncInterfaces back to version 1.0.0.

Also added a note so we no longer try to upgrade it.

* Reverted back to Moq.

---------

Co-authored-by: Wojciech Nagórski <wojtpl2@gmail.com>
2024-02-20 21:19:24 +01:00
mus65 765da9320e Require Microsoft.Bcl.AsyncInterfaces >=1.0.0 instead of =8.0.0 (#1288)
This technically fixes 2 different issues:
- previously SSH.NET would require exactly(!) version 8.0.0, which would
  cause issues in the future if e.g. a project using SSH.NET would
  try to update to version 9.0.0. In this case the constraint on the
  exact version would cause NuGet to refuse to upgrade to 9.0.0 (#1287)
- PowerShell Core seems to have problems with Version 8.0.0, therefore
  downgrade the requirement to 1.0.0 (see https://github.com/darkoperator/Posh-SSH/issues/558)

I had to re-enable AutoGenerateBindingRedirects, otherwise there is a
FileLoadException with net462 in one of the tests. I don't know why this
was disabled in 3ecbd1071d .
2024-01-05 22:13:06 +01:00
Rob Hague 4c2dcd5613 Upgrade packages (#1279) 2023-12-29 05:06:50 +01:00
Jacob Slusser 4c4883eed0 Standardizes additional file types in .editorconfig (#1266)
* Updates .gitignore to exclude test results

* Adds .editorconfig for xml, csproj, and props files

Formats xml, csproj, and props files

* Hides stylecop.json from Solution Explorer projects
2023-12-09 07:39:33 +01:00
Gert Driesen 508fc87d2a Fix analyzer errors in Renci.SshNet and Renci.SshNet.TestTools.OpenSSH (#1229)
* Fix analyzer errors in Renci.SshNet and Renci.SshNet.TestTools.OpenSSH.
Suppress all errors in unit tests and integration tests.

* Update unit tests now that we pass 'mode' as argument name when we throw ArgumentException.

* Remove stale comment and add unit tests for SshData.ReadBytes(int length).

* Remove unnessary suppression.

* Remove Visual Studio magic.

* Removed duplicate source file.

* Clarified that suppression hides a false positive.

* Remove suppressions for S2372.

* Update ReadExtensionPair() to return concrete dictionary.
2023-11-01 11:33:42 +01:00
Wojciech Nagórski f1297dec75 Move test projects (#1212)
* Move test projects to test folder.
Move global.json to root of repo.
Update solution items in solution.

* Move test projects to test folder.
Move global.json to root of repo.
Update solution items in solution.
Update appveyor configuration/

* Attempt to have appveyor use the correct .NET SDK.

* Update .NET SDK to version 7.0.402.

* Move Data folder below Renci.SshNet.Tests.

* Make csinst less chatty.

* Move Data folder directly below test folder as it's used by multiple test projects.

* Remove CS1591 nowarn from concrete test projects as this is already defined in the Directory.Build.props that is in the test folder.

* Fix integration test after moving test projects

---------

Co-authored-by: drieseng <gert.driesen@telenet.be>
2023-10-14 22:16:11 +02:00
Gert Driesen 27976bb927 Analyzer fixes round 3. (#1135) 2023-05-31 09:52:52 +02:00
Gert Driesen c04cdbcb97 Round 2 of analyzer fixes and general cleanup. (#1132) 2023-05-29 17:16:08 +02:00
Gert Driesen 3ecbd1071d Fix some (lots of) issues reported by analyzers. (#1125)
Fix some (lots of) issues reported by analyzers.
2023-05-24 20:37:46 +02:00