mturk 2005/02/06 01:33:15
Modified: jk/native/apache-2.0 mod_jk.c
Log:
Initialize log file before initializing JK, so that we can see error
messages if config has errors.
Revision Changes Path
1.117 +74 -73 jakarta-tomcat-connectors/jk/native/apache-2.0/mod_jk.c
Index: mod_jk.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/apache-2.0/mod_jk.c,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -r1.116 -r1.117
--- mod_jk.c 5 Feb 2005 12:41:17 -0000 1.116
+++ mod_jk.c 6 Feb 2005 09:33:15 -0000 1.117
@@ -56,7 +56,7 @@
/* deprecated with apr 0.9.3 */
-/*
+/*
The latest Apache 2.0.47 for iSeries didn't export apr_filepath_name_get
but apr_filename_of_pathname, even if includes seems right and the APR
in use is 0.9.4
@@ -104,7 +104,7 @@
/*
* If you are not using SSL, comment out the following line. It will make
- * apache run faster.
+ * apache run faster.
*
* Personally, I (DM), think this may be a lie.
*/
@@ -296,7 +296,7 @@
if (rv = ap_change_request_body_xlate(p->r, 65535, 65535)) {
/* turn off request body translation */
ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0,
NULL,
- "mod_jk: Error on ap_change_request_body_xlate,
rc=%d \n",
+ "mod_jk: Error on ap_change_request_body_xlate,
rc=%d",
rv);
return JK_FALSE;
}
@@ -350,7 +350,7 @@
if (!p->response_started) {
if (JK_IS_DEBUG_LEVEL(main_log))
jk_log(main_log, JK_LOG_DEBUG,
- "Write without start, starting with defaults\n");
+ "Write without start, starting with defaults");
if (!s->start_response(s, 200, NULL, NULL, NULL, 0)) {
return JK_FALSE;
}
@@ -366,7 +366,7 @@
if (rc) {
ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0,
NULL,
- "mod_jk: Error on
ap_change_response_body_xlate, rc=%d \n",
+ "mod_jk: Error on
ap_change_response_body_xlate, rc=%d",
rc);
return JK_FALSE;
}
@@ -377,7 +377,7 @@
size_t toSend = (ll > CHUNK_SIZE) ? CHUNK_SIZE : ll;
r = ap_rwrite((const char *)bb, toSend, p->r);
jk_log(main_log, JK_LOG_DEBUG,
- "writing %ld (%ld) out of %ld \n", toSend, r, ll);
+ "writing %ld (%ld) out of %ld", toSend, r, ll);
ll -= CHUNK_SIZE;
bb += CHUNK_SIZE;
@@ -393,7 +393,7 @@
#ifndef AS400
if (ap_rflush(p->r) != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0,
- NULL, "mod_jk: Error flushing \n");
+ NULL, "mod_jk: Error flushing");
return JK_FALSE;
}
#endif
@@ -480,7 +480,7 @@
*/
if (JK_IS_DEBUG_LEVEL(conf->log))
jk_log(conf->log, JK_LOG_DEBUG,
- "agsp=%u agsn=%s hostn=%s shostn=%s cbsport=%d sport=%d
claport=%d\n",
+ "agsp=%u agsn=%s hostn=%s shostn=%s cbsport=%d sport=%d
claport=%d",
ap_get_server_port(r),
ap_get_server_name(r) != NULL ? ap_get_server_name(r) : "",
r->hostname != NULL ? r->hostname : "",
@@ -556,7 +556,7 @@
s->is_ssl = JK_FALSE;
s->ssl_cert = NULL;
s->ssl_cert_len = 0;
- s->ssl_cipher = NULL; /* required by Servlet 2.3 Api,
+ s->ssl_cipher = NULL; /* required by Servlet 2.3 Api,
allready in original ajp13 */
s->ssl_session = NULL;
s->ssl_key_size = -1; /* required by Servlet 2.3 Api, added in jtc
*/
@@ -730,7 +730,7 @@
else {
if (worker == NULL)
return "JkMount needs a path when not defined in a location";
- else
+ else
return "JkMount can not have a path when defined in a location";
}
@@ -773,7 +773,7 @@
else {
if (worker == NULL)
return "JkUnMount needs a path when not defined in a location";
- else
+ else
return "JkUnMount can not have a path when defined in a
location";
}
@@ -1244,8 +1244,8 @@
* JkRequestLogFormat format string
*
* %b - Bytes sent, excluding HTTP headers. In CLF format
- * %B - Bytes sent, excluding HTTP headers.
- * %H - The request protocol
+ * %B - Bytes sent, excluding HTTP headers.
+ * %H - The request protocol
* %m - The request method
* %p - The canonical Port of the server serving the request
* %q - The query string (prepended with a ? if a query string exists,
@@ -1405,7 +1405,7 @@
* ForwardURICompat => Forward URI normally, less spec compliant
but mod_rewrite compatible (old TC)
* ForwardURICompatUnparsed => Forward URI as unparsed, spec compliant but
broke mod_rewrite (old TC)
* ForwardURIEscaped => Forward URI escaped and Tomcat (3.3 rc2)
stuff will do the decoding part
- * ForwardDirectories => Forward all directory requests with no index
files to Tomcat
+ * ForwardDirectories => Forward all directory requests with no index
files to Tomcat
*/
const char *jk_set_options(cmd_parms * cmd, void *dummy, const char *line)
@@ -1504,7 +1504,7 @@
jk_server_conf_t *conf =
(jk_server_conf_t *) ap_get_module_config(s->module_config,
&jk_module);
-
+
if (jk_map_read_property(conf->worker_properties, line) == JK_FALSE)
return apr_pstrcat(cmd->temp_pool, "Invalid JkWorkerProperty ",
line);
@@ -1666,7 +1666,7 @@
JK_TRACE_ENTER(xconf->log);
if (apr_table_get(r->subprocess_env, "no-jk")) {
jk_log(xconf->log, JK_LOG_DEBUG,
- "Into handler no-jk env var detected for uri=%s, declined\n",
+ "Into handler no-jk env var detected for uri=%s, declined",
r->uri);
JK_TRACE_EXIT(xconf->log);
@@ -1687,19 +1687,19 @@
}
if (worker_name == NULL) {
- /* we may be here because of a manual directive ( that overrides
+ /* we may be here because of a manual directive ( that overrides
translate and
sets the handler directly ). We still need to know the worker.
*/
if (worker_env.num_of_workers == 1) {
- /** We have a single worker ( the common case ).
- ( lb is a bit special, it should count as a single worker but
+ /** We have a single worker ( the common case ).
+ ( lb is a bit special, it should count as a single worker but
I'm not sure how ). We also have a manual config directive that
explicitely give control to us. */
worker_name = worker_env.first_worker;
if (JK_IS_DEBUG_LEVEL(xconf->log))
jk_log(xconf->log, JK_LOG_DEBUG,
- "Manual configuration for %s %s %d\n",
+ "Manual configuration for %s %s %d",
r->uri, worker_env.first_worker,
worker_env.num_of_workers);
}
@@ -1709,14 +1709,14 @@
worker_name = worker_env.first_worker;
if (JK_IS_DEBUG_LEVEL(xconf->log))
jk_log(xconf->log, JK_LOG_DEBUG,
- "Manual configuration for %s %d\n",
+ "Manual configuration for %s %d",
r->uri, worker_env.first_worker);
}
}
if (JK_IS_DEBUG_LEVEL(xconf->log))
jk_log(xconf->log, JK_LOG_DEBUG, "Into handler %s worker=%s"
- " r->proxyreq=%d\n",
+ " r->proxyreq=%d",
r->handler, worker_name, r->proxyreq);
conf = (jk_server_conf_t *)
ap_get_module_config(r->server->module_config,
@@ -1725,7 +1725,7 @@
/* If this is a proxy request, we'll notify an error */
if (r->proxyreq) {
jk_log(xconf->log, JK_LOG_INFO, "Proxy request for worker=%s"
- " is not allowed\n",
+ " is not allowed",
worker_name);
JK_TRACE_EXIT(xconf->log);
return HTTP_INTERNAL_SERVER_ERROR;
@@ -1751,7 +1751,7 @@
/* If the remote client has aborted, just ignore the request */
if (r->connection->aborted) {
jk_log(xconf->log, JK_LOG_INFO, "Client connection aborted for"
- " worker=%s\n",
+ " worker=%s",
worker_name);
JK_TRACE_EXIT(xconf->log);
return OK;
@@ -1785,8 +1785,8 @@
if (init_ws_service(&private_data, &s, conf)) {
jk_endpoint_t *end = NULL;
- /* Use per/thread pool ( or "context" ) to reuse the
- endpoint. It's a bit faster, but I don't know
+ /* Use per/thread pool ( or "context" ) to reuse the
+ endpoint. It's a bit faster, but I don't know
how to deal with load balancing - but it's usefull for JNI
*/
@@ -1818,17 +1818,17 @@
}
else { /* this means we couldn't get an endpoint
*/
jk_log(xconf->log, JK_LOG_ERROR, "Could not get endpoint"
- " for worker=%s\n",
+ " for worker=%s",
worker_name);
rc = 0; /* just to make sure that we know we've
failed */
}
}
else {
jk_log(xconf->log, JK_LOG_ERROR, "Could not init service"
- " for worker=%s\n",
+ " for worker=%s",
worker_name);
JK_TRACE_EXIT(xconf->log);
- return HTTP_INTERNAL_SERVER_ERROR;
+ return HTTP_INTERNAL_SERVER_ERROR;
}
#ifndef NO_GETTIMEOFDAY
if (conf->format != NULL) {
@@ -1854,14 +1854,14 @@
let apache handle the error code */
if (!r->sent_bodyct && r->status >= HTTP_BAD_REQUEST) {
jk_log(xconf->log, JK_LOG_INFO, "No body with status=%d"
- " for worker=%s\n",
+ " for worker=%s",
r->status, worker_name);
JK_TRACE_EXIT(xconf->log);
return r->status;
}
if (JK_IS_DEBUG_LEVEL(xconf->log))
jk_log(xconf->log, JK_LOG_DEBUG, "Service finished"
- " with status=%d for worker=%s\n",
+ " with status=%d for worker=%s",
r->status, worker_name);
JK_TRACE_EXIT(xconf->log);
return OK; /* NOT r->status, even if it has changed. */
@@ -1869,14 +1869,14 @@
else if (rc == JK_CLIENT_ERROR) {
r->connection->aborted = 1;
jk_log(xconf->log, JK_LOG_INFO, "Aborting connection"
- " for worker=%s\n",
+ " for worker=%s",
worker_name);
JK_TRACE_EXIT(xconf->log);
return OK;
}
else {
jk_log(xconf->log, JK_LOG_INFO, "Service error=%d"
- " for worker=%s\n",
+ " for worker=%s",
rc, worker_name);
JK_TRACE_EXIT(xconf->log);
return HTTP_INTERNAL_SERVER_ERROR;
@@ -1884,7 +1884,7 @@
}
else {
jk_log(xconf->log, JK_LOG_INFO, "Could not find a worker"
- " for worker name=%s\n",
+ " for worker name=%s",
worker_name);
JK_TRACE_EXIT(xconf->log);
return HTTP_INTERNAL_SERVER_ERROR;
@@ -2082,9 +2082,11 @@
apr_strerror(status, error, 254);
ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO,
0,
NULL,
- "mod_jk: jk_log_to_file %s failed: %s\n",
+ "mod_jk: jk_log_to_file %s failed: %s",
what, error);
}
+ else
+ apr_file_putc('\n', p->jklogfp);
rv = apr_global_mutex_unlock(jk_log_lock);
if (rv != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, NULL,
@@ -2205,21 +2207,21 @@
#if APR_HAS_THREADS
#ifndef AS400
ap_mpm_query(AP_MPMQ_MAX_THREADS, &mpm_threads);
-#endif
+#endif
#endif
if (mpm_threads > 0)
jk_set_worker_def_cache_size(mpm_threads);
if (JK_IS_DEBUG_LEVEL(conf->log))
- jk_log(conf->log, JK_LOG_DEBUG, "Initialized %s\n",
JK_EXPOSED_VERSION);
+ jk_log(conf->log, JK_LOG_DEBUG, "Initialized %s",
JK_EXPOSED_VERSION);
JK_TRACE_EXIT(conf->log);
}
-/** Initialize jk, using worker.properties.
- We also use apache commands ( JkWorker, etc), but this use is
+/** Initialize jk, using worker.properties.
+ We also use apache commands ( JkWorker, etc), but this use is
deprecated, as we'll try to concentrate all config in
workers.properties, urimap.properties, and ajp14 autoconf.
-
- Apache config will only be used for manual override, using
+
+ Apache config will only be used for manual override, using
SetHandler and normal apache directives ( but minimal jk-specific
stuff )
*/
@@ -2230,7 +2232,8 @@
jk_map_t *init_map = conf->worker_properties;
if (!uri_worker_map_alloc(&(conf->uw_map),
- conf->uri_to_context, conf->log)) {
+ conf->uri_to_context,
+ conf->log)) {
jk_error_exit(APLOG_MARK, APLOG_EMERG, s, pconf, "Memory error");
}
@@ -2239,8 +2242,8 @@
if (jk_map_size(init_map) == 0) {
ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO,
APLOG_EMERG, NULL,
- "No worker file and no worker options in httpd.conf
\n"
- "use JkWorkerFile to set workers\n");
+ "No worker file and no worker options in httpd.conf"
+ "use JkWorkerFile to set workers");
return;
}
}
@@ -2261,16 +2264,6 @@
{
apr_status_t rv;
- if (!s->is_virtual) {
- jk_server_conf_t *conf =
- (jk_server_conf_t *) ap_get_module_config(s->module_config,
- &jk_module);
- if (!conf->was_initialized) {
- conf->was_initialized = JK_TRUE;
- init_jk(pconf, conf, s);
- }
- }
-
/* create the jk log lockfiles in the parent */
if ((rv = apr_global_mutex_create(&jk_log_lock, NULL,
APR_LOCK_DEFAULT,
@@ -2290,20 +2283,28 @@
}
#endif
- /* step through the servers and
- * - open each jk logfile
- */
- for (; s; s = s->next) {
- if (open_jklog(s, pconf))
- return HTTP_INTERNAL_SERVER_ERROR;
-
+ if (!s->is_virtual) {
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *) ap_get_module_config(s->module_config,
+ &jk_module);
+ if (!conf->was_initialized) {
+ server_rec *srv = s;
+ conf->was_initialized = JK_TRUE;
+ /* step through the servers and open each jk logfile.
+ */
+ for (; srv; srv = srv->next) {
+ if (open_jklog(srv, pconf))
+ return HTTP_INTERNAL_SERVER_ERROR;
+ }
+ init_jk(pconf, conf, s);
+ }
}
return OK;
}
/** Use the internal mod_jk mappings to find if this is a request for
- * tomcat and what worker to use.
+ * tomcat and what worker to use.
*/
static int jk_translate(request_rec * r)
{
@@ -2322,14 +2323,14 @@
*/
if (JK_IS_DEBUG_LEVEL(conf->log))
jk_log(conf->log, JK_LOG_DEBUG,
- "Manually mapped, no need to call
uri_to_worker\n");
+ "Manually mapped, no need to call uri_to_worker");
return DECLINED;
}
if (apr_table_get(r->subprocess_env, "no-jk")) {
if (JK_IS_DEBUG_LEVEL(conf->log))
jk_log(conf->log, JK_LOG_DEBUG,
- "Into translate no-jk env var detected for
uri=%s, declined\n",
+ "Into translate no-jk env var detected for
uri=%s, declined",
r->uri);
return DECLINED;
@@ -2364,7 +2365,7 @@
if (finfo.filetype != APR_REG) {
if (JK_IS_DEBUG_LEVEL(conf->log))
jk_log(conf->log, JK_LOG_DEBUG,
- "JkAutoAlias, no DirectoryIndex file for URI
%s\n",
+ "JkAutoAlias, no DirectoryIndex file for URI
%s",
r->uri);
return DECLINED;
}
@@ -2393,7 +2394,7 @@
/* Automatically map uri to a context static file */
if (JK_IS_DEBUG_LEVEL(conf->log))
jk_log(conf->log, JK_LOG_DEBUG,
- "mod_jk::jk_translate, check alias_dir: %s\n",
+ "mod_jk::jk_translate, check alias_dir: %s",
conf->alias_dir);
if (strlen(clean_uri) > 1) {
/* Get the context directory name */
@@ -2419,13 +2420,13 @@
if (child_dir != NULL) {
if (JK_IS_DEBUG_LEVEL(conf->log))
jk_log(conf->log, JK_LOG_DEBUG,
- "mod_jk::jk_translate, AutoAlias
child_dir: %s\n",
+ "mod_jk::jk_translate, AutoAlias
child_dir: %s",
child_dir);
if (!strcasecmp(child_dir, "WEB-INF")
|| !strcasecmp(child_dir, "META-INF")) {
if (JK_IS_DEBUG_LEVEL(conf->log))
jk_log(conf->log, JK_LOG_DEBUG,
- "mod_jk::jk_translate, AutoAlias
HTTP_FORBIDDEN for URI: %s\n",
+ "mod_jk::jk_translate, AutoAlias
HTTP_FORBIDDEN for URI: %s",
r->uri);
return HTTP_FORBIDDEN;
}
@@ -2454,7 +2455,7 @@
if (ret != NULL) {
if (JK_IS_DEBUG_LEVEL(conf->log))
jk_log(conf->log, JK_LOG_DEBUG,
- "mod_jk::jk_translate, AutoAlias
OK for file: %s\n",
+ "mod_jk::jk_translate, AutoAlias
OK for file: %s",
ret);
r->filename = ret;
return OK;
@@ -2468,7 +2469,7 @@
".war")) {
if (JK_IS_DEBUG_LEVEL(conf->log))
jk_log(conf->log, JK_LOG_DEBUG,
- "mod_jk::jk_translate, AutoAlias
HTTP_FORBIDDEN for URI: %s\n",
+ "mod_jk::jk_translate, AutoAlias
HTTP_FORBIDDEN for URI: %s",
r->uri);
return HTTP_FORBIDDEN;
}
@@ -2502,14 +2503,14 @@
*/
if (JK_IS_DEBUG_LEVEL(conf->log))
jk_log(conf->log, JK_LOG_DEBUG,
- "Manually mapped, no need to call
uri_to_worker\n");
+ "Manually mapped, no need to call uri_to_worker");
return DECLINED;
}
if (apr_table_get(r->subprocess_env, "no-jk")) {
if (JK_IS_DEBUG_LEVEL(conf->log))
jk_log(conf->log, JK_LOG_DEBUG,
- "Into map_to_storage no-jk env var detected for
uri=%s, declined\n",
+ "Into map_to_storage no-jk env var detected for
uri=%s, declined",
r->uri);
return DECLINED;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]