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]