Repository navigation
Conversation
icing
force-pushed
the
url-match-the-umpteeth
branch
from
September 7, 2026 12:07
2bbc4d0 to
daac3a9
Compare
icing
marked this pull request as ready for review
September 8, 2026 15:53
bagder
approved these changes
Sep 8, 2026
There was a problem hiding this comment.
🟡 Changes recommended
Connection validation can be bypassed, and stale wait_pipe state can incorrectly make transfers pending.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Updates connection matching to prioritize a transfer’s previous connection and revise NTLM/Negotiate credential matching.
Changes:
- Prioritizes
lastconnect_idduring pool searches. - Removes
force_reuseand applies all matching conditions. - Uses credential-origin binding for authentication matching.
Review findings:
lib/url.c:1033: Previous-connection reuse bypasses lifetime, idle, and dead-connection checks.lib/url.c:1025:wait_pipecan remain set after later matching checks reject a candidate.lib/url.c:1027: Replace “it's” with the possessive “its.”
File summaries
| File | Description |
|---|---|
lib/url.c |
Revises connection selection and authentication matching. |
lib/conncache.c |
Searches the previous connection before other candidates. |
Review details
Suppressed comments (1)
lib/url.c:1027
- Use the possessive
itsrather thanit's(“it is”).
/* The connection fits, but it's multiplex state has not been determined
- Files reviewed: 2/2 changed files
- Comments generated: 2
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
icing
force-pushed
the
url-match-the-umpteeth
branch
from
September 9, 2026 09:19
daac3a9 to
dfcf0b5
Compare
Changes to connection matching for a transfer: - When a transfer previously used a connection and that still exists in the connection bundle to search *and* that still matches, use exactly that one. This eliminates the `force_reuse` bit in match making. - Always apply all match conditions before selecting a match or candidate. - Store a connection for transfers that want NTLM/Negotiate as candidate in the matcher, to be used when no more, suitable connection is found. - NTML/Negotiate: check for creds match when `conn->creds_origin` is present. This should be the safe indicator that authenticaion is happening for the connection (as compared to requests) and credentials then need to match for it.
match the last used connection first.
- set pipe_wait in matcher only after all conditions have been met - Curl_cpool_find() do not check a connection again when it was already tried on `data->state.lastconnect_id`.
icing
force-pushed
the
url-match-the-umpteeth
branch
from
September 9, 2026 12:52
dfcf0b5 to
1b1bef0
Compare
bagder
approved these changes
Sep 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes to connection matching for a transfer:
force_reusebit in match making.conn->creds_originis present. This should be the safe indicator that authenticaion is happening for the connection (as compared to requests) and credentials then need to match for it.