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: [email protected]
For additional commands, e-mail: [email protected]