You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Enrico Badella <eb...@softstar.it> on 1999/02/27 18:28:07 UTC

mod_jserv/3976: POST of multipart/form-data not handled as described in HttpUtils.parsePostData() question of FAQ

>Number:         3976
>Category:       mod_jserv
>Synopsis:       POST of multipart/form-data not handled as described in HttpUtils.parsePostData() question of FAQ
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    jserv
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Sat Feb 27 09:30:00 PST 1999
>Last-Modified:
>Originator:     eb@softstar.it
>Organization:
apache
>Release:        1.3.4 + mod_ssl-2.2.2
>Environment:
Solaris 2.6 
gcc 2.8.1
JDK 1.2
JSDK 2.0
javax.mail.*
>Description:
In JServConnection.java there is no provision to differentiate depending
on Content-Type when handling a POST method. Everything is passed to
HttpUtils.parsePostData() that apparently does not handle multipart/form-data
but does not throw IllegalArgumentException.

This limitation brakes a servlet that works without problems using
Livesoftware's JRun servlet engine.
>How-To-Repeat:
Need servlet or access thru FW
>Fix:
I found a quick & dirty fix while debugging the problem but, since this is my
first look at the jserv source, it could be just casually working ;-)

JServConnection.java
852,857c852,863
<                     params = HttpUtils.parsePostData(getContentLength(),
<                         servlet_in);
<                     if (params == null) {
<                         params = new Hashtable();
<                     }
<                     return false;
---
>                   // @@@ EB+
>                   String ct = getContentType().toLowerCase();
>                   if (ct.equals("application/x-www-form-urlencoded")) {
>                         params = HttpUtils.parsePostData(getContentLength(),
>                             servlet_in);
>                         if (params == null) {
>                             params = new Hashtable();
>                         }
>                         return false;
>                   } else
>                       return true;
>                   // @@@ EB-

>Audit-Trail:
>Unformatted:
[In order for any reply to be added to the PR database, ]
[you need to include <ap...@Apache.Org> in the Cc line ]
[and leave the subject line UNCHANGED.  This is not done]
[automatically because of the potential for mail loops. ]
[If you do not include this Cc, your reply may be ig-   ]
[nored unless you are responding to an explicit request ]
[from a developer.                                      ]
[Reply only with text; DO NOT SEND ATTACHMENTS!         ]