diff -Nru jakarta-tomcat-3.2/src/native/jk/jk_ajp13.c jakarta-tomcat/src/native/mod_jk/common/jk_ajp13.c
--- jakarta-tomcat-3.2/src/native/jk/jk_ajp13.c	Fri Feb  9 10:07:12 2001
+++ jakarta-tomcat/src/native/mod_jk/common/jk_ajp13.c	Fri Feb  9 10:27:42 2001
@@ -56,7 +56,7 @@
 /***************************************************************************
  * Description: Experimental bi-directionl protocol handler.               *
  * Author:      Gal Shachor <shachor@il.ibm.com>                           *
- * Version:     $Revision: 1.5.2.3 $                                           *
+ * Version:     $Revision: 1.5 $                                           *
  ***************************************************************************/
 
 
@@ -82,7 +82,8 @@
 
 /*
  * Request methods, coded as numbers instead of strings.
- * The list of methods was taken from Section 5.1.1 of RFC 2616
+ * The list of methods was taken from Section 5.1.1 of RFC 2616,
+ * RFC 2518, and the ACL IETF draft.
  *          Method        = "OPTIONS"
  *                        | "GET"    
  *                        | "HEAD"   
@@ -90,6 +91,14 @@
  *                        | "PUT"    
  *                        | "DELETE" 
  *                        | "TRACE"  
+ *                        | "PROPFIND"
+ *                        | "PROPPATCH"
+ *                        | "MKCOL"
+ *                        | "COPY"
+ *                        | "MOVE"
+ *                        | "LOCK"
+ *                        | "UNLOCK"
+ *                        | "ACL"
  * 
  */
 #define SC_M_OPTIONS            (unsigned char)1
@@ -99,6 +108,14 @@
 #define SC_M_PUT                (unsigned char)5
 #define SC_M_DELETE             (unsigned char)6
 #define SC_M_TRACE              (unsigned char)7
+#define SC_M_PROPFIND           (unsigned char)8
+#define SC_M_PROPPATCH          (unsigned char)9
+#define SC_M_MKCOL              (unsigned char)10
+#define SC_M_COPY               (unsigned char)11
+#define SC_M_MOVE               (unsigned char)12
+#define SC_M_LOCK               (unsigned char)13
+#define SC_M_UNLOCK             (unsigned char)14
+#define SC_M_ACL		(unsigned char)15
 
 
 /*
@@ -210,6 +227,22 @@
         *sc = SC_M_OPTIONS;
     } else if(0 == strcmp(method, "TRACE")) {
         *sc = SC_M_TRACE;
+    } else if(0 == strcmp(method, "PROPFIND")) {
+	*sc = SC_M_PROPFIND;
+    } else if(0 == strcmp(method, "PROPPATCH")) {
+	*sc = SC_M_PROPPATCH;
+    } else if(0 == strcmp(method, "MKCOL")) {
+	*sc = SC_M_MKCOL;
+    } else if(0 == strcmp(method, "COPY")) {
+	*sc = SC_M_COPY;
+    } else if(0 == strcmp(method, "MOVE")) {
+	*sc = SC_M_MOVE;
+    } else if(0 == strcmp(method, "LOCK")) {
+	*sc = SC_M_LOCK;
+    } else if(0 == strcmp(method, "UNLOCK")) {
+	*sc = SC_M_UNLOCK;
+    } else if(0 == strcmp(method, "ACL")) {
+	*sc = SC_M_ACL;
     } else {
         rc = JK_FALSE;
     }
diff -Nru jakarta-tomcat-3.2/src/native/jk/jk_ajp13_worker.c jakarta-tomcat/src/native/mod_jk/common/jk_ajp13_worker.c
--- jakarta-tomcat-3.2/src/native/jk/jk_ajp13_worker.c	Fri Feb  9 10:07:12 2001
+++ jakarta-tomcat/src/native/mod_jk/common/jk_ajp13_worker.c	Fri Feb  9 10:27:42 2001
@@ -57,7 +57,7 @@
  * Description: Experimental bi-directionl protocol.                       *
  * Author:      Costin <costin@costin.dnt.ro>                              *
  * Author:      Gal Shachor <shachor@il.ibm.com>                           *
- * Version:     $Revision: 1.3.2.2 $                                           *
+ * 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");
diff -Nru jakarta-tomcat-3.2/src/native/jk/jk_lb_worker.c jakarta-tomcat/src/native/mod_jk/common/jk_lb_worker.c
--- jakarta-tomcat-3.2/src/native/jk/jk_lb_worker.c	Fri Feb  9 10:07:12 2001
+++ jakarta-tomcat/src/native/mod_jk/common/jk_lb_worker.c	Fri Feb  9 10:27:42 2001
@@ -58,7 +58,7 @@
  *              several workers.                                           *
  * Author:      Gal Shachor <shachor@il.ibm.com>                           *
  * Based on:                                                               *
- * Version:     $Revision: 1.2.2.1 $                                               *
+ * Version:     $Revision: 1.4 $                                               *
  ***************************************************************************/
 
 #include "jk_pool.h"
