ID: 11737
User Update by: [EMAIL PROTECTED]
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] [EMAIL PROTECTED]
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] [EMAIL PROTECTED]
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
--
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]