You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "James E. Flemer" <jf...@acm.jhu.edu> on 2002/08/16 20:55:16 UTC

multipart/form-data bug [crossposted]

Sorry for the cross-post, but I don't know which side is
causing this bug, Apache or PHP.

OS: Solaris 8
Apache: 1.3.26
PHP: 4.2.2 (DSO)

By default, PHP sets "max_post_size" to 8Mb. If the post
data exceeds that, it seems PHP discards all of it (no post
data gets to the script). In my situation "upload_max_filesize"
was set higher than 8Mb (tho this may not have any effect
on the bug).

When a big (11Mb) file was posted with multipart/form-data,
PHP ignored all the data, but it seems part of the POST
data was *reparsed* by Apache! In the apache access logs it
shows the post, then the next request looks like this
(wrapped):

> 24.58.34.117 - - [16/Aug/2002:11:49:58 -0400]
> "-----------------------------1103527590377401575662824084"
> 200 6568 "-" "-"

This seems to be caused since PHP stopped after reading the
HTTP header (ending in "Content-Length: 11993812\n\n"). The
next lines in the post were:

> ----------------------------1103527590377401575662824084
> Content-Disposition: form-data; name="bar"
>
> foo@example.com
> ----------------------------1103527590377401575662824084
> .... and so on until the tcp session was reset.

Does anyone see something odd here? :-) Enjoy. This does
not happen on FreeBSD/Apache-1.3.26/PHP-cvs.

But hey, I learned that a shortcut for "GET / HTTP/1.0\n\n"
is "-\n", and there are no headers to parse. :-)

-James