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 @@
+@@ -134,8 +134,14 @@
table *envvars;
server_rec *s;
/*
* The "private", or subclass portion of the web server service class for
-@@ -1389,6 +1395,18 @@
+@@ -1355,6 +1361,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;
/*
* JkEnvVar Directive Handling
*
-@@ -1509,6 +1527,9 @@
+@@ -1475,6 +1493,9 @@
{"JkEnvVar", jk_add_env_var, NULL, RSRC_CONF, TAKE2,
"Adds a name of environment variable that should be sent to servlet-engine"},
{NULL}
};
-@@ -1529,6 +1550,25 @@
- return HTTP_INTERNAL_SERVER_ERROR;
- }
-
+@@ -1490,11 +1511,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];
/* 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 @@
+@@ -1651,6 +1691,9 @@
c->s = s;