X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/b5cb1795de1f0959de1e228bd2e784d1cea921a7..fb9f9cdc813406041715d4c692f2b18cfd418cee:/package/busybox/patches/410-httpd_cgi_headers.patch?ds=sidebyside diff --git a/package/busybox/patches/410-httpd_cgi_headers.patch b/package/busybox/patches/410-httpd_cgi_headers.patch index 98f094ee5..b47751a80 100644 --- a/package/busybox/patches/410-httpd_cgi_headers.patch +++ b/package/busybox/patches/410-httpd_cgi_headers.patch @@ -1,26 +1,16 @@ -Index: busybox-1.4.2/networking/httpd.c -=================================================================== ---- busybox-1.4.2.orig/networking/httpd.c 2007-06-04 13:21:35.006654848 +0200 -+++ busybox-1.4.2/networking/httpd.c 2007-06-04 13:21:35.585566840 +0200 -@@ -1231,7 +1231,7 @@ - * "chopped up into small chunks" syndrome here */ - rbuf[count] = '\0'; - /* check to see if the user script added headers */ --#define HTTP_200 "HTTP/1.0 200 OK\r\n\r\n" -+#define HTTP_200 "HTTP/1.0 200 OK\r\n" - if (memcmp(rbuf, HTTP_200, 4) != 0) { - /* there is no "HTTP", do it ourself */ - full_write(s, HTTP_200, sizeof(HTTP_200)-1); -@@ -1242,9 +1242,9 @@ - * echo -en "Location: http://www.busybox.net\r\n" - * echo -en "\r\n" - */ -- //if (!strstr(rbuf, "ontent-")) { -- // full_write(s, "Content-type: text/plain\r\n\r\n", 28); -- //} -+ if (!strstr(rbuf, "ontent-")) { -+ full_write(s, "Content-type: text/plain\r\n\r\n", 28); -+ } - firstLine = 0; - } - if (full_write(s, rbuf, count) != count) +--- a/networking/httpd.c ++++ b/networking/httpd.c +@@ -1255,10 +1255,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"