Skip to content

Remove obsolete SSH tunnel protocol - #684

Merged
David Obando (DavidObando) merged 2 commits into
mainfrom
davidobando/remove-tunnel-protocol-ssh
Sep 22, 2026
Merged

David Obando (DavidObando) merged 2 commits into
mainfrom
davidobando/remove-tunnel-protocol-ssh

Conversation

@DavidObando

Copy link
Copy Markdown
Member

Summary

  • remove the obsolete TunnelProtocol.Ssh constant from the C# contract and generated TypeScript, Go, Java, and Rust SDK surfaces
  • stop relay hosts from detecting legacy SSH ports and requesting includeSshGatewayPublicKey
  • retain TunnelPort.SshUser and its existing serialization behavior for backward compatibility

Validation

  • dotnet build cs/TunnelsSDK.sln --no-incremental
  • dotnet test cs/test/TunnelsSDK.Test/TunnelsSDK.Test.csproj --no-build (144 passed)
  • cd ts && npm run compile
  • go test ./go/tunnels -run ^'$' && go test ./go/tunnels/ssh/...
  • cd java && mvn package -q -DskipTests
  • cd rs && cargo test (13 passed)

The full Java test suite requires live integration-test configuration; packaging succeeds with the generated contract changes.

Remove the SSH value from the shared tunnel protocol contracts and regenerate the TypeScript, Go, Java, and Rust SDK surfaces. Stop requesting the retired SSH gateway public key when relay hosts update their endpoints.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 57ace76a-7df5-4dc5-b59f-1a4b8b239960
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The central relay-host behavior change lacks direct regression coverage in both implementations.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 2 Medium severity

Open (2)
What changed in this PR

Removes the obsolete SSH tunnel protocol while preserving legacy sshUser compatibility.

Changes:

  • Removes SSH protocol constants across SDKs.
  • Stops relay hosts requesting SSH gateway keys.
  • Updates legacy SSH documentation.
File Description
cs/​src/​Contracts/​TunnelProtocol.cs Removes SSH constant.
cs/​src/​Contracts/​TunnelPort.cs Updates compatibility documentation.
cs/​src/​Connections/​TunnelRelayTunnelHost.cs Removes legacy SSH endpoint behavior.
ts/​src/​contracts/​tunnelProtocol.ts Removes generated SSH enum member.
ts/​src/​contracts/​tunnelPort.ts Updates compatibility documentation.
ts/​src/​connections/​tunnelRelayTunnelHost.ts Removes legacy SSH endpoint behavior.
go/​tunnels/​tunnel_protocol.go Removes generated SSH constant.
go/​tunnels/​tunnel_port.go Updates compatibility documentation.
java/​src/​main/​java/​com/​microsoft/​tunnels/​contracts/​TunnelProtocol.java Removes generated SSH constant.
java/​src/​main/​java/​com/​microsoft/​tunnels/​contracts/​TunnelPort.java Updates compatibility documentation.
rs/​src/​contracts/​tunnel_protocol.rs Removes generated SSH constant.
rs/​src/​contracts/​tunnel_port.rs Updates compatibility documentation.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread cs/src/Connections/TunnelRelayTunnelHost.cs
Comment thread ts/src/connections/tunnelRelayTunnelHost.ts
Capture relay endpoint request options in the C# and TypeScript test clients and verify legacy SSH ports no longer request an SSH gateway key. Bump the Go SDK patch version for the contract API change.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 57ace76a-7df5-4dc5-b59f-1a4b8b239960
@DavidObando
David Obando (DavidObando) merged commit bb2a7db into main Sep 22, 2026
9 checks passed
@DavidObando
David Obando (DavidObando) deleted the davidobando/remove-tunnel-protocol-ssh branch September 22, 2026 19:48
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.

3 participants