Skip to content

url: remove ssh_config_matches#21519

Closed
bagder wants to merge 1 commit into
masterfrom
bagder/url-ssh
Closed

url: remove ssh_config_matches#21519
bagder wants to merge 1 commit into
masterfrom
bagder/url-ssh

Conversation

@bagder

@bagder bagder commented May 7, 2026

Copy link
Copy Markdown
Member

The CURLOPT_SSH_HOST_PUBLIC_KEY_* options are documented to verify the host at connect time and not for connection reuse. Once the SSH host has been deemed okay, it remains okay as long as the connection survives.

In addition: this function currently always returned TRUE since the pointers have been NULLed in the SSH backend code before this function is called.

Follow-up to c31fcf2

Reported-by: Andrew Nesbit

The CURLOPT_SSH_HOST_PUBLIC_KEY_* options are documented to verify the
host at connect time and not for connection reuse. Once the SSH host has
been deemed okay, it remains okay as long as the connection survives.

In addition: this function currently always returned TRUE since the
pointers have been NULLed in the SSH backend code before this function
is called.

Follow-up to c31fcf2

Reported-by: Andrew Nesbit
@bagder bagder added the SCP/SFTP label May 7, 2026
@bagder bagder marked this pull request as ready for review May 7, 2026 07:12
@bagder bagder requested a review from Copilot May 7, 2026 07:12

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.

Pull request overview

This PR removes SSH-specific connection-cache matching logic that was effectively redundant for SCP/SFTP: SSH host verification options are documented to apply only when establishing a new connection, and the removed helper compared fields that are cleared by the SSH backends before reuse matching occurs.

Changes:

  • Remove the ssh_config_matches() helper from lib/url.c.
  • Stop applying SSH-specific “proto config” reuse checks in url_match_proto_config().

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@testclutch

Copy link
Copy Markdown

Analysis of PR #21519 at 91df8936:

Test 3210 failed, which has NOT been flaky recently, so there could be a real issue in this PR. Note that this test has failed in 12 different CI jobs (the link just goes to one of them).

Generated by Testclutch

@bagder bagder closed this in 3e9817c May 7, 2026
@bagder bagder deleted the bagder/url-ssh branch May 7, 2026 08:09
outcast36 pushed a commit to greearb/curl that referenced this pull request Jun 3, 2026
The CURLOPT_SSH_HOST_PUBLIC_KEY_* options are documented to verify the
host at connect time and not for connection reuse. Once the SSH host has
been deemed okay, it remains okay as long as the connection survives.

In addition: this function currently always returned TRUE since the
pointers have been NULLed in the SSH backend code before this function
is called.

Follow-up to c31fcf2

Reported-by: Andrew Nesbit
Closes curl#21519
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

3 participants