From: Jo-Philipp Wich Date: Sat, 5 Apr 2025 12:28:34 +0000 (+0200) Subject: proc: inhibit chunked transfer encoding on existing TEs or known length X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=fad0d05da757dcd73abc2beb02ce4e4edf83ac3d;p=project%2Fuhttpd.git 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 --- 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); }