]> git.pld-linux.org Git - packages/apache1-mod_jk.git/blobdiff - jakarta-tomcat-connectors-jk-jkpass.patch
- add LoadModule jk_module modules/mod_jk.so
[packages/apache1-mod_jk.git] / jakarta-tomcat-connectors-jk-jkpass.patch
index c69053b337dad8e28a35d281f08364b4efcc2e4a..c27669264bf20591735709b7a0631140b6551a66 100644 (file)
@@ -1,8 +1,8 @@
 diff -Nru jakarta-tomcat-connectors-jk-1.2.5-src.orig/jk/native/apache-1.3/mod_jk.c jakarta-tomcat-connectors-jk-1.2.5-src/jk/native/apache-1.3/mod_jk.c
 --- jakarta-tomcat-connectors-jk-1.2.5-src.orig/jk/native/apache-1.3/mod_jk.c  2004-05-14 15:02:21.110892712 +0000
 +++ jakarta-tomcat-connectors-jk-1.2.5-src/jk/native/apache-1.3/mod_jk.c       2004-05-14 19:43:05.275190512 +0000
-@@ -175,8 +175,14 @@
-     table *envvars; 
+@@ -135,8 +135,14 @@
+     table *envvars;
  
      server_rec *s;
 +
@@ -16,17 +16,17 @@ diff -Nru jakarta-tomcat-connectors-jk-1.2.5-src.orig/jk/native/apache-1.3/mod_j
  
  /*
   * The "private", or subclass portion of the web server service class for
-@@ -1389,6 +1395,18 @@
+@@ -1414,6 +1420,18 @@
      return NULL;
  }
  
 +static const char * jk_set_pass_prefix(cmd_parms * cmd, void * dummy, char * pass) {
 +    server_rec * server;
 +    jk_server_conf_t * config;
-+    
++    pass_prefix *_prefix;
 +    server = cmd->server;
 +    config = (jk_server_conf_t *) ap_get_module_config(server->module_config, &jk_module);
-+    pass_prefix *_prefix = ap_push_array (config->pass_prefixes);
++    _prefix = ap_push_array (config->pass_prefixes);
 +    _prefix->prefix = (char *) ap_palloc(cmd->pool, strlen(pass) + 1);
 +    strcpy(_prefix->prefix, pass);
 +    return NULL;
@@ -35,9 +35,9 @@ diff -Nru jakarta-tomcat-connectors-jk-1.2.5-src.orig/jk/native/apache-1.3/mod_j
  /*
   * JkEnvVar Directive Handling
   *
-@@ -1509,6 +1527,9 @@
-     {"JkEnvVar", jk_add_env_var, NULL, RSRC_CONF, TAKE2,
-      "Adds a name of environment variable that should be sent to servlet-engine"},     
+@@ -1564,6 +1582,9 @@
+     {"JkWorkerProperty", jk_set_worker_property, NULL, RSRC_CONF, RAW_ARGS,
+      "Set workers.properties formated directive"},
  
 +    {"JkPass", jk_set_pass_prefix, NULL, RSRC_CONF, TAKE1,
 +     "Set the prefix for URIs that shouldn't be procceded to a servlet-engine worker (multiple)" },
@@ -45,38 +45,43 @@ diff -Nru jakarta-tomcat-connectors-jk-1.2.5-src.orig/jk/native/apache-1.3/mod_j
      {NULL}
  };
  
-@@ -1529,6 +1550,25 @@
-         return HTTP_INTERNAL_SERVER_ERROR;
-     }
+@@ -1579,11 +1600,30 @@
+     /* Retrieve the worker name stored by jk_translate() */
+     const char *worker_name = ap_table_get(r->notes, JK_WORKER_ID);
+     int rc;
 +    server_rec * s;
 +    jk_server_conf_t * c;
-+    s = r->server;
-+    c = (jk_server_conf_t *) ap_get_module_config(s->module_config, &jk_module);
 +    pass_prefix *list;
 +    pass_prefix *item;
 +    int i;
+     if (r->proxyreq) {
+         return HTTP_INTERNAL_SERVER_ERROR;
+     }
++    s = r->server;
++    c = (jk_server_conf_t *) ap_get_module_config(s->module_config, &jk_module);
 +    list = (pass_prefix *) c->pass_prefixes->elts;
-+    for (i = 0; i < c->pass_prefixes->nelts; ++i) {
-+        item = &list[i];
-+        if (item->prefix) {
-+          char *pass = strstr(r->uri, item->prefix);
-+          if (pass && pass == r->uri) {
-+              ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_DEBUG, s, "Skipping URI: %s", r->uri);
-+              return DECLINED;
-+          }
-+      }
-+    }
-+
++      for (i = 0; i < c->pass_prefixes->nelts; ++i) {
++          item = &list[i];
++          if (item->prefix) {
++                  char *pass = strstr(r->uri, item->prefix);
++          if (pass && pass == r->uri) {
++                      ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_DEBUG, s, "Skipping URI: %s", r->uri);
++              return DECLINED;
++          }
++      }
++      }
++    
      /* Set up r->read_chunked flags for chunked encoding, if present */
-     if(rc = ap_setup_client_block(r, REQUEST_CHUNKED_DECHUNK)) {
-       return rc;
-@@ -1685,6 +1725,9 @@
+     if ((rc = ap_setup_client_block(r, REQUEST_CHUNKED_DECHUNK))) {
+         return rc;
+@@ -1771,6 +1811,9 @@
  
      c->s = s;
  
 +    c->pass_prefixes = ap_make_array(p, 4, sizeof(pass_prefix));
-+    ap_log_error( APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, s, "AMG.net hack configured");
++    ap_log_error( APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, s, "JkPass hack configured");
 +    
      return c;
  }
This page took 0.054446 seconds and 4 git commands to generate.