Bug #11737 Updated: File upload generates warning
| From: | paul dot busse at ubizen dot com | Date: | Thu, 28 Jun 2001 15:27:17 +0000 |
| Subject: | Bug #11737 Updated: File upload generates warning | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-58345@lists.php.net to get a copy of this message | ||
ID: 11737
User Update by: paul.busse@ubizen.com
Old-Status: Feedback
Status: Open
Bug Type: HTTP related
Operating system: Redhat 7.0
PHP Version: 4.0.5
Description: File upload generates warning
Unfortunately I do not have time to test PHP 4.0.6. I'm on holiday for the next two weeks so I
won't be testing it before august. However let me try to explain the letter a little better.
A multipart MIME has a "closing boundary". The term "closing boundary" is
defined in RFC 1521. Data after the closing boundary should be ignored. PHP does not test for this
closing boundary. This means that it does not detect the end of the multipart MIME but considers the
bytes following the closing boundary as a new part of the MIME document. This causes the warning.
I used a perl script to generate the problem. The perl script implements the example in the manual
page of HTTP::Request::Common where they explain how to upload files. It is based on the perl libwww
module.
I hope that this clarifies the problem
Regards
Paul
Previous Comments:
---------------------------------------------------------------------------
[2001-06-27 13:38:36] sniper@php.net
Please try PHP 4.0.6 first.There were couple of fixes
in it which might have fixed this too.
And with which browser can this be reproduced?
--Jani
---------------------------------------------------------------------------
[2001-06-27 10:09:08] paul.busse@ubizen.com
When uploading a file using post, data after a closing boundary (see rfcs 1876 and 1521). This is a
boundary with two dashes added to it. If this is the case the remainder of the content can be
ignored.
If there are more then two bytes after the last boundary in the file PHP will issue a(n
unappropriate) warning saying that its MIME headers are garbled.
I modified "./main/rfc1876.c" as follows: (diff -p output)
*** rfc1867.c.good Wed Jun 27 15:50:32 2001
--- rfc1867.c Wed Jun 27 15:50:12 2001
*************** static void php_mime_split(char *buf, in
*** 142,147 ****
--- 142,152 ----
eolsize = 1;
}
+ if(*(loc+len)=='-' && *(loc+len+1)=='-' ) {
+ Done=1;
+ break;
+ }
+
rem -= (loc - ptr) + len + eolsize;
ptr = loc + len + eolsize;
} else {
Good luck to you
Paul
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=11737