You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by rj...@apache.org on 2009/01/08 19:54:38 UTC
svn commit: r732791 - in /tomcat/connectors/trunk/jk:
native/apache-1.3/mod_jk.c native/apache-2.0/mod_jk.c
xdocs/miscellaneous/changelog.xml
Author: rjung
Date: Thu Jan 8 10:54:37 2009
New Revision: 732791
URL: http://svn.apache.org/viewvc?rev=732791&view=rev
Log:
Add more Apache environment variables to optionally overwrite request
information. Useful in case a proxy is in front of Apache and sends
us original request information e.g. via custom headers.
Needs more testing and addition of the default variable names
- JK_REMOTE_ADDR
- JK_REMOTE_HOST
- JK_REMOTE_USER
- JK_AUTH_TYPE
- JK_SERVER_NAME
- JK_SERVER_PORT
and of the directives for changing them
- JkRemoteAddrIndicator
- JkRemoteHostIndicator
- JkRemoteUserIndicator
- JkAuthTypeIndicator
- JkServerNameIndicator
- JkServerPortIndicator
to the connectors reference docs page for Apache.
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/xdocs/miscellaneous/changelog.xml
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=732791&r1=732790&r2=732791&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 Jan 8 10:54:37 2009
@@ -64,6 +64,12 @@
#define JK_LOG_DEF_FILE ("logs/mod_jk.log")
#define JK_SHM_DEF_FILE ("logs/jk-runtime-status")
+#define JK_ENV_REMOTE_ADDR ("JK_REMOTE_ADDR")
+#define JK_ENV_REMOTE_HOST ("JK_REMOTE_HOST")
+#define JK_ENV_REMOTE_USER ("JK_REMOTE_USER")
+#define JK_ENV_AUTH_TYPE ("JK_AUTH_TYPE")
+#define JK_ENV_SERVER_NAME ("JK_SERVER_NAME")
+#define JK_ENV_SERVER_PORT ("JK_SERVER_PORT")
#define JK_ENV_HTTPS ("HTTPS")
#define JK_ENV_CERTS ("SSL_CLIENT_CERT")
#define JK_ENV_CIPHER ("SSL_CIPHER")
@@ -160,6 +166,18 @@
char *worker_indicator;
/*
+ * Configurable environment variables to overwrite
+ * request information using meta data send by a
+ * proxy in front of us.
+ */
+ char *remote_addr_indicator;
+ char *remote_host_indicator;
+ char *remote_user_indicator;
+ char *auth_type_indicator;
+ char *server_name_indicator;
+ char *server_port_indicator;
+
+ /*
* SSL Support
*/
int ssl_enable;
@@ -587,6 +605,25 @@
return 0;
}
+/* Retrieve string value from env var, use default if env var does not exist. */
+static const char *get_env_string(request_rec *r, const char *def,
+ char *env, int null_for_empty)
+{
+ char *value = (char *)ap_table_get(r->subprocess_env, env);
+ if (value)
+ return null_for_empty ? NULL_FOR_EMPTY(value) : value;
+ return null_for_empty ? NULL_FOR_EMPTY(def) : def;
+}
+
+/* Retrieve integer value from env var, use default if env var does not exist. */
+static int get_env_int(request_rec *r, int def, char *env)
+{
+ char *value = (char *)ap_table_get(r->subprocess_env, env);
+ if (value)
+ return atoi(value);
+ return def;
+}
+
/*
* Set up an instance of a ws_service object for a single request. This
* particular instance will be of the Apache 1.3-specific subclass. Copies
@@ -624,19 +661,24 @@
s->vhost_to_text = ws_vhost_to_text;
s->vhost_to_uw_map = ws_vhost_to_uw_map;
- s->auth_type = NULL_FOR_EMPTY(r->connection->ap_auth_type);
- s->remote_user = NULL_FOR_EMPTY(r->connection->user);
+ s->auth_type = get_env_string(r, r->connection->ap_auth_type
+ conf->auth_type_indicator, 1);
+ s->remote_user = get_env_string(r, r->connection->user
+ conf->remote_user_indicator, 1);
s->protocol = r->protocol;
s->remote_host =
(char *)ap_get_remote_host(r->connection, r->per_dir_config,
REMOTE_HOST);
- s->remote_host = NULL_FOR_EMPTY(s->remote_host);
+ s->remote_host = get_env_string(r, s->remote_host,
+ conf->remote_host_indicator, 1);
if (conf->options & JK_OPT_FWDLOCAL)
- s->remote_addr = NULL_FOR_EMPTY(r->connection->local_ip);
+ s->remote_addr = r->connection->local_ip;
else
- s->remote_addr = NULL_FOR_EMPTY(r->connection->remote_ip);
+ s->remote_addr = r->connection->remote_ip;
+ s->remote_addr = get_env_string(r, s->remote_addr,
+ conf->remote_addr_indicator, 1);
if (conf->options & JK_OPT_FLUSHPACKETS)
s->flush_packets = 1;
@@ -670,12 +712,14 @@
/* get server name */
/* s->server_name = (char *)(r->hostname ? r->hostname : r->server->server_hostname); */
/* XXX : a la jk2 */
- s->server_name = (char *)ap_get_server_name(r);
+ s->server_name = get_env_string(r, (char *)ap_get_server_name(r),
+ conf->server_name_indicator, 0);
/* get the real port (otherwise redirect failed) */
/* s->server_port = htons( r->connection->local_addr.sin_port ); */
/* XXX : a la jk2 */
- s->server_port = ap_get_server_port(r);
+ s->server_port = get_env_int(r, ap_get_server_port(r),
+ conf->server_port_indicator);;
s->server_software = (char *)ap_get_server_version();
@@ -877,9 +921,10 @@
*/
if (JK_IS_DEBUG_LEVEL(conf->log)) {
jk_log(conf->log, JK_LOG_DEBUG,
- "Service protocol=%s method=%s host=%s addr=%s name=%s port=%d auth=%s user=%s laddr=%s raddr=%s uri=%s",
+ "Service protocol=%s method=%s ssl=%s host=%s addr=%s name=%s port=%d auth=%s user=%s laddr=%s raddr=%s uri=%s",
STRNULL_FOR_NULL(s->protocol),
STRNULL_FOR_NULL(s->method),
+ s->is_ssl ? "true" : "false",
STRNULL_FOR_NULL(s->remote_host),
STRNULL_FOR_NULL(s->remote_addr),
STRNULL_FOR_NULL(s->server_name),
@@ -1653,6 +1698,76 @@
}
/*
+ * Directives Handling for setting various environment names
+ * used to overwrite the following request information:
+ * - remote_addr
+ * - remote_host
+ * - remote_user
+ * - auth_type
+ * - server_name
+ * - server_port
+ */
+static const char *jk_set_remote_addr_indicator(cmd_parms * cmd,
+ void *dummy, char *indicator)
+{
+ server_rec *s = cmd->server;
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *) ap_get_module_config(s->module_config, &jk_module);
+ conf->remote_addr_indicator = ap_pstrdup(cmd->pool, indicator);
+ return NULL;
+}
+
+static const char *jk_set_remote_host_indicator(cmd_parms * cmd,
+ void *dummy, char *indicator)
+{
+ server_rec *s = cmd->server;
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *) ap_get_module_config(s->module_config, &jk_module);
+ conf->remote_host_indicator = ap_pstrdup(cmd->pool, indicator);
+ return NULL;
+}
+
+static const char *jk_set_remote_user_indicator(cmd_parms * cmd,
+ void *dummy, char *indicator)
+{
+ server_rec *s = cmd->server;
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *) ap_get_module_config(s->module_config, &jk_module);
+ conf->remote_user_indicator = ap_pstrdup(cmd->pool, indicator);
+ return NULL;
+}
+
+static const char *jk_set_auth_type_indicator(cmd_parms * cmd,
+ void *dummy, char *indicator)
+{
+ server_rec *s = cmd->server;
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *) ap_get_module_config(s->module_config, &jk_module);
+ conf->auth_type_indicator = ap_pstrdup(cmd->pool, indicator);
+ return NULL;
+}
+
+static const char *jk_set_server_name_indicator(cmd_parms * cmd,
+ void *dummy, char *indicator)
+{
+ server_rec *s = cmd->server;
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *) ap_get_module_config(s->module_config, &jk_module);
+ conf->server_name_indicator = ap_pstrdup(cmd->pool, indicator);
+ return NULL;
+}
+
+static const char *jk_set_server_port_indicator(cmd_parms * cmd,
+ void *dummy, char *indicator)
+{
+ server_rec *s = cmd->server;
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *) ap_get_module_config(s->module_config, &jk_module);
+ conf->server_port_indicator = ap_pstrdup(cmd->pool, indicator);
+ return NULL;
+}
+
+/*
* JkExtractSSL Directive Handling
*
* JkExtractSSL On/Off
@@ -2019,7 +2134,7 @@
/*
* Enable worker name to be set in an environment variable.
- * this way one can use LocationMatch together with mod_end,
+ * This way one can use LocationMatch together with mod_env,
* mod_setenvif and mod_rewrite to set the target worker.
* Use this in combination with SetHandler jakarta-servlet to
* make mod_jk the handler for the request.
@@ -2029,6 +2144,29 @@
"Name of the Apache environment that contains the worker name"},
/*
+ * Environment variables used to overwrite the following
+ * request information which gets forwarded:
+ * - remote_addr
+ * - remote_host
+ * - remote_user
+ * - auth_type
+ * - server_name
+ * - server_port
+ */
+ {"JkRemoteAddrIndicator", jk_set_remote_addr_indicator, NULL, RSRC_CONF, TAKE1,
+ "Name of the Apache environment that contains the remote address"},
+ {"JkRemoteHostIndicator", jk_set_remote_host_indicator, NULL, RSRC_CONF, TAKE1,
+ "Name of the Apache environment that contains the remote host name"},
+ {"JkRemoteUserIndicator", jk_set_remote_user_indicator, NULL, RSRC_CONF, TAKE1,
+ "Name of the Apache environment that contains the remote user name"},
+ {"JkAuthTypeIndicator", jk_set_auth_type_indicator, NULL, RSRC_CONF, TAKE1,
+ "Name of the Apache environment that contains the type of authentication"},
+ {"JkServerNameIndicator", jk_set_server_name_indicator, NULL, RSRC_CONF, TAKE1,
+ "Name of the Apache environment that contains the server name"},
+ {"JkServerPortIndicator", jk_set_server_port_indicator, NULL, RSRC_CONF, TAKE1,
+ "Name of the Apache environment that contains the server port"},
+
+ /*
* Apache has multiple SSL modules (for example apache_ssl, stronghold
* IHS ...). Each of these can have a different SSL environment names
* The following properties let the administrator specify the envoiroment
@@ -2332,6 +2470,19 @@
c->log_level = JK_LOG_DEF_LEVEL;
c->options = JK_OPT_FWDURIDEFAULT;
c->worker_indicator = JK_ENV_WORKER_NAME;
+
+ /*
+ * Configurable environment variables to overwrite
+ * request information using meta data send by a
+ * proxy in front of us.
+ */
+ c->remote_addr_indicator = JK_ENV_REMOTE_ADDR;
+ c->remote_host_indicator = JK_ENV_REMOTE_HOST;
+ c->remote_user_indicator = JK_ENV_REMOTE_USER;
+ c->auth_type_indicator = JK_ENV_AUTH_TYPE;
+ c->server_name_indicator = JK_ENV_SERVER_NAME;
+ c->server_port_indicator = JK_ENV_SERVER_PORT;
+
/*
* By default we will try to gather SSL info.
* Disable this functionality through JkExtractSSL
@@ -2395,6 +2546,19 @@
if (!overrides->worker_indicator)
overrides->worker_indicator = base->worker_indicator;
+ if (!overrides->remote_addr_indicator)
+ overrides->remote_addr_indicator = base->remote_addr_indicator;
+ if (!overrides->remote_host_indicator)
+ overrides->remote_host_indicator = base->remote_host_indicator;
+ if (!overrides->remote_user_indicator)
+ overrides->remote_user_indicator = base->remote_user_indicator;
+ if (!overrides->auth_type_indicator)
+ overrides->auth_type_indicator = base->auth_type_indicator;
+ if (!overrides->server_name_indicator)
+ overrides->server_name_indicator = base->server_name_indicator;
+ if (!overrides->server_port_indicator)
+ overrides->server_port_indicator = base->server_port_indicator;
+
if (overrides->ssl_enable == JK_UNSET)
overrides->ssl_enable = base->ssl_enable;
if (!overrides->https_indicator)
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=732791&r1=732790&r2=732791&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 Jan 8 10:54:37 2009
@@ -106,6 +106,12 @@
#define JK_LOG_DEF_FILE ("logs/mod_jk.log")
#define JK_SHM_DEF_FILE ("logs/jk-runtime-status")
+#define JK_ENV_REMOTE_ADDR ("JK_REMOTE_ADDR")
+#define JK_ENV_REMOTE_HOST ("JK_REMOTE_HOST")
+#define JK_ENV_REMOTE_USER ("JK_REMOTE_USER")
+#define JK_ENV_AUTH_TYPE ("JK_AUTH_TYPE")
+#define JK_ENV_SERVER_NAME ("JK_SERVER_NAME")
+#define JK_ENV_SERVER_PORT ("JK_SERVER_PORT")
#define JK_ENV_HTTPS ("HTTPS")
#define JK_ENV_CERTS ("SSL_CLIENT_CERT")
#define JK_ENV_CIPHER ("SSL_CIPHER")
@@ -189,6 +195,18 @@
char *worker_indicator;
/*
+ * Configurable environment variables to overwrite
+ * request information using meta data send by a
+ * proxy in front of us.
+ */
+ char *remote_addr_indicator;
+ char *remote_host_indicator;
+ char *remote_user_indicator;
+ char *auth_type_indicator;
+ char *server_name_indicator;
+ char *server_port_indicator;
+
+ /*
* SSL Support
*/
int ssl_enable;
@@ -650,6 +668,25 @@
return 0;
}
+/* Retrieve string value from env var, use default if env var does not exist. */
+static const char *get_env_string(request_rec *r, const char *def,
+ char *env, int null_for_empty)
+{
+ char *value = (char *)apr_table_get(r->subprocess_env, env);
+ if (value)
+ return null_for_empty ? NULL_FOR_EMPTY(value) : value;
+ return null_for_empty ? NULL_FOR_EMPTY(def) : def;
+}
+
+/* Retrieve integer value from env var, use default if env var does not exist. */
+static int get_env_int(request_rec *r, int def, char *env)
+{
+ char *value = (char *)apr_table_get(r->subprocess_env, env);
+ if (value)
+ return atoi(value);
+ return def;
+}
+
static int init_ws_service(apache_private_data_t * private_data,
jk_ws_service_t *s, jk_server_conf_t * conf)
{
@@ -670,18 +707,23 @@
s->vhost_to_text = ws_vhost_to_text;
s->vhost_to_uw_map = ws_vhost_to_uw_map;
- s->auth_type = NULL_FOR_EMPTY(r->ap_auth_type);
- s->remote_user = NULL_FOR_EMPTY(r->user);
+ s->auth_type = get_env_string(r, r->ap_auth_type,
+ conf->auth_type_indicator, 1);
+ s->remote_user = get_env_string(r, r->user,
+ conf->remote_user_indicator, 1);
s->protocol = r->protocol;
s->remote_host = (char *)ap_get_remote_host(r->connection,
r->per_dir_config,
REMOTE_HOST, NULL);
- s->remote_host = NULL_FOR_EMPTY(s->remote_host);
+ s->remote_host = get_env_string(r, s->remote_host,
+ conf->remote_host_indicator, 1);
if (conf->options & JK_OPT_FWDLOCAL)
- s->remote_addr = NULL_FOR_EMPTY(r->connection->local_ip);
+ s->remote_addr = r->connection->local_ip;
else
- s->remote_addr = NULL_FOR_EMPTY(r->connection->remote_ip);
+ s->remote_addr = r->connection->remote_ip;
+ s->remote_addr = get_env_string(r, s->remote_addr,
+ conf->remote_addr_indicator, 1);
if (conf->options & JK_OPT_FLUSHPACKETS)
s->flush_packets = 1;
if (conf->options & JK_OPT_FLUSHEADER)
@@ -712,7 +754,8 @@
s->disable_reuse = 1;
/* get server name */
- s->server_name = (char *)ap_get_server_name(r);
+ s->server_name = get_env_string(r, (char *)ap_get_server_name(r),
+ conf->server_name_indicator, 0);
/* get the real port (otherwise redirect failed) */
/* XXX: use apache API for getting server port
@@ -720,7 +763,8 @@
* Pre 1.2.7 versions used:
* s->server_port = r->connection->local_addr->port;
*/
- s->server_port = ap_get_server_port(r);
+ s->server_port = get_env_int(r, ap_get_server_port(r),
+ conf->server_port_indicator);;
#if (AP_MODULE_MAGIC_AT_LEAST(20051115,4)) && !defined(API_COMPATIBILITY)
s->server_software = (char *)ap_get_server_description();
@@ -930,9 +974,10 @@
*/
if (JK_IS_DEBUG_LEVEL(conf->log)) {
jk_log(conf->log, JK_LOG_DEBUG,
- "Service protocol=%s method=%s host=%s addr=%s name=%s port=%d auth=%s user=%s laddr=%s raddr=%s uri=%s",
+ "Service protocol=%s method=%s ssl=%s host=%s addr=%s name=%s port=%d auth=%s user=%s laddr=%s raddr=%s uri=%s",
STRNULL_FOR_NULL(s->protocol),
STRNULL_FOR_NULL(s->method),
+ s->is_ssl ? "true" : "false",
STRNULL_FOR_NULL(s->remote_host),
STRNULL_FOR_NULL(s->remote_addr),
STRNULL_FOR_NULL(s->server_name),
@@ -1738,6 +1783,76 @@
}
/*
+ * Directives Handling for setting various environment names
+ * used to overwrite the following request information:
+ * - remote_addr
+ * - remote_host
+ * - remote_user
+ * - auth_type
+ * - server_name
+ * - server_port
+ */
+static const char *jk_set_remote_addr_indicator(cmd_parms * cmd,
+ void *dummy, const char *indicator)
+{
+ server_rec *s = cmd->server;
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *) ap_get_module_config(s->module_config, &jk_module);
+ conf->remote_addr_indicator = apr_pstrdup(cmd->pool, indicator);
+ return NULL;
+}
+
+static const char *jk_set_remote_host_indicator(cmd_parms * cmd,
+ void *dummy, const char *indicator)
+{
+ server_rec *s = cmd->server;
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *) ap_get_module_config(s->module_config, &jk_module);
+ conf->remote_host_indicator = apr_pstrdup(cmd->pool, indicator);
+ return NULL;
+}
+
+static const char *jk_set_remote_user_indicator(cmd_parms * cmd,
+ void *dummy, const char *indicator)
+{
+ server_rec *s = cmd->server;
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *) ap_get_module_config(s->module_config, &jk_module);
+ conf->remote_user_indicator = apr_pstrdup(cmd->pool, indicator);
+ return NULL;
+}
+
+static const char *jk_set_auth_type_indicator(cmd_parms * cmd,
+ void *dummy, const char *indicator)
+{
+ server_rec *s = cmd->server;
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *) ap_get_module_config(s->module_config, &jk_module);
+ conf->auth_type_indicator = apr_pstrdup(cmd->pool, indicator);
+ return NULL;
+}
+
+static const char *jk_set_server_name_indicator(cmd_parms * cmd,
+ void *dummy, const char *indicator)
+{
+ server_rec *s = cmd->server;
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *) ap_get_module_config(s->module_config, &jk_module);
+ conf->server_name_indicator = apr_pstrdup(cmd->pool, indicator);
+ return NULL;
+}
+
+static const char *jk_set_server_port_indicator(cmd_parms * cmd,
+ void *dummy, const char *indicator)
+{
+ server_rec *s = cmd->server;
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *) ap_get_module_config(s->module_config, &jk_module);
+ conf->server_port_indicator = apr_pstrdup(cmd->pool, indicator);
+ return NULL;
+}
+
+/*
* JkExtractSSL Directive Handling
*
* JkExtractSSL On/Off
@@ -2133,7 +2248,7 @@
/*
* Enable worker name to be set in an environment variable.
- * this way one can use LocationMatch together with mod_end,
+ * This way one can use LocationMatch together with mod_env,
* mod_setenvif and mod_rewrite to set the target worker.
* Use this in combination with SetHandler jakarta-servlet to
* make mod_jk the handler for the request.
@@ -2143,6 +2258,29 @@
"Name of the Apache environment that contains the worker name"),
/*
+ * Environment variables used to overwrite the following
+ * request information which gets forwarded:
+ * - remote_addr
+ * - remote_host
+ * - remote_user
+ * - auth_type
+ * - server_name
+ * - server_port
+ */
+ AP_INIT_TAKE1("JkRemoteAddrIndicator", jk_set_remote_addr_indicator, NULL, RSRC_CONF,
+ "Name of the Apache environment that contains the remote address"),
+ AP_INIT_TAKE1("JkRemoteHostIndicator", jk_set_remote_host_indicator, NULL, RSRC_CONF,
+ "Name of the Apache environment that contains the remote host name"),
+ AP_INIT_TAKE1("JkRemoteUserIndicator", jk_set_remote_user_indicator, NULL, RSRC_CONF,
+ "Name of the Apache environment that contains the remote user name"),
+ AP_INIT_TAKE1("JkAuthTypeIndicator", jk_set_auth_type_indicator, NULL, RSRC_CONF,
+ "Name of the Apache environment that contains the type of authentication"),
+ AP_INIT_TAKE1("JkServerNameIndicator", jk_set_server_name_indicator, NULL, RSRC_CONF,
+ "Name of the Apache environment that contains the server name"),
+ AP_INIT_TAKE1("JkServerPortIndicator", jk_set_server_port_indicator, NULL, RSRC_CONF,
+ "Name of the Apache environment that contains the server port"),
+
+ /*
* Apache has multiple SSL modules (for example apache_ssl, stronghold
* IHS ...). Each of these can have a different SSL environment names
* The following properties let the administrator specify the envoiroment
@@ -2557,6 +2695,19 @@
c->log_level = JK_LOG_DEF_LEVEL;
c->options = JK_OPT_FWDURIDEFAULT;
c->worker_indicator = JK_ENV_WORKER_NAME;
+
+ /*
+ * Configurable environment variables to overwrite
+ * request information using meta data send by a
+ * proxy in front of us.
+ */
+ c->remote_addr_indicator = JK_ENV_REMOTE_ADDR;
+ c->remote_host_indicator = JK_ENV_REMOTE_HOST;
+ c->remote_user_indicator = JK_ENV_REMOTE_USER;
+ c->auth_type_indicator = JK_ENV_AUTH_TYPE;
+ c->server_name_indicator = JK_ENV_SERVER_NAME;
+ c->server_port_indicator = JK_ENV_SERVER_PORT;
+
/*
* By default we will try to gather SSL info.
* Disable this functionality through JkExtractSSL
@@ -2623,6 +2774,19 @@
if (!overrides->worker_indicator)
overrides->worker_indicator = base->worker_indicator;
+ if (!overrides->remote_addr_indicator)
+ overrides->remote_addr_indicator = base->remote_addr_indicator;
+ if (!overrides->remote_host_indicator)
+ overrides->remote_host_indicator = base->remote_host_indicator;
+ if (!overrides->remote_user_indicator)
+ overrides->remote_user_indicator = base->remote_user_indicator;
+ if (!overrides->auth_type_indicator)
+ overrides->auth_type_indicator = base->auth_type_indicator;
+ if (!overrides->server_name_indicator)
+ overrides->server_name_indicator = base->server_name_indicator;
+ if (!overrides->server_port_indicator)
+ overrides->server_port_indicator = base->server_port_indicator;
+
if (overrides->ssl_enable == JK_UNSET)
overrides->ssl_enable = base->ssl_enable;
if (!overrides->https_indicator)
Modified: tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml?rev=732791&r1=732790&r2=732791&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml Thu Jan 8 10:54:37 2009
@@ -43,6 +43,11 @@
<br />
<subsection name="Native">
<changelog>
+ <add>
+ Apache: Add more environment variables to overwrite request
+ information. Useful in case a proxy is in front of Apache and sends
+ us original request information e.g. via custom headers. (rjung)
+ </add>
<fix>
Missing define for MAX_PATH on Netware. Patch by Guenter Knauf. (rjung)
</fix>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org