Repository navigation
Conversation
- Only Accept, Accept-Encoding, User-Agent, and X-Scope-OrgID cross from a
read to the upstream (link.ForwardedHeaders, defined once so the API side
reads the same list); every other request header stops at the relay, and
the customer's configured headers still win. -print-routes prints them.
- Every Perfloop-* response header from an upstream is removed before the
answer crosses the tunnel.
- Proxy-Authorization and Proxy-Authenticate join the hop-by-hop list.
- One read's response write carries the same two-minute deadline as its
upstream request, so withheld flow-control credit cannot pin a stream.
- ExpandEnv refuses an unterminated ${ reference instead of truncating.
- The Kubernetes example also excludes 100.64.0.0/10 from public egress.
- image.yml splits the pull-request build from the main-only publish job so
pull requests run with read-only permissions; ci.yml uses the official
golangci-lint action pinned by commit.
- Tests: hostile headers never reach the upstream, forged Perfloop-* response
headers are stripped, an upstream redirect is refused, one tunnel carries at
most eight reads at once, and unterminated references are refused.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.
relay, link: forward only the headers Perfloop sends; harden the edges
read to the upstream (link.ForwardedHeaders, defined once so the API side
reads the same list); every other request header stops at the relay, and
the customer's configured headers still win. -print-routes prints them.
answer crosses the tunnel.
upstream request, so withheld flow-control credit cannot pin a stream.
pull requests run with read-only permissions; ci.yml uses the official
golangci-lint action pinned by commit.
headers are stripped, an upstream redirect is refused, one tunnel carries at
most eight reads at once, and unterminated references are refused.
🤖 Generated with Claude Code