You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ke...@apache.org on 2001/02/02 18:29:10 UTC

cvs commit: jakarta-tomcat/src/native/mod_jk/common jk_ajp13_worker.c jk_service.h jk_util.c

keith       01/02/02 09:29:09

  Modified:    src/native/mod_jk/apache1.3 mod_jk.c
               src/native/mod_jk/common jk_ajp13_worker.c jk_service.h
                        jk_util.c
  Log:
  Unread body bits need to be discarded or Apache will consider
  them a new request.  (cf jserv_ajpv12.c:689)  Fix by adding a
  field to track how much of the body was actually sent.
  This may need to be added to the Apache 2.0 connector.
  
  Revision  Changes    Path
  1.4       +10 -0     jakarta-tomcat/src/native/mod_jk/apache1.3/mod_jk.c
  
  Index: mod_jk.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/native/mod_jk/apache1.3/mod_jk.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- mod_jk.c	2001/01/28 21:46:00	1.3
  +++ mod_jk.c	2001/02/02 17:28:47	1.4
  @@ -718,6 +718,16 @@
                                         l, 
                                         &is_recoverable_error);
                   
  +                    if (s.content_read < s.content_length) {
  +			/* Toss all further characters left to read fm client */
  +			char *buff = ap_palloc(r->pool, 2048);
  +			if (buff != NULL) {
  +			    int rd;
  +			    while ((rd = ap_get_client_block(r, buff, 2048)) > 0) {
  +				s.content_read += rd;
  +			    }
  +			}
  +		    }
                       end->done(&end, l);
                   }
               }
  
  
  
  1.4       +3 -1      jakarta-tomcat/src/native/mod_jk/common/jk_ajp13_worker.c
  
  Index: jk_ajp13_worker.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/native/mod_jk/common/jk_ajp13_worker.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- jk_ajp13_worker.c	2001/01/11 02:36:14	1.3
  +++ jk_ajp13_worker.c	2001/02/02 17:29:03	1.4
  @@ -57,7 +57,7 @@
    * Description: Experimental bi-directionl protocol.                       *
    * Author:      Costin <co...@costin.dnt.ro>                              *
    * Author:      Gal Shachor <sh...@il.ibm.com>                           *
  - * Version:     $Revision: 1.3 $                                           *
  + * Version:     $Revision: 1.4 $                                           *
    ***************************************************************************/
   
   #include "jk_pool.h"
  @@ -344,6 +344,7 @@
   		}
   
   		if(read_into_msg_buff(ep, r, msg, l, len)) {
  +		    r->content_read += len;
   		    return JK_AJP13_HAS_RESPONSE;
   		}                  
   
  @@ -604,6 +605,7 @@
               if(!read_into_msg_buff(p, s, msg, l, len)) {
                   return JK_FALSE;
               }                  
  +            s->content_read = len;
               if(!connection_tcp_send_message(p, msg, l)) {
       	        jk_log(l, JK_LOG_ERROR,
   			           "Error sending request body\n");
  
  
  
  1.3       +1 -0      jakarta-tomcat/src/native/mod_jk/common/jk_service.h
  
  Index: jk_service.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/native/mod_jk/common/jk_service.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- jk_service.h	2000/11/10 18:48:50	1.2
  +++ jk_service.h	2001/02/02 17:29:04	1.3
  @@ -58,7 +58,7 @@
    *              These are the web server (ws) the worker and the connection*
    *              JVM connection point                                       *
    * Author:      Gal Shachor <sh...@il.ibm.com>                           *
  - * Version:     $Revision: 1.2 $                                               *
  + * Version:     $Revision: 1.3 $                                               *
    ***************************************************************************/
   
   #ifndef JK_SERVICE_H
  @@ -104,6 +104,7 @@
       char    *server_software;
       unsigned content_length;    /* integer that represents the content  */
                                   /* length should be 0 if unknown.        */
  +    unsigned content_read;
   
       /*
        * SSL information
  
  
  
  1.3       +2 -1      jakarta-tomcat/src/native/mod_jk/common/jk_util.c
  
  Index: jk_util.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/native/mod_jk/common/jk_util.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- jk_util.c	2000/11/10 18:48:50	1.2
  +++ jk_util.c	2001/02/02 17:29:05	1.3
  @@ -56,7 +56,7 @@
   /***************************************************************************
    * Description: Utility functions (mainly configuration)                   *
    * Author:      Gal Shachor <sh...@il.ibm.com>                           *
  - * Version:     $Revision: 1.2 $                                               *
  + * Version:     $Revision: 1.3 $                                               *
    ***************************************************************************/
   
   
  @@ -697,6 +697,7 @@
       s->server_port          = 80;
       s->server_software      = NULL;
       s->content_length       = 0;
  +    s->content_read         = 0;
       s->is_ssl               = JK_FALSE;
       s->ssl_cert             = NULL;
       s->ssl_cert_len         = 0;