From:             [EMAIL PROTECTED]
Operating system: Linux
PHP version:      4.0.4pl1
PHP Bug Type:     Apache related
Bug description:  HTTP/1.1 Expect: header not honoured

When a PHP page is requested via HTTP/1.1, and the HTTP
header "Expect: 100-continue" is supplied, PHP does not
honour the request.  This is because it is failing
to call ap_should_client_block().

The file sapi/apache/mod_php4.c needs modification. The
following change has been tested and works. Hopefully
someone can make sense of this diff output:

--- sapi/apache/mod_php4.c   Wed Jan  3 22:07:59 2001
+++ sapi/apache_modified/mod_php4.c  Thu Feb 15 13:56:12 2001
@@ -159,14 +159,16 @@
        void (*handler)(int);

        handler = signal(SIGPIPE, SIG_IGN);
-       while (total_read_bytes<count_bytes) {
-               hard_timeout("Read POST information", r); /* start timeout timer
-               read_bytes = get_client_block(r, buffer+total_read_bytes, 
count_bytes-total_read_bytes);
-               reset_timeout(r);
-               if (read_bytes<=0) {
-                       break;
+       if (ap_should_client_block(r)) {
+               while (total_read_bytes<count_bytes) {
+                       hard_timeout("Read POST information", r); /* start timeout 
+timer */
+                       read_bytes = get_client_block(r, buffer+total_read_bytes, 
+count_bytes-total_read_bytes);
+                       reset_timeout(r);
+                       if (read_bytes<=0) {
+                               break;
+                       }
+                       total_read_bytes += read_bytes;
                }
-               total_read_bytes += read_bytes;
        }
        signal(SIGPIPE, handler);
        return total_read_bytes;     



-- 
Edit Bug report at: http://bugs.php.net/?id=9280&edit=1



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to