Skip to content

HTTPTransaction: reject WT streams and datagrams after ingress complete#612

Open
afrind wants to merge 1 commit intofacebook:mainfrom
afrind:fix/wt-ingress-complete-guard
Open

HTTPTransaction: reject WT streams and datagrams after ingress complete#612
afrind wants to merge 1 commit intofacebook:mainfrom
afrind:fix/wt-ingress-complete-guard

Conversation

@afrind
Copy link
Copy Markdown
Contributor

@afrind afrind commented Apr 20, 2026

onWebTransportUniStream and onWebTransportBidiStream had no guard against delivery after the session stream ends, unlike onDatagram which is already gated by the ingress state machine. Add isIngressComplete() checks to both so that WT streams arriving in the window between session-end and transaction teardown are aborted at the transport level rather than dispatched to the handler.

Add HQDownstreamSessionTestWebTransport/WTUniStreamRejectedAfterSessionEnd to verify the guard: a WT uni-stream injected after client FIN must not reach the handler.

onWebTransportUniStream and onWebTransportBidiStream had no guard against
delivery after the session stream ends, unlike onDatagram which is already
gated by the ingress state machine. Add isIngressComplete() checks to both
so that WT streams arriving in the window between session-end and transaction
teardown are aborted at the transport level rather than dispatched to the
handler.

Add HQDownstreamSessionTestWebTransport/WTUniStreamRejectedAfterSessionEnd
to verify the guard: a WT uni-stream injected after client FIN must not
reach the handler.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@meta-cla meta-cla Bot added the CLA Signed label Apr 20, 2026
@meta-codesync
Copy link
Copy Markdown

meta-codesync Bot commented Apr 21, 2026

@joanna-jo has imported this pull request. If you are a Meta employee, you can view this in D101840391.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant