Skip to content

Verify KestrelServerLimits are enforced for HTTP/3 #29702

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
10 tasks done
halter73 opened this issue Jan 27, 2021 · 5 comments · Fixed by #35322
Closed
10 tasks done

Verify KestrelServerLimits are enforced for HTTP/3 #29702

halter73 opened this issue Jan 27, 2021 · 5 comments · Fixed by #35322
Assignees
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions HTTP3
Milestone

Comments

@halter73
Copy link
Member

halter73 commented Jan 27, 2021

We should have equivalents to most of Http2TimeoutTests for HTTP/3.

Timeouts to add and/or verify:

If any the above bullet points aren't implemented yet, they probably deserve their own issue. The same goes for the size and count based limits in KestrelServerLimits:

  • MaxRequestLineSize
  • MaxRequestHeadersTotalSize
  • MaxRequestHeaderCount
  • MaxRequestBodySize (+IHttpMaxRequestBodySizeFeature)
  • MaxConcurrentConnections
@ghost
Copy link

ghost commented Jan 29, 2021

Thanks for contacting us.
We're moving this issue to the Next sprint planning milestone for future evaluation / consideration. We will evaluate the request when we are planning the work for the next milestone. To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

@BrennanConroy
Copy link
Member

@wtgodbe Would you be interested in starting on this for preview3?

@JamesNK
Copy link
Member

JamesNK commented Feb 23, 2021

This is pretty big. I'm going to start on the first two: min request and response rates.

@wtgodbe
Copy link
Member

wtgodbe commented Feb 24, 2021

I'd be happy to help out here - @JamesNK I'll reach out to you once I have time to see where I could be most useful

@JamesNK
Copy link
Member

JamesNK commented Mar 4, 2021

re: RequestHeadersTimeout

Decision is for now HTTP/3 won't use it. In HTTP/2 RequestHeadersTimeout is used as a timeout between receiving the HEADER frame and any CONTINUATION frames at the start of the request. In HTTP/3 the HEADERS frame always contains all HEADERS, so the timeout no longer has the same use in HTTP/3.

Will use the timeout. Timeout starts before the request stream starts awaiting data and is canceled once HEADERS frame is received.

@BrennanConroy BrennanConroy modified the milestones: 6.0-preview5, 6.0-rc1 Jul 14, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Sep 18, 2021
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Jun 2, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions HTTP3
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants
@halter73 @JamesNK @BrennanConroy @amcasey @wtgodbe and others