From bd6d44c5f711557d203086150b21a8a240bff38e Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 11 Feb 2007 20:17:04 +0000 Subject: [PATCH] fix a bug that breaks some cgi scripts on busybox (patch from x-wrt) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6282 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../busybox/patches/420-httpd_sendcgi_fix.patch | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 package/busybox/patches/420-httpd_sendcgi_fix.patch diff --git a/package/busybox/patches/420-httpd_sendcgi_fix.patch b/package/busybox/patches/420-httpd_sendcgi_fix.patch new file mode 100644 index 000000000..de4ecf671 --- /dev/null +++ b/package/busybox/patches/420-httpd_sendcgi_fix.patch @@ -0,0 +1,17 @@ +diff -urN busybox-1.4.0/networking/httpd.c busybox-1.4.0.orig/networking/httpd.c +--- busybox-1.4.0/networking/httpd.c 2007-02-11 15:07:41.000000000 -0500 ++++ busybox-1.4.0.orig/networking/httpd.c 2007-02-11 15:07:32.000000000 -0500 +@@ -1213,10 +1213,9 @@ + #if PIPESIZE >= MAX_MEMORY_BUFF + # error "PIPESIZE >= MAX_MEMORY_BUFF" + #endif +- /* reverted back to safe_read, otherwise httpd may block if the */ +- /* cgi-script outputs page date before it has fully received all */ +- /* (eg POST) data */ +- count = safe_read(inFd, rbuf, PIPESIZE); ++ /* NB: was safe_read. If it *has to be* safe_read, */ ++ /* please explain why in this comment... */ ++ count = full_read(inFd, rbuf, PIPESIZE); + if (count == 0) + break; /* closed */ + if (count < 0)