Closed
Description
The HTTP RFCs specify that messages containing both Content-Length
and Transfer-Encoding
headers are to be handled by either
- discarding the
Content-Length
header, or - rejecting the request with status 400.
OLS does this correctly when the Transfer-Encoding
header comes after the Content-Length
header, but not when it comes before.
For example, if you send the following request to OLS, the Content-Length
header will be incorrectly prioritized over the Transfer-Encoding
header.
POST / HTTP/1.1\r\n
Host: whatever\r\n
Transfer-Encoding: chunked\r\n
Content-Length: 5\r\n
\r\n
0\r\n
\r\n
This behavior exists both when OLS is acting as an origin and as a proxy.
Metadata
Metadata
Assignees
Labels
No labels