Skip to content

Upgrade SSH.NET dependency from 2020.0.2 to 2024.2.0 - #3729

Open
Piyush37-6 wants to merge 2 commits into
ArduPilot:masterfrom
Piyush37-6:my-feature-branch
Open

Piyush37-6 wants to merge 2 commits into
ArduPilot:masterfrom
Piyush37-6:my-feature-branch

Conversation

@Piyush37-6

Copy link
Copy Markdown

Pull Request Description

1. What was there?

  • Old State: The codebase referenced SSH.NET version 2020.0.2 (released in 2020) across three projects:
    1. MissionPlanner.csproj (with a legacy targetFramework="net40" parameter)
    2. MissionPlannerLib.csproj
    3. ExtLibs/solo/solo.csproj

2. Why was the old version bad?

  • Security Risks: Version 2020.0.2 is missing key security fixes and patches that have been released over the past several years.
  • Protocol Limitations: It does not natively support several newer secure SSH key exchange algorithms and cipher suites (such as modern Elliptic Curve or Ed25519 signatures) which are now standard on modern Linux/companion computer SSH servers.
  • Legacy Targeting: The .csproj files contained legacy attributes like targetFramework="net40" inside NuGet package references, causing package restoration inefficiencies in modern build systems.

3. What has changed?

  • Upgraded the package version of SSH.NET to 2024.2.0 in all three .csproj files.
  • Cleaned up the metadata parameter in MissionPlanner.csproj by removing the outdated targetFramework="net40" attribute.

4. What is improved / Why is the new version good?

  • Modern Cryptographic Compatibility: Provides out-of-the-box support for newer SSH key types and cipher algorithms, making connections to modern Linux/Edison/Solo companion computers more robust and secure.
  • Performance Enhancements: Contains optimized cryptographic routines and connection stability improvements.
  • Security Hardening: Patches old vulnerabilities present in the 2020 release.
  • Cleaned SDK-style Project Files: Streamlines package resolution for developers building with modern Visual Studio (VS 2022+).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant