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]