tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 15032] New: - Headers get corrupted when used with mod_jk/mod_jk2 and apache 2.0.43
Date Tue, 03 Dec 2002 18:53:51 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15032>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15032

Headers get corrupted when used with mod_jk/mod_jk2 and apache 2.0.43

           Summary: Headers get corrupted when used with mod_jk/mod_jk2 and
                    apache 2.0.43
           Product: Tomcat 4
           Version: 4.1.12
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Connector:Coyote JK 2
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: aleftik@hotmail.com


Using the following test case the header values show content from the output
stream.  This happens only when the response is relatively large and the headers
have not been requested until after a relatively large response has been
written.  Definitely happens with Mozilla 1.0.1 when a user does a shift reload.  
to test:
compare the output between
http://localhost:8080/search/jk_test.jsp?lines=500 (no mod_jk)
http://localhost/search/jk_test.jsp?lines=500 (with mod_jk)


<%@ page language="java" %>
<%@ page import="java.util.*, java.io.*" %>

<%! void writeHeaders(HttpServletRequest request, JspWriter out)
  throws IOException {
     Enumeration enum = request.getHeaderNames();
     while(enum.hasMoreElements()) {
       String name = (String) enum.nextElement();
       String headerString = "Header Name:" + name + " Header Value:" +
request.getHeader(name);
       out.print(headerString);
       //print to std out to make sure it is not getting
       //corrupted on the way out
       System.out.println(headerString);
       out.println("<br>");
     }
    }
%>
<%! static final DEFAULT_COUNT = 400; /*default no of lines to write*/ %>
<%
  boolean writeBefore = false;
  int lineCount = DEFAULT_COUNT;  //should be large enought to invoke demo errors
  String doWriteBefore = request.getParameter("write_before");
  String lnCount = request.getParameter("lines");
  writeBefore = Boolean.valueOf(doWriteBefore).booleanValue();

  try {
    lineCount = Integer.parseInt(lnCount);
  } catch (NumberFormatException ne) {
    lineCount = DEFAULT_COUNT;
  } catch (NullPointerException ne) {
    lineCount = DEFAULT_COUNT;
  }

%>
<html>
	<body>
         <%-- write headers before we write a large response--%>
         <% if (writeBefore) { %>
         <% writeHeaders(request, out); %>
         <% } %>

        <%for (int i=0; i < lineCount; i++) {%>
          This is a really big html file... with lots of data<br>
        <% } %>

          <%-- write headers after we have a written a response --%>
          <% writeHeaders(request, out); %>
	</body>
</html>

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


Mime
View raw message