Author: rjung Date: Thu Mar 19 15:52:06 2009 New Revision: 756058 URL: http://svn.apache.org/viewvc?rev=756058&view=rev Log: Inject environment map from web server plugin as a function parameter instead of keeping it global.
This seems a bit cleaner and gives us more flexibility to use the feature for other maps as well in the future. The only public functions changed are: jk_map_read_property() and jk_map_read_properties(). Remove jk_map_replace_properties() from the public jk_map API, because we only use it internally. Change last arg in jk_map_replace_properties() to being not const (it never really was, and no caller relies on this). 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_map.c tomcat/connectors/trunk/jk/native/common/jk_map.h tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c tomcat/connectors/trunk/jk/native/netscape/jk_nsapi_plugin.c tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c 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=756058&r1=756057&r2=756058&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 Thu Mar 19 15:52:06 2009 @@ -2042,7 +2042,7 @@ if (!jk_worker_properties) jk_map_alloc(&jk_worker_properties); - if (jk_map_read_property(jk_worker_properties, line, + if (jk_map_read_property(jk_worker_properties, NULL, line, JK_MAP_HANDLE_DUPLICATES, conf->log) == JK_FALSE) return ap_pstrcat(cmd->temp_pool, "Invalid JkWorkerProperty ", line, NULL); @@ -2844,7 +2844,7 @@ } if ((jk_worker_file != NULL) && - !jk_map_read_properties(jk_worker_properties, jk_worker_file, NULL, + !jk_map_read_properties(jk_worker_properties, NULL, jk_worker_file, NULL, JK_MAP_HANDLE_DUPLICATES, conf->log)) { jk_error_exit(APLOG_MARK, APLOG_EMERG | APLOG_NOERRNO, s, p, "Error in reading worker properties from '%s'", 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=756058&r1=756057&r2=756058&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 Thu Mar 19 15:52:06 2009 @@ -2143,7 +2143,7 @@ if (!jk_worker_properties) jk_map_alloc(&jk_worker_properties); - if (jk_map_read_property(jk_worker_properties, line, + if (jk_map_read_property(jk_worker_properties, NULL, line, JK_MAP_HANDLE_DUPLICATES, conf->log) == JK_FALSE) return apr_pstrcat(cmd->temp_pool, "Invalid JkWorkerProperty ", line, NULL); @@ -3126,7 +3126,7 @@ jk_set_worker_def_cache_size(mpm_threads); if ((jk_worker_file != NULL) && - !jk_map_read_properties(jk_worker_properties, jk_worker_file, NULL, + !jk_map_read_properties(jk_worker_properties, NULL, jk_worker_file, NULL, JK_MAP_HANDLE_DUPLICATES, conf->log)) { ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, "Error in reading worker properties from '%s'", Modified: tomcat/connectors/trunk/jk/native/common/jk_map.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_map.c?rev=756058&r1=756057&r2=756058&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_map.c (original) +++ tomcat/connectors/trunk/jk/native/common/jk_map.c Thu Mar 19 15:52:06 2009 @@ -80,7 +80,7 @@ static void trim_prp_comment(char *prp); static size_t trim(char *s); static int map_realloc(jk_map_t *m); -jk_map_t *jk_environment_map = NULL; +static char *jk_map_replace_properties(jk_map_t *m, jk_map_t *env, char *value); int jk_map_alloc(jk_map_t **m) { @@ -455,7 +455,7 @@ } } -int jk_map_read_property(jk_map_t *m, const char *str, +int jk_map_read_property(jk_map_t *m, jk_map_t *env, const char *str, int treatment, jk_logger_t *l) { int rc = JK_TRUE; @@ -482,7 +482,7 @@ else { if (jk_map_validate_property(prp, l) == JK_FALSE) return JK_FALSE; - v = jk_map_replace_properties(m, v); + v = jk_map_replace_properties(m, env, v); if (jk_map_handle_duplicates(m, prp, &v, treatment, l) == JK_TRUE) v = jk_pool_strdup(&m->p, v); } @@ -504,7 +504,7 @@ } -int jk_map_read_properties(jk_map_t *m, const char *f, time_t *modified, +int jk_map_read_properties(jk_map_t *m, jk_map_t *env, const char *f, time_t *modified, int treatment, jk_logger_t *l) { int rc = JK_FALSE; @@ -529,7 +529,7 @@ while (NULL != (prp = fgets(buf, LENGTH_OF_LINE, fp))) { trim_prp_comment(prp); if (*prp) { - if ((rc = jk_map_read_property(m, prp, treatment, l)) == JK_FALSE) + if ((rc = jk_map_read_property(m, env, prp, treatment, l)) == JK_FALSE) break; } } @@ -687,9 +687,9 @@ * Replace $(property) in value. * */ -char *jk_map_replace_properties(jk_map_t *m, const char *value) +static char *jk_map_replace_properties(jk_map_t *m, jk_map_t *env, char *value) { - char *rc = (char *)value; + char *rc = value; char *env_start = rc; int rec = 0; @@ -711,10 +711,9 @@ if (!env_value) { env_value = getenv(env_name); } - if (!env_value && jk_environment_map) { + if (!env_value && env) { /* Search inside local environment table */ - env_value = jk_map_get_string(jk_environment_map, - env_name, NULL); + env_value = jk_map_get_string(env, env_name, NULL); } #if defined(WIN32) Modified: tomcat/connectors/trunk/jk/native/common/jk_map.h URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_map.h?rev=756058&r1=756057&r2=756058&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_map.h (original) +++ tomcat/connectors/trunk/jk/native/common/jk_map.h Thu Mar 19 15:52:06 2009 @@ -37,9 +37,6 @@ struct jk_map; typedef struct jk_map jk_map_t; -/* Local environment table */ -jk_map_t *jk_environment_map; - int jk_map_alloc(jk_map_t **m); int jk_map_free(jk_map_t **m); @@ -73,9 +70,9 @@ int jk_map_put(jk_map_t *m, const char *name, const void *value, void **old); -int jk_map_read_property(jk_map_t *m, const char *str, int treatment, jk_logger_t *l); +int jk_map_read_property(jk_map_t *m, jk_map_t *env, const char *str, int treatment, jk_logger_t *l); -int jk_map_read_properties(jk_map_t *m, const char *f, time_t *modified, int treatment, jk_logger_t *l); +int jk_map_read_properties(jk_map_t *m, jk_map_t *env, const char *f, time_t *modified, int treatment, jk_logger_t *l); int jk_map_size(jk_map_t *m); @@ -87,12 +84,6 @@ int jk_map_copy(jk_map_t *src, jk_map_t *dst); -/** - * Replace $(property) in value. - * - */ -char *jk_map_replace_properties(jk_map_t *m, const char *value); - int jk_map_resolve_references(jk_map_t *m, const char *prefix, int wildcard, int depth, jk_logger_t *l); int jk_map_inherit_properties(jk_map_t *m, const char *from, const char *to, jk_logger_t *l); 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=756058&r1=756057&r2=756058&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 Thu Mar 19 15:52:06 2009 @@ -1095,7 +1095,7 @@ jk_map_t *map; jk_map_alloc(&map); - if (jk_map_read_properties(map, uw_map->fname, &uw_map->modified, + if (jk_map_read_properties(map, NULL, uw_map->fname, &uw_map->modified, JK_MAP_HANDLE_NORMAL, l)) { int i; if (JK_IS_DEBUG_LEVEL(l)) Modified: tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c?rev=756058&r1=756057&r2=756058&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c (original) +++ tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c Thu Mar 19 15:52:06 2009 @@ -482,6 +482,7 @@ static jk_map_t *workers_map = NULL; static jk_map_t *rewrite_map = NULL; static jk_map_t *rregexp_map = NULL; +static jk_map_t *jk_environment_map = NULL; static jk_logger_t *logger = NULL; static char *SERVER_NAME = "SERVER_NAME"; @@ -2458,7 +2459,7 @@ } if (rewrite_rule_file[0] && jk_map_alloc(&rewrite_map)) { - if (jk_map_read_properties(rewrite_map, rewrite_rule_file, + if (jk_map_read_properties(rewrite_map, NULL, rewrite_rule_file, NULL, JK_MAP_HANDLE_RAW, logger)) { int i; if (JK_IS_DEBUG_LEVEL(logger)) { @@ -2513,7 +2514,7 @@ if (rc) { rc = JK_FALSE; if (jk_map_alloc(&workers_map)) { - if (jk_map_read_properties(workers_map, worker_file, NULL, + if (jk_map_read_properties(workers_map, NULL, worker_file, NULL, JK_MAP_HANDLE_DUPLICATES, logger)) { int rv; @@ -2615,7 +2616,7 @@ jk_map_t *map = NULL; if (jk_map_alloc(&map)) { - if (jk_map_read_properties(map, ini_file_name, NULL, + if (jk_map_read_properties(map, jk_environment_map, ini_file_name, NULL, JK_MAP_HANDLE_DUPLICATES, logger)) { using_ini_file = JK_TRUE; src = map; Modified: tomcat/connectors/trunk/jk/native/netscape/jk_nsapi_plugin.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/netscape/jk_nsapi_plugin.c?rev=756058&r1=756057&r2=756058&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/netscape/jk_nsapi_plugin.c (original) +++ tomcat/connectors/trunk/jk/native/netscape/jk_nsapi_plugin.c Thu Mar 19 15:52:06 2009 @@ -274,7 +274,7 @@ } if (jk_map_alloc(&init_map)) { - if (jk_map_read_properties(init_map, worker_prp_file, NULL, + if (jk_map_read_properties(init_map, NULL, worker_prp_file, NULL, JK_MAP_HANDLE_DUPLICATES, logger)) { int rv; int sleep_cnt; Modified: tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c?rev=756058&r1=756057&r2=756058&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c (original) +++ tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c Thu Mar 19 15:52:06 2009 @@ -957,7 +957,7 @@ jk_map_t *init_map; if(jk_map_alloc(&init_map)) { - if(jk_map_read_properties(init_map, prp_file, NULL, + if(jk_map_read_properties(init_map, NULL, prp_file, NULL, JK_MAP_HANDLE_DUPLICATES, NULL)) { jk_tomcat_startup_data_t data; jk_pool_t p; --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org