Author: mturk Date: Wed Oct 1 07:50:03 2008 New Revision: 700797 URL: http://svn.apache.org/viewvc?rev=700797&view=rev Log: Update map_uri_to_worker_ext API so we can get extensions for server that have no request processing configuration API. For IIS we'll set the Index of worker_map to private header and pass that to extension processing stage
Modified: tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.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/apache-1.3/mod_jk.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c?rev=700797&r1=700796&r2=700797&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c (original) +++ tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c Wed Oct 1 07:50:03 2008 @@ -2786,7 +2786,7 @@ else { rule_extension_t *e; worker = map_uri_to_worker_ext(conf->uw_map, clean_uri, - NULL, &e, conf->log); + NULL, &e, NULL, conf->log); ap_set_module_config(r->request_config, &jk_module, e); } Modified: tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c?rev=700797&r1=700796&r2=700797&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c (original) +++ tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c Wed Oct 1 07:50:03 2008 @@ -2281,7 +2281,7 @@ else { rule_extension_t *e; worker_name = map_uri_to_worker_ext(xconf->uw_map, r->uri, - NULL, &e, xconf->log); + NULL, &e, NULL, xconf->log); ap_set_module_config(r->request_config, &jk_module, e); } @@ -3217,7 +3217,7 @@ else { rule_extension_t *e; worker = map_uri_to_worker_ext(conf->uw_map, r->uri, - NULL, &e, conf->log); + NULL, &e, NULL, conf->log); ap_set_module_config(r->request_config, &jk_module, e); } @@ -3377,7 +3377,7 @@ else { rule_extension_t *e; worker = map_uri_to_worker_ext(conf->uw_map, r->uri, - NULL, &e, conf->log); + NULL, &e, NULL, conf->log); ap_set_module_config(r->request_config, &jk_module, e); } 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?rev=700797&r1=700796&r2=700797&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c (original) +++ tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c Wed Oct 1 07:50:03 2008 @@ -876,6 +876,7 @@ const char *map_uri_to_worker_ext(jk_uri_worker_map_t *uw_map, const char *uri, const char *vhost, rule_extension_t **extensions, + int *index, jk_logger_t *l) { unsigned int i; @@ -892,6 +893,8 @@ return NULL; } *extensions = NULL; + if (index) + *index = -1; if (*uri != '/') { jk_log(l, JK_LOG_WARNING, "Uri %s is invalid. Uri must start with /", uri); @@ -913,19 +916,19 @@ */ reject_unsafe = uw_map->reject_unsafe; vhost_len = 0; -/* - * In case we got a vhost, we prepend a slash - * and the vhost to the url in order to enable - * vhost mapping rules especially for IIS. - */ + /* + * In case we got a vhost, we prepend a slash + * and the vhost to the url in order to enable + * vhost mapping rules especially for IIS. + */ if (vhost) { int off = 0; -/* Add leading '/' if necessary */ + /* Add leading '/' if necessary */ if (vhost[0] != '/') { url[0] = '/'; off = 1; } -/* Size including leading slash. */ + /* Size including leading slash. */ vhost_len = strlen(vhost); if (vhost_len + off >= JK_MAX_URI_LEN) { vhost_len = 0; @@ -970,16 +973,16 @@ jk_log(l, JK_LOG_DEBUG, "Attempting to map URI '%s' from %d maps", url, IND_THIS(uw_map->size)); rv = find_match(uw_map, url, l); -/* If this doesn't find a match, try without the vhost. */ + /* If this doesn't find a match, try without the vhost. */ if (rv < 0 && vhost_len) { rv = find_match(uw_map, &url[vhost_len], l); } -/* In case we found a match, check for the unmounts. */ + /* In case we found a match, check for the unmounts. */ if (rv >= 0 && IND_THIS(uw_map->nosize)) { -/* Again first including vhost. */ + /* Again first including vhost. */ int rc = is_nomatch(uw_map, url, rv, l); -/* If no unmount was find, try without vhost. */ + /* If no unmount was find, try without vhost. */ if (!rc && vhost_len) rc = is_nomatch(uw_map, &url[vhost_len], rv, l); if (rc) { @@ -994,6 +997,8 @@ if (rv >= 0) { *extensions = &(IND_THIS(uw_map->maps)[rv]->extensions); + if (index) + *index = rv; JK_TRACE_EXIT(l); return IND_THIS(uw_map->maps)[rv]->worker_name; } @@ -1001,12 +1006,23 @@ return NULL; } +rule_extension_t *get_uri_to_worker_ext(jk_uri_worker_map_t *uw_map, + int index) +{ + if (rv >= 0) { + return &(IND_THIS(uw_map->maps)[rv]->extensions); + } + else { + return NULL; + } +} + const char *map_uri_to_worker(jk_uri_worker_map_t *uw_map, const char *uri, const char *vhost, jk_logger_t *l) { rule_extension_t *ext; - return map_uri_to_worker_ext(uw_map, uri, vhost, &ext, l); + return map_uri_to_worker_do(uw_map, uri, vhost, &ext, NULL, l); } int uri_worker_map_load(jk_uri_worker_map_t *uw_map, 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?rev=700797&r1=700796&r2=700797&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.h (original) +++ tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.h Wed Oct 1 07:50:03 2008 @@ -188,8 +188,12 @@ const char *map_uri_to_worker_ext(jk_uri_worker_map_t *uw_map, const char *uri, const char *vhost, rule_extension_t **extensions, + int *index, jk_logger_t *l); +rule_extension_t *get_uri_to_worker_ext(jk_uri_worker_map_t *uw_map, + int index); + int uri_worker_map_load(jk_uri_worker_map_t *uw_map, jk_logger_t *l); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]