You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2006/01/01 02:14:33 UTC
DO NOT REPLY [Bug 38085] New: - CGIServlet - form data with enctype="multipart/form-data"
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=38085>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=38085
Summary: CGIServlet - form data with enctype="multipart/form-
data"
Product: Tomcat 5
Version: 5.5.9
Platform: All
URL: http://devenezia.com/round-robin/forum/postenvTAKEOUT.pl
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: Catalina
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: rdevenezia@wildblue.net
This information was also posted to Apache-Tomcat listserv.
The sample perl program demonstrates the issue.
When a form has enctype="multipart/form-data" the data on cgi's STDIN (as passed
from cgiservlet) contains the QUERY_STRING in line 1 -- This is wrong.
If using CGM.pm, it will error with a "Malformed multipart POST" because the
STDIN data and the CONTENT_LENGTH are out of sync. [The content being delivered
on STDIN is now longer than that reported by CONTENT_LENGTH ]
An untested work around (for perlers) is to tweak the perl script:
set content_length = content_length + length(query_string) + 2, iff
x_tomcat_script_path ne "" && content_type =~ #multipart/form-data#
#!c:\usr\bin\perl
##
## printenv -- demo CGI program which just prints its environment
##
print <<HTML;
Status: 200
Content-type: text/html
<html><body>
<form
action="?ARG1=FOO&ARG2=BAR"
method="post"
enctype="multipart/form-data"
style="float:left"
<input type=text name=A value=123><br>
<input type=text name=B value=456><br>
<input type=text name=C value=789><br>
<input type=text name=D value=314><br>
<input type=text name=E value=123><br>
<input type=text name=F value=456><br>
<input type=text name=G value=789><br>
<input type=text name=H value=314159><br>
<input type=submit>
</form>
HTML
print "<PRE>";
foreach $var (sort(keys(%ENV))) {
$val = $ENV{$var};
$val =~ s|\n|\\n|g;
$val =~ s|"|\\"|g;
print "${var}=\"${val}\"\n";
}
print "</PRE>";
if ($ENV{'REQUEST_METHOD'} eq "POST") {
CORE::binmode(STDIN); # good ole dos
read (STDIN, $post, $ENV{'CONTENT_LENGTH'});
print "<HR><PRE>!" . $post . "!!! THAT'S ALL FOLKS!</PRE>";
}
print "\n</html></body>";
results in
...
QUERY_STRING="ARG1=FOO&ARG2=BAR"
...
!ARG1=FOO&ARG2=BAR
-----------------------------33251965624481
Content-Disposition: form-data; name="A"
123
-----------------------------33251965624481
dot dot dot
-----------------------------33251965624481
Content-Disposition: form-data; name="H"
314159
-----------------------------3!!! THAT'S ALL FOLKS!
the content delivered to the cgi ends at 3 and 3251965624481<crlf><crlf> has
gone missing, which in turn makes CGI.pm error.
"3251965624481<cr><lf><cr><lf>" is the same length as
"ARG1=FOO&ARG2=BAR"
--
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
DO NOT REPLY [Bug 38085] - CGIServlet - form data with enctype="multipart/form-data"
Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=38085>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=38085
markt@apache.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |DUPLICATE
------- Additional Comments From markt@apache.org 2006-01-02 14:54 -------
Indeed it is.
*** This bug has been marked as a duplicate of 37285 ***
--
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
DO NOT REPLY [Bug 38085] - CGIServlet - form data with enctype="multipart/form-data"
Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=38085>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=38085
------- Additional Comments From rdevenezia@wildblue.net 2006-01-02 08:51 -------
This appears to be the same as 37285
--
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org