From fad0d05da757dcd73abc2beb02ce4e4edf83ac3d Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sat, 5 Apr 2025 14:28:34 +0200 Subject: [PATCH] proc: inhibit chunked transfer encoding on existing TEs or known length When a backend CGI, Lua or ucode handler produces a response which either includes a Content-Length or a Transfer-Encoding header then disable the uhttpd side chunked transfer encoding and assume the backend response to be already properly encoded or length delimitted. Fixes: https://github.com/openwrt/luci/issues/7655 Signed-off-by: Jo-Philipp Wich --- proc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/proc.c b/proc.c index 2b69703..89fe320 100644 --- a/proc.c +++ b/proc.c @@ -218,6 +218,10 @@ static void proc_handle_header(struct relay *r, const char *name, const char *va cl->dispatch.proc.status_code = atoi(buf); return; } + else if (!strcasecmp(name, "Content-Length") || + !strcasecmp(name, "Transfer-Encoding")) { + cl->request.disable_chunked = true; + } blobmsg_add_string(&cl->dispatch.proc.hdr, name, val); } -- 2.30.2