From 117dc1e3f52edb6b6c91be35c87f37835df9e393 Mon Sep 17 00:00:00 2001 From: npt-1707 Date: Fri, 2 May 2025 01:13:29 +0800 Subject: [PATCH] http: unset F_CHUNKED on new Transfer-Encoding --- ext/http-parser/http_parser.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ext/http-parser/http_parser.c b/ext/http-parser/http_parser.c index 895bf0c73..96ff8414d 100644 --- a/ext/http-parser/http_parser.c +++ b/ext/http-parser/http_parser.c @@ -1379,6 +1379,13 @@ reexecute: parser->header_state = h_general; } else if (parser->index == sizeof(TRANSFER_ENCODING)-2) { parser->header_state = h_transfer_encoding; + + /* Multiple `Transfer-Encoding` headers should be treated as + * one, but with values separate by a comma. + * + * See: https://tools.ietf.org/html/rfc7230#section-3.2.2 + */ + parser->flags &= ~F_CHUNKED; } break;