craigmcc    00/10/27 18:39:45

  Modified:    catalina/src/share/org/apache/catalina/connector
                        HttpRequestBase.java RequestStream.java
               catalina/src/share/org/apache/catalina/util RequestUtil.java
  Log:
  Fix a bug where only the first 512 bytes of a POST request's data content
  was being processed.
  
  Revision  Changes    Path
  1.12      +10 -5     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java
  
  Index: HttpRequestBase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- HttpRequestBase.java      2000/10/18 04:19:07     1.11
  +++ HttpRequestBase.java      2000/10/28 01:39:43     1.12
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java,v
 1.11 2000/10/18 04:19:07 craigmcc Exp $
  - * $Revision: 1.11 $
  - * $Date: 2000/10/18 04:19:07 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java,v
 1.12 2000/10/28 01:39:43 craigmcc Exp $
  + * $Revision: 1.12 $
  + * $Date: 2000/10/28 01:39:43 $
    *
    * ====================================================================
    *
  @@ -98,7 +98,7 @@
    * be implemented.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.11 $ $Date: 2000/10/18 04:19:07 $
  + * @version $Revision: 1.12 $ $Date: 2000/10/28 01:39:43 $
    */
   
   public class HttpRequestBase
  @@ -597,9 +597,14 @@
        if ("POST".equals(getMethod()) && (getContentLength() > 0) &&
            "application/x-www-form-urlencoded".equals(contentType)) {
            try {
  +                int max = getContentLength();
  +                int len = 0;
                byte buf[] = new byte[getContentLength()];
                ServletInputStream is = getInputStream();
  -             is.read(buf);
  +                while (len < max) {
  +                    int next = is.read(buf, len, max - len);
  +                    len += next;
  +                }
                is.close();
                String data = null;
                String encoding = getCharacterEncoding();
  
  
  
  1.3       +8 -9      
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/RequestStream.java
  
  Index: RequestStream.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/RequestStream.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- RequestStream.java        2000/08/19 01:49:41     1.2
  +++ RequestStream.java        2000/10/28 01:39:44     1.3
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/RequestStream.java,v
 1.2 2000/08/19 01:49:41 craigmcc Exp $
  - * $Revision: 1.2 $
  - * $Date: 2000/08/19 01:49:41 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/RequestStream.java,v
 1.3 2000/10/28 01:39:44 craigmcc Exp $
  + * $Revision: 1.3 $
  + * $Date: 2000/10/28 01:39:44 $
    *
    * ====================================================================
    *
  @@ -79,7 +79,7 @@
    * not reading more than that many bytes on the underlying stream.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.2 $ $Date: 2000/08/19 01:49:41 $
  + * @version $Revision: 1.3 $ $Date: 2000/10/28 01:39:44 $
    */
   
   public class RequestStream
  @@ -451,17 +451,16 @@
        */
       protected void fill() throws IOException {
   
  +        bufferPosition = 0;
  +        bufferCount = 0;
           int len = buffer.length;
        if (length > 0)
            len = Math.min(len, (length - count));
  -     if (length > 0) {
  +     if (len > 0) {
            len = stream.read(buffer, 0, len);
  -         if (len > 0) {
  -             bufferPosition = 0;
  +         if (len > 0)
                bufferCount = len;
  -         }
        }
  -
   
       }
   
  
  
  
  1.8       +5 -4      
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/RequestUtil.java
  
  Index: RequestUtil.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/RequestUtil.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- RequestUtil.java  2000/09/17 01:11:37     1.7
  +++ RequestUtil.java  2000/10/28 01:39:45     1.8
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/RequestUtil.java,v
 1.7 2000/09/17 01:11:37 craigmcc Exp $
  - * $Revision: 1.7 $
  - * $Date: 2000/09/17 01:11:37 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/RequestUtil.java,v
 1.8 2000/10/28 01:39:45 craigmcc Exp $
  + * $Revision: 1.8 $
  + * $Date: 2000/10/28 01:39:45 $
    *
    * ====================================================================
    *
  @@ -79,7 +79,7 @@
    * General purpose request parsing and encoding utility methods.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.7 $ $Date: 2000/09/17 01:11:37 $
  + * @version $Revision: 1.8 $ $Date: 2000/10/28 01:39:45 $
    */
   
   public final class RequestUtil {
  @@ -351,3 +351,4 @@
       }
   
   }
  +
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to