bneradt opened a new pull request, #13363: URL: https://github.com/apache/trafficserver/pull/13363
HTTP/2 origin responses can legally carry a non-zero Content-Length on responses that do not carry a payload, such as responses to HEAD requests. ATS was validating these responses without retaining the request method that had been sent on the outbound H2 stream, so it could mistake a valid no-body response for a payload length error. Outbound H2 DATA generation also needs to respect the transaction write VIO byte count when a buffer reader has more bytes available than should be sent on the stream. This caps the frame payload length to the remaining write VIO bytes and still marks END_STREAM when that payload finishes the transaction body. This extends the H2 origin replay coverage with a HEAD response that has a non-zero Content-Length and no body, plus a large PUT request and response over an H2 client and H2 origin path. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
