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



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?



[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



Full Bug description available at:

PHP Development Mailing List <>
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