Author: rjung
Date: Sat Nov 18 17:11:04 2006
New Revision: 476673

URL: http://svn.apache.org/viewvc?view=rev&rev=476673
Log:
- Deprecated MATCH_TYPEs not used any longer
- JkMountFile reload didn't really work when
  the original file and the new file contained
  rules, which only differed by the existence of "!".
  The logic only allowed to change a "-" prefix
  between reloads, but not "!".
  Now we also check the MATCH_TYPE_NOMATCH bit
  when we check for duplicates.
  (likely fix for BZ 40997)

Modified:
    tomcat/connectors/trunk/jk/native/common/jk_status.c
    tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c
    tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.h

Modified: tomcat/connectors/trunk/jk/native/common/jk_status.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_status.c?view=diff&rev=476673&r1=476672&r2=476673
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Sat Nov 18 17:11:04 
2006
@@ -220,14 +220,17 @@
 
 static const char *status_val_match(unsigned int match)
 {
-    if (match & MATCH_TYPE_STOPPED)
-        return "Stopped";
-    else if (match & MATCH_TYPE_DISABLED)
+    if (match & MATCH_TYPE_DISABLED)
         return "Disabled";
     else if (match & MATCH_TYPE_NO_MATCH)
         return "Unmount";
     else if (match & MATCH_TYPE_EXACT)
         return "Exact";
+    else if (match & MATCH_TYPE_WILDCHAR_PATH)
+        return "Wildchar";
+/* deprecated
+    else if (match & MATCH_TYPE_STOPPED)
+        return "Stopped";
     else if (match & MATCH_TYPE_CONTEXT)
         return "Context";
     else if (match & MATCH_TYPE_CONTEXT_PATH)
@@ -236,8 +239,7 @@
         return "Suffix";
     else if (match & MATCH_TYPE_GENERAL_SUFFIX)
         return "General Suffix";
-    else if (match & MATCH_TYPE_WILDCHAR_PATH)
-        return "Wildchar";
+ */
     else
         return "Error";
 }

Modified: tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c?view=diff&rev=476673&r1=476672&r2=476673
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c Sat Nov 18 
17:11:04 2006
@@ -245,25 +245,27 @@
     for (i = 0; i < uw_map->size; i++) {
         uwr = uw_map->maps[i];
         if (strcmp(uwr->uri, puri) == 0) {
-            /* Update disabled flag */
-            if (match_type & MATCH_TYPE_DISABLED)
-                uwr->match_type |= MATCH_TYPE_DISABLED;
-            else
-                uwr->match_type &= ~MATCH_TYPE_DISABLED;
-            if (strcmp(uwr->worker_name, worker) == 0) {
-                jk_log(l, JK_LOG_DEBUG,
-                       "map rule %s=%s already exists",
-                       puri, worker);
-                JK_TRACE_EXIT(l);
-                return JK_TRUE;
-            }
-            else {
-                jk_log(l, JK_LOG_DEBUG,
-                       "changing map rule %s=%s ",
-                       puri, worker);
-                uwr->worker_name = jk_pool_strdup(&uw_map->p, worker);
-                JK_TRACE_EXIT(l);
-                return JK_TRUE;
+            if (uwr->match_type & MATCH_TYPE_NO_MATCH == match_type & 
MATCH_TYPE_NO_MATCH) {
+                /* Update disabled flag */
+                if (match_type & MATCH_TYPE_DISABLED)
+                    uwr->match_type |= MATCH_TYPE_DISABLED;
+                else
+                    uwr->match_type &= ~MATCH_TYPE_DISABLED;
+                if (strcmp(uwr->worker_name, worker) == 0) {
+                    jk_log(l, JK_LOG_DEBUG,
+                           "map rule %s=%s already exists",
+                           puri, worker);
+                    JK_TRACE_EXIT(l);
+                    return JK_TRUE;
+                }
+                else {
+                    jk_log(l, JK_LOG_DEBUG,
+                           "changing map rule %s=%s ",
+                           puri, worker);
+                    uwr->worker_name = jk_pool_strdup(&uw_map->p, worker);
+                    JK_TRACE_EXIT(l);
+                    return JK_TRUE;
+                }
             }
         }
     }
@@ -434,7 +436,7 @@
         if (!(uwr->match_type & MATCH_TYPE_NO_MATCH) ||
             (uwr->match_type & MATCH_TYPE_DISABLED))
             continue;
-        /* Check only mathing workers */
+        /* Check only matching workers */
         if (strcmp(uwr->worker_name, worker))
             continue;
         if (uwr->match_type & MATCH_TYPE_WILDCHAR_PATH) {

Modified: tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.h
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.h?view=diff&rev=476673&r1=476672&r2=476673
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.h Sat Nov 18 
17:11:04 2006
@@ -40,17 +40,27 @@
 #define JK_URIMAP_RELOAD            60
 
 #define MATCH_TYPE_EXACT            0x0001
+/* deprecated
 #define MATCH_TYPE_CONTEXT          0x0002
+ */
 /* match all context path URIs with a path component suffix */
+/* deprecated
 #define MATCH_TYPE_CONTEXT_PATH     0x0004
+ */
+/* deprecated
 #define MATCH_TYPE_SUFFIX           0x0010
+ */
 /* match all URIs of the form *ext */
+/* deprecated
 #define MATCH_TYPE_GENERAL_SUFFIX   0x0020
+ */
 /* match multiple wild characters (*) and (?) */
 #define MATCH_TYPE_WILDCHAR_PATH    0x0040
 #define MATCH_TYPE_NO_MATCH         0x1000
 #define MATCH_TYPE_DISABLED         0x2000
+/* deprecated
 #define MATCH_TYPE_STOPPED          0x4000
+ */
 
 #define JK_MAX_URI_LEN              4095
 struct uri_worker_record



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

Reply via email to