openwrt-owl/package/busybox/patches/410-httpd_cgi_headers.patch

17 lines
684 B
Diff

--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -1247,10 +1247,10 @@ static NOINLINE void cgi_io_loop_and_exi
if (full_write(STDOUT_FILENO, HTTP_200, sizeof(HTTP_200)-1) != sizeof(HTTP_200)-1)
break;
}
- /* Commented out:
- if (!strstr(rbuf, "ontent-")) {
- full_write(s, "Content-type: text/plain\r\n\r\n", 28);
+ if (!strstr(rbuf, "ontent-") && !strstr(rbuf, "ocation:")) {
+ full_write(1, "Content-type: text/plain\r\n\r\n", 28);
}
+ /* Previously commented out:
* Counter-example of valid CGI without Content-type:
* echo -en "HTTP/1.0 302 Found\r\n"
* echo -en "Location: http://www.busybox.net\r\n"