@@ -133,7 +133,7 @@
                  * string if appended...
                  */
                 if(id_end = strchr(id_start, '?')) { 
-                    id_end = NULL;
+                    *id_end = '\0';
                 }
                 return id_start;
             }
diff -Nru jakarta-tomcat-3.2/src/native/jk/jk_service.h jakarta-tomcat/src/native/mod_jk/common/jk_service.h
--- jakarta-tomcat-3.2/src/native/jk/jk_service.h	Fri Feb  9 10:07:12 2001
+++ jakarta-tomcat/src/native/mod_jk/common/jk_service.h	Fri Feb  9 10:27:42 2001
@@ -58,7 +58,7 @@
  *              These are the web server (ws) the worker and the connection*
  *              JVM connection point                                       *
  * Author:      Gal Shachor <shachor@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
diff -Nru jakarta-tomcat-3.2/src/native/jk/jk_uri_worker_map.c jakarta-tomcat/src/native/mod_jk/common/jk_uri_worker_map.c
--- jakarta-tomcat-3.2/src/native/jk/jk_uri_worker_map.c	Fri Feb  9 10:07:12 2001
+++ jakarta-tomcat/src/native/mod_jk/common/jk_uri_worker_map.c	Fri Feb  9 10:27:42 2001
@@ -358,6 +358,7 @@
             uri = clean_uri;
         }
 
+		jk_log(l, JK_LOG_DEBUG, "Attempting to map URI %s\n", uri);
         for(i = 0 ; i < uw_map->size ; i++) {
 
             if(uw_map->maps[i].ctxt_len < longest_match) {
@@ -369,10 +370,20 @@
                             uw_map->maps[i].ctxt_len)) {
                 if(MATCH_TYPE_EXACT == uw_map->maps[i].match_type) {
                     if(strlen(uri) == uw_map->maps[i].ctxt_len) {
+			jk_log(l,
+			       JK_LOG_DEBUG,
+			       "jk_uri_worker_map_t::map_uri_to_worker, Found an exact match %s ->%s\n",
+			       uw_map->maps[i].worker_name,
+			       uw_map->maps[i].context );
                         return uw_map->maps[i].worker_name;
                     }
                 } else if(MATCH_TYPE_CONTEXT == uw_map->maps[i].match_type) {
                     if(uw_map->maps[i].ctxt_len > longest_match) {
+			jk_log(l,
+			       JK_LOG_DEBUG,
+			       "jk_uri_worker_map_t::map_uri_to_worker, Found a context match %s -> %s\n",
+			       uw_map->maps[i].worker_name,
+			       uw_map->maps[i].context );
                         longest_match = uw_map->maps[i].ctxt_len;
                         best_match = i;
                     }
@@ -393,6 +404,11 @@
                         if(0 == strcmp(suffix, uw_map->maps[i].suffix)) {
 #endif
                             if(uw_map->maps[i].ctxt_len >= longest_match) {
+				jk_log(l,
+				       JK_LOG_DEBUG,
+				       "jk_uri_worker_map_t::map_uri_to_worker, Found a suffix match %s -> *.%s\n",
+				       uw_map->maps[i].worker_name,
+				       uw_map->maps[i].suffix );
                                 longest_match = uw_map->maps[i].ctxt_len;
                                 best_match = i;
                             }
@@ -403,10 +419,6 @@
         }
 
         if(-1 != best_match) {
-            jk_log(l, JK_LOG_DEBUG, 
-                   "jk_uri_worker_map_t::map_uri_to_worker, Found a match %s\n",
-                   uw_map->maps[best_match].worker_name); 
-
             return uw_map->maps[best_match].worker_name;
         } else {
             /*
@@ -435,4 +447,4 @@
            "jk_uri_worker_map_t::map_uri_to_worker, done without a match\n"); 
 
     return NULL;
-}
\ No newline at end of file
+}
diff -Nru jakarta-tomcat-3.2/src/native/jk/jk_util.c jakarta-tomcat/src/native/mod_jk/common/jk_util.c
--- jakarta-tomcat-3.2/src/native/jk/jk_util.c	Fri Feb  9 10:07:12 2001
+++ jakarta-tomcat/src/native/mod_jk/common/jk_util.c	Fri Feb  9 10:27:42 2001
@@ -56,7 +56,7 @@
 /***************************************************************************
  * Description: Utility functions (mainly configuration)                   *
  * Author:      Gal Shachor <shachor@il.ibm.com>                           *
- * Version:     $Revision: 1.6.2.3 $                                               *
+ * Version:     $Revision: 1.4 $                                               *
  ***************************************************************************/
 
 
@@ -710,6 +710,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;

