Conversation
Skip the same-tuple connection-close comparison when a local response has upstream information without established socket addresses. Signed-off-by: Veshant Chettiar <veshantc@gmail.com>
Exercise absent upstream socket addresses and preserve connection draining for matching tuples. Signed-off-by: Veshant Chettiar <veshantc@gmail.com>
Signed-off-by: Veshant Chettiar <veshantc@gmail.com>
Signed-off-by: Veshant Chettiar <veshantc@gmail.com>
veshant
added a commit
to veshant/cilium-proxy
that referenced
this pull request
Oct 2, 2026
Carry the source fix from cilium#2064 onto the exact proxy revision pinned by Cilium 1.20.2 for isolated image testing. Signed-off-by: Veshant Chettiar <veshantc@gmail.com>
This branch has not been deployed
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.
A local HTTP reply can carry upstream info before an upstream socket has established local and remote addresses. When the reply includes
Connection: close,AccessFilter::encodeHeaders()dereferences those addresses while comparing the upstream and downstream socket tuples, which can crash Envoy.Guard that comparison until all four addresses are present. The existing downstream-drain behavior remains for matching socket tuples. Add regression cases for missing upstream addresses (both or either one), matching addresses, and nonmatching addresses.
Fixes #2063.
Validation:
clang-format18.1.8 passed with--dry-run --Werror, andgit diff --checkpassed. The C++ unit test could not be run locally because Docker BuildKit storage became read-only before compilation; CI should confirm compilation and behavior.