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 2004/07/05 12:58:16 UTC

DO NOT REPLY [Bug 29917] New: - Still/again POST data limit in JK2.0.4 ISAPI connector?

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=29917>.
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=29917

Still/again POST data limit in JK2.0.4 ISAPI connector?

           Summary: Still/again POST data limit in JK2.0.4 ISAPI connector?
           Product: Tomcat 5
           Version: 5.0.0
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: Critical
          Priority: Other
         Component: Native:JK
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: martin.schloeter@mb-interactive.de


We have the effect, that data posted from a html form is truncated/corrupted 
dependend on size of data if we use Tomcat 5 together with IIS 5 connected via 
isapi_redirector2.dll version 2.0.4. 
The resulting effect is, that there is no server response (browser 
shows "Server not found" etc) OR the some fields of the form which are ordered 
behind the fields with large content are missing, arriving as null in the 
Tomcat request object. Direcly using Tomcat via port 8080 the effect does not 
occur, all's fine.

The strange effect is, that this only happens within a specific range of data 
size. Up to around 53485 bytes of data all works fine. With some bytes more 
there is the crash. With a couple more of data - seems to be when all over 
size exceed something like 64k - all works fine again !?!

The following simple JSP demonstrates this effekt when used on this 
configuration.
There is a hidden field with a basic data amount of 50000 characters. 
Additional amount can be entered in text field. With 3485 characters a default 
(making 53485 chars payload) it's still working on my config. If you enter 
3490 as additional amount there is the crash (sometimes you have to post 
twice).
With 14000 chars additional data it works again on my config.
The hidden field "hiddenField" is just do demonstrate that with some amounts 
of data the server will still be alive after post, but that data is missing 
(hard to reproduce).
I took a look into the source of the ISAPI-DLL, but I'm not experienced enough 
on this terretory to fix it myself, sorry.

Thanks in advance
Martin Schlöter
---- JSP demonstration problem
<%@page contentType="text/html"%>
<html>
<head><title>bigForm.jsp</title></head>
<body>
<h1>bigForm.jsp</h1>
<%
	final int BASIC_AMOUNT = 50000;
	
	StringBuffer basicData = new StringBuffer(BASIC_AMOUNT);
	for(int i = 0; i < BASIC_AMOUNT; i++) {
		basicData.append('a');
	}
	
	String additionalData = null;
	if("POST".equalsIgnoreCase(request.getMethod())) {
		String basicDataReceived = request.getParameter("basicData");
		additionalData = request.getParameter("additionalData");
		
%>
<p>	Received <%=basicDataReceived.length()%> bytes for basic data field<br>
	Received <%=additionalData.length()%> bytes for additional data 
field<br>
	myHiddenField=<%=request.getParameter("myHiddenField")%>
</p>

<%
	}
	if(additionalData == null) additionalData  = "";
%>		
<script language="JavaScript">
<!--
	function prepareData() {
		var data = "";
		var num = document.getElementById("dataAmountToSend").value;
		for(var i = 0; i < num; i++) data += "x";
		document.getElementById("additionalData").innerText = data;
		return true;
	}
// -->
</script>
Basic data amount = <%=BASIC_AMOUNT%> bytes<br>
Additional data amount to send (bytes): <input type="text" 
id="dataAmountToSend" name="dataAmountToSend" value="3485" ><br>
<form method="POST" action="" onsubmit="prepareData()">
<input type="hidden" name="basicData" value="<%=basicData.toString()%>">
Data:<br>
<textarea id="additionalData" name="additionalData" cols="60" rows="10"><%
=additionalData%></textarea>
<input type="hidden" name="myHiddenField" value="42">
<br>
<input type="submit">
</form>
</body>
</html>

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org