svn commit: r697689 - in /tomcat/connectors/trunk/jk: native/common/jk_ajp_common.c native/common/jk_ajp_common.h native/common/jk_status.c native/common/jk_util.c native/common/jk_util.h xdocs/miscel

2008-09-22 Thread mturk
Author: mturk
Date: Mon Sep 22 00:30:07 2008
New Revision: 697689

URL: http://svn.apache.org/viewvc?rev=697689&view=rev
Log:
Rename connection_keepalive to connection_ping_interval as suggested by Rainer

Modified:
tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c
tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h
tomcat/connectors/trunk/jk/native/common/jk_status.c
tomcat/connectors/trunk/jk/native/common/jk_util.c
tomcat/connectors/trunk/jk/native/common/jk_util.h
tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
tomcat/connectors/trunk/jk/xdocs/reference/workers.xml

Modified: tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c?rev=697689&r1=697688&r2=697689&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c Mon Sep 22 
00:30:07 2008
@@ -2491,8 +2491,8 @@
 jk_get_worker_reply_timeout(props, p->name,
 AJP_DEF_REPLY_TIMEOUT);
 
-p->connection_keepalive =
-jk_get_worker_connection_keepalive(props, p->name, 0);
+p->conn_ping_interval =
+jk_get_worker_conn_ping_interval(props, p->name, 0);
 
 p->recovery_opts =
 jk_get_worker_recovery_opts(props, p->name,
@@ -2841,7 +2841,7 @@
 
 /* Do connection pool maintenance only if timeouts or keepalives are 
set */
 if (aw->cache_timeout <= 0 &&
-aw->connection_keepalive <= 0) {
+aw->conn_ping_interval <= 0) {
 /* Nothing to do. */
 JK_TRACE_EXIT(l);
 return JK_TRUE;
@@ -2887,12 +2887,12 @@
 }
 }
 /* Handle worker connection keepalive */
-if (aw->connection_keepalive > 0 && aw->ping_timeout > 0) {
+if (aw->conn_ping_interval > 0 && aw->ping_timeout > 0) {
 for (i = (int)aw->ep_cache_sz - 1; i >= 0; i--) {
 /* Skip the closed sockets */
 if (aw->ep_cache[i] && 
IS_VALID_SOCKET(aw->ep_cache[i]->sd)) {
 int elapsed = (int)difftime(now, 
aw->ep_cache[i]->last_access);
-if (elapsed > aw->connection_keepalive) {
+if (elapsed > aw->conn_ping_interval) {
 k++;
 /* handle cping/cpong.
  */

Modified: tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h?rev=697689&r1=697688&r2=697689&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h Mon Sep 22 
00:30:07 2008
@@ -311,7 +311,7 @@
 int connect_timeout;  /* connect cping/cpong delay in ms (0 means 
disabled)  */
 int reply_timeout;/* reply timeout delay in ms (0 means disabled) 
*/
 int prepost_timeout;  /* before sending a request cping/cpong timeout 
delay in ms (0 means disabled) */
-int connection_keepalive; /* interval for sending cping packets on
+int conn_ping_interval;   /* interval for sending cping packets on
* unused connection */
 int ping_timeout; /* generic cping/cpong timeout. Used for 
keepalive packets or
* as default for boolean valued connect and 
prepost timeouts.

Modified: tomcat/connectors/trunk/jk/native/common/jk_status.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_status.c?rev=697689&r1=697688&r2=697689&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Mon Sep 22 00:30:07 
2008
@@ -112,7 +112,7 @@
 #define JK_STATUS_ARG_AJP_RETRIES  "var"
 #define JK_STATUS_ARG_AJP_REC_OPTS "varo"
 #define JK_STATUS_ARG_AJP_MAX_PK_SZ"vamps"
-#define JK_STATUS_ARG_AJP_CKEEPALIVE   "vacka"
+#define JK_STATUS_ARG_AJP_CPING_INT"vacpi"
 
 #define JK_STATUS_ARG_AJP_TEXT_CACHE_TO"Connection Pool Timeout"
 #define JK_STATUS_ARG_AJP_TEXT_PING_TO "Ping Timeout"
@@ -122,7 +122,7 @@
 #define JK_STATUS_ARG_AJP_TEXT_RETRIES "Retries"
 #define JK_STATUS_ARG_AJP_TEXT_REC_OPTS"Recovery Options"
 #define JK_STATUS_ARG_AJP_TEXT_MAX_PK_SZ   "Max Packet Size"
-#define JK_STATUS_ARG_AJP_TEXT_CKEEPALIVE  "Connection KeepAlive Interval"
+#define JK_STATUS_ARG_AJP_TEXT_CPING_INT   "Connection Ping Interval"
 
 #define JK_STATUS_CMD_UNKNOWN  (0)
 #

svn commit: r697697 - in /tomcat/connectors/trunk/jk: native/common/jk_ajp_common.c native/common/jk_ajp_common.h native/common/jk_util.c native/common/jk_util.h xdocs/miscellaneous/changelog.xml xdoc

2008-09-22 Thread mturk
Author: mturk
Date: Mon Sep 22 01:19:44 2008
New Revision: 697697

URL: http://svn.apache.org/viewvc?rev=697697&view=rev
Log:
Add ping_mode directive

Modified:
tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c
tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h
tomcat/connectors/trunk/jk/native/common/jk_util.c
tomcat/connectors/trunk/jk/native/common/jk_util.h
tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
tomcat/connectors/trunk/jk/xdocs/reference/workers.xml

Modified: tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c?rev=697697&r1=697696&r2=697697&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c Mon Sep 22 
01:19:44 2008
@@ -362,7 +362,22 @@
 return JK_AJP_STATE_DEF;
 }
 
-
+int jk_ajp_get_cping_mode(const char *m, int def)
+{
+int mv = def;
+if (!m)
+return mv;
+while (*m != '\0') {
+if (*m == 'C' || *m == 'c')
+mv |= AJP_CPING_CONNECT;
+else if (*m == 'P' || *m == 'p')
+mv |= AJP_CPING_PREPOST;
+else if (*m == 'I' || *m == 'i')
+mv |= AJP_CPING_INTERVAL;
+m++;
+}
+return mv;
+}
 
 /*
  * Message structure
@@ -2477,23 +2492,37 @@
 AJP_DEF_CACHE_TIMEOUT);
 
 p->ping_timeout =
-jk_get_worker_ping_timeout(props, p->name, 0);
-
+jk_get_worker_ping_timeout(props, p->name,
+   AJP_DEF_PING_TIMEOUT);
+p->ping_mode =
+jk_get_worker_ping_mode(props, p->name,
+AJP_CPING_NONE);
+
 p->connect_timeout =
 jk_get_worker_connect_timeout(props, p->name,
-  p->ping_timeout);
+  AJP_DEF_CONNECT_TIMEOUT);
 
 p->prepost_timeout =
 jk_get_worker_prepost_timeout(props, p->name,
-  p->ping_timeout);
+  AJP_DEF_PREPOST_TIMEOUT);
+if ((p->ping_mode & AJP_CPING_CONNECT) &&
+ p->connect_timeout == AJP_DEF_CONNECT_TIMEOUT)
+p->connect_timeout = p->ping_timeout;
+
+if ((p->ping_mode & AJP_CPING_PREPOST) &&
+ p->prepost_timeout == AJP_DEF_PREPOST_TIMEOUT)
+p->prepost_timeout = p->ping_timeout;
+
+p->conn_ping_interval =
+jk_get_worker_conn_ping_interval(props, p->name, 0);
+if ((p->ping_mode & AJP_CPING_PREPOST) &&
+p->conn_ping_interval == 0)
+p->conn_ping_interval = p->ping_timeout / 10;
 
 p->reply_timeout =
 jk_get_worker_reply_timeout(props, p->name,
 AJP_DEF_REPLY_TIMEOUT);
 
-p->conn_ping_interval =
-jk_get_worker_conn_ping_interval(props, p->name, 0);
-
 p->recovery_opts =
 jk_get_worker_recovery_opts(props, p->name,
 AJP_DEF_RECOVERY_OPTS);

Modified: tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h?rev=697697&r1=697696&r2=697697&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h Mon Sep 22 
01:19:44 2008
@@ -212,7 +212,14 @@
 #define AJP_DEF_REPLY_TIMEOUT (0)   /* NO REPLY TIMEOUT
*/
 #define AJP_DEF_PREPOST_TIMEOUT   (0)   /* NO PREPOST TIMEOUT => NO 
CPING/CPONG*/
 #define AJP_DEF_RECOVERY_OPTS (0)   /* NO RECOVERY / NO*/
-#define AJP_DEF_SOCKET_TIMEOUT(0)  /* No timeout */
+#define AJP_DEF_SOCKET_TIMEOUT(0)   /* No timeout */
+#define AJP_DEF_PING_TIMEOUT  (1)  /* Default CPING/CPONG timeout (10 
seconds) */
+
+#define AJP_CPING_NONE(0)   /* Do not send cping packets */
+#define AJP_CPING_CONNECT (1)   /* Send cping on fresh connection */
+#define AJP_CPING_PREPOST (2)   /* Send cping before sending request */
+#define AJP_CPING_INTERVAL(4)   /* Send cping on regular intervals */
+
 
 #define RECOVER_ABORT_IF_TCGETREQUEST0x0001 /* DON'T RECOVER IF TOMCAT 
FAILS AFTER RECEIVING REQUEST */
 #define RECOVER_ABORT_IF_TCSENDHEADER0x0002 /* DON'T RECOVER IF TOMCAT 
FAILS AFTER SENDING HEADERS */
@@ -316,6 +323,7 @@
 int ping_timeout; /* generic cping/cpong timeout. Used for 
keepalive packets or
* as default for boolean valued connect and 
prepost timeouts.
  

svn commit: r697774 - /tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c

2008-09-22 Thread mturk
Author: mturk
Date: Mon Sep 22 03:25:58 2008
New Revision: 697774

URL: http://svn.apache.org/viewvc?rev=697774&view=rev
Log:
Move local states array allocation to endpoint allocation

Modified:
tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c

Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c?rev=697774&r1=697773&r2=697774&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Mon Sep 22 03:25:58 
2008
@@ -117,9 +117,9 @@
 
 struct lb_endpoint
 {
-lb_worker_t *worker;
-
-jk_endpoint_t endpoint;
+lb_worker_t *worker;
+jk_endpoint_tendpoint;
+int *states;
 };
 typedef struct lb_endpoint lb_endpoint_t;
 
@@ -1020,7 +1020,6 @@
 int recoverable = JK_TRUE;
 int rc = JK_UNSET;
 char *sessionid = NULL;
-int  *states = NULL;
 int i;
 
 JK_TRACE_ENTER(l);
@@ -1038,13 +1037,6 @@
 
 /* Set returned error to OK */
 *is_error = JK_HTTP_OK;
-if (!(states = (int *)malloc(num_of_workers * sizeof(int {
-*is_error = JK_HTTP_SERVER_ERROR;
-jk_log(l, JK_LOG_ERROR,
-   "Failed allocating private worker state memory");
-JK_TRACE_EXIT(l);
-return JK_SERVER_ERROR;
-}
 
 jk_shm_lock();
 if (p->worker->sequence != p->worker->s->h.sequence)
@@ -1052,7 +1044,7 @@
 jk_shm_unlock();
 for (i = 0; i < num_of_workers; i++) {
 /* Copy the shared state info */
-states[i] = p->worker->lb_workers[i].s->state;
+p->states[i] = p->worker->lb_workers[i].s->state;
 }
 
 /* set the recovery post, for LB mode */
@@ -1062,7 +1054,6 @@
 jk_log(l, JK_LOG_ERROR,
"Failed allocating AJP message");
 JK_TRACE_EXIT(l);
-free(states);
 return JK_SERVER_ERROR;
 }
 if (jk_b_set_buffer_size(s->reco_buf, p->worker->max_packet_size)) {
@@ -1070,7 +1061,6 @@
 jk_log(l, JK_LOG_ERROR,
"Failed allocating AJP message buffer");
 JK_TRACE_EXIT(l);
-free(states);
 return JK_SERVER_ERROR;
 }
 jk_b_reset(s->reco_buf);
@@ -1089,7 +1079,7 @@
 
 while (attempt <= num_of_workers && recoverable == JK_TRUE) {
 lb_sub_worker_t *rec =
-get_most_suitable_worker(s, p->worker, sessionid, states, l);
+get_most_suitable_worker(s, p->worker, sessionid, p->states, l);
 rc = JK_FALSE;
 *is_error = JK_HTTP_SERVER_BUSY;
 /* Do not reuse previous worker, because
@@ -1116,7 +1106,7 @@
 jk_shm_lock();
 if (rec->s->state == JK_LB_STATE_RECOVER) {
 rec->s->state  = JK_LB_STATE_PROBE;
-states[rec->i] = JK_LB_STATE_PROBE;
+p->states[rec->i] = JK_LB_STATE_PROBE;
 }
 if (p->worker->lblock == JK_LB_LOCK_PESSIMISTIC)
 jk_shm_unlock();
@@ -1149,7 +1139,7 @@
 jk_shm_lock();
 if (rec->s->state != JK_LB_STATE_ERROR) {
 rec->s->state  = JK_LB_STATE_BUSY;
-states[rec->i] = JK_LB_STATE_BUSY;
+p->states[rec->i] = JK_LB_STATE_BUSY;
 }
 if (p->worker->lblock == JK_LB_LOCK_PESSIMISTIC)
 jk_shm_unlock();
@@ -1222,7 +1212,7 @@
  */
 if (rec->s->state == JK_LB_STATE_BUSY) {
 rec->s->state  = JK_LB_STATE_OK;
-states[rec->i] = JK_LB_STATE_OK;
+p->states[rec->i] = JK_LB_STATE_OK;
 }
 /* Decrement the busy worker count.
  * Check if the busy was reset to zero by graceful
@@ -1234,7 +1224,7 @@
 rec->s->busy--;
 if (service_stat == JK_TRUE) {
 rec->s->state  = JK_LB_STATE_OK;
-states[rec->i] = JK_LB_STATE_OK;
+p->states[rec->i] = JK_LB_STATE_OK;
 rec->s->error_time = 0;
 rc = JK_TRUE;
 recoverable = JK_UNSET;
@@ -1245,7 +1235,7 @@
 * Since this is bad request do not fail over.
 */
 rec->s->state  = JK_LB_STATE_OK;
-states[rec->i] = JK_LB_STATE_ERROR;
+p->states[rec->i] = JK_LB_STATE_ERROR;
 rec->s->error_time = 0;
 rc = JK_CLIENT_ERROR;
 recoverable = JK_FALSE;
@@ -1257,7 +1247,7 @@
 * Failing over to another node could help.
 */
 rec->s->state  = JK_LB_STATE_OK;
-states[rec->i] = JK_LB_STATE_ERROR;
+  

svn commit: r697779 - in /tomcat/connectors/trunk/jk: native/common/jk_lb_worker.c native/common/jk_lb_worker.h native/common/jk_shm.h native/common/jk_util.c native/common/jk_util.h xdocs/miscellaneo

2008-09-22 Thread mturk
Author: mturk
Date: Mon Sep 22 03:52:16 2008
New Revision: 697779

URL: http://svn.apache.org/viewvc?rev=697779&view=rev
Log:
Add session_cookie and session_path directives for load balancer

Modified:
tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h
tomcat/connectors/trunk/jk/native/common/jk_shm.h
tomcat/connectors/trunk/jk/native/common/jk_util.c
tomcat/connectors/trunk/jk/native/common/jk_util.h
tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml

Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c?rev=697779&r1=697778&r2=697779&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Mon Sep 22 03:52:16 
2008
@@ -301,6 +301,8 @@
 p->lblock = p->s->lblock;
 p->max_packet_size = p->s->max_packet_size;
 p->sequence = p->s->h.sequence;
+strncpy(p->session_cookie, p->s->session_cookie, JK_SHM_STR_SIZ);
+strncpy(p->session_path, p->s->session_path, JK_SHM_STR_SIZ);
 
 for (i = 0; i < p->num_of_workers; i++) {
 lb_sub_worker_t *w = &p->lb_workers[i];
@@ -348,6 +350,8 @@
 p->s->lblock = p->lblock;
 p->s->max_packet_size = p->max_packet_size;
 p->s->h.sequence = p->sequence;
+strncpy(p->s->session_cookie, p->session_cookie, JK_SHM_STR_SIZ);
+strncpy(p->s->session_path, p->session_path, JK_SHM_STR_SIZ);
 
 for (i = 0; i < p->num_of_workers; i++) {
 lb_sub_worker_t *w = &p->lb_workers[i];
@@ -468,12 +472,12 @@
 /* Retrieve session id from the cookie or the parameter
  * (parameter first)
  */
-static char *get_sessionid(jk_ws_service_t *s, jk_logger_t *l)
+static char *get_sessionid(jk_ws_service_t *s, lb_worker_t *p, jk_logger_t *l)
 {
 char *val;
-val = get_path_param(s, JK_PATH_SESSION_IDENTIFIER);
+val = get_path_param(s, p->session_path);
 if (!val) {
-val = get_cookie(s, JK_SESSION_IDENTIFIER);
+val = get_cookie(s, p->session_cookie);
 }
 if (val && !*val) {
 /* TODO: For now only log the empty sessions.
@@ -1070,7 +1074,7 @@
 /* Use sessionid only if sticky_session is
  * defined for this load balancer
  */
-sessionid = get_sessionid(s, l);
+sessionid = get_sessionid(s, p->worker, l);
 }
 if (JK_IS_DEBUG_LEVEL(l))
 jk_log(l, JK_LOG_DEBUG,
@@ -1605,6 +1609,14 @@
 
 p->lbmethod = jk_get_lb_method(props, p->name);
 p->lblock   = jk_get_lb_lock(props, p->name);
+strncpy(p->session_cookie,
+jk_get_lb_session_cookie(props, p->name, JK_SESSION_IDENTIFIER),
+JK_SHM_STR_SIZ);
+strncpy(p->session_path,
+jk_get_lb_session_path(props, p->name, JK_PATH_SESSION_IDENTIFIER),
+JK_SHM_STR_SIZ);
+strcppy(p->s->session_cookie, p->session_cookie);
+strcppy(p->s->session_path, p->session_path);
 
 JK_INIT_CS(&(p->cs), i);
 if (i == JK_FALSE) {

Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h?rev=697779&r1=697778&r2=697779&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h Mon Sep 22 03:52:16 
2008
@@ -194,7 +194,10 @@
 int  maintain_time;
 unsigned int max_packet_size;
 unsigned int next_offset;
-
+/* Session cookie */
+char session_cookie[JK_SHM_STR_SIZ+1];
+/* Session path */
+char session_path[JK_SHM_STR_SIZ+1];
 };
 typedef struct lb_worker lb_worker_t;
 

Modified: tomcat/connectors/trunk/jk/native/common/jk_shm.h
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_shm.h?rev=697779&r1=697778&r2=697779&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_shm.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_shm.h Mon Sep 22 03:52:16 2008
@@ -165,6 +165,11 @@
 int lblock;
 unsigned int max_packet_size;
 volatile time_t  last_maintain_time;
+/* Session cookie */
+charsession_cookie[JK_SHM_STR_SIZ+1];
+/* Session path */
+charsession_path[JK_SHM_STR_SIZ+1];
+
 };
 typedef struct jk_shm_lb_worker jk_shm_lb_worker_t;
 

Modified: tomcat/connectors/trunk/jk/native/common/jk_util.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_util.c?rev=697779&r1=697778&r2=697779&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_util.c (origina

svn commit: r697782 - /tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c

2008-09-22 Thread mturk
Author: mturk
Date: Mon Sep 22 04:10:04 2008
New Revision: 697782

URL: http://svn.apache.org/viewvc?rev=697782&view=rev
Log:
I simply hate this log message. In 99% it usualy means tomcat has too low 
maxThreads value set

Modified:
tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c

Modified: tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c?rev=697782&r1=697781&r2=697782&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c Mon Sep 22 
04:10:04 2008
@@ -2352,8 +2352,7 @@
 }
 /* Log the error only once per failed request. */
 jk_log(l, JK_LOG_ERROR,
-   "(%s) Connecting to tomcat failed. Tomcat is probably not started "
-   "or is listening on the wrong port",
+   "(%s) connecting to tomcat failed.",
aw->name);
 
 /* XXX: Do we need to fix rc or is_error before returning? */



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



mod_jk / Tomcat 6 and ErrorDocument

2008-09-22 Thread Henri Gomez
Hi to all,

Did some of you experienced problems with mod_jk 1.2.26 (and maybe
earlier release) and Apache 2.x ErrorDocument directive.

In one of my configuration I set :

ErrorDocument 404 /gen_error404.html
ErrorDocument 500 /gen_error500.html
ErrorDocument 503 /gen_error503.html

JkMount /sitea/* wsitea
JkMount /siteb/* wsitea
JkOptions +ForwardDirectories


When I look for a unexisting resource under Apache 2 control, I got
the content of gen_error404.html.
Also if the tomcat is unavailable I got back gen_error503.html page.

But if I'm looking for an unexisting resource under Tomcat control, I
get back the standard Tomcat 404 error instead of the
gen_error404.html.

Did there is some 'special settings' or configuration to be done on Apache/jk ?

Regards

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk / Tomcat 6 and ErrorDocument

2008-09-22 Thread Mladen Turk

Henri Gomez wrote:

Hi to all,

Did some of you experienced problems with mod_jk 1.2.26 (and maybe
earlier release) and Apache 2.x ErrorDocument directive.

In one of my configuration I set :

ErrorDocument 404 /gen_error404.html
ErrorDocument 500 /gen_error500.html
ErrorDocument 503 /gen_error503.html

JkMount /sitea/* wsitea
JkMount /siteb/* wsitea
JkOptions +ForwardDirectories


When I look for a unexisting resource under Apache 2 control, I got
the content of gen_error404.html.
Also if the tomcat is unavailable I got back gen_error503.html page.

But if I'm looking for an unexisting resource under Tomcat control, I
get back the standard Tomcat 404 error instead of the
gen_error404.html.

Did there is some 'special settings' or configuration to be done on Apache/jk ?



Try creating custom 404 page for tomcat with zero length body.
In that case Apache httpd error page will be shown


Regards
--
^(TM)

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk / Tomcat 6 and ErrorDocument

2008-09-22 Thread Henri Gomez
Hum good idea.

Same thing for 404/500/503 I suppose.



2008/9/22 Mladen Turk <[EMAIL PROTECTED]>:
> Henri Gomez wrote:
>>
>> Hi to all,
>>
>> Did some of you experienced problems with mod_jk 1.2.26 (and maybe
>> earlier release) and Apache 2.x ErrorDocument directive.
>>
>> In one of my configuration I set :
>>
>>ErrorDocument 404 /gen_error404.html
>>ErrorDocument 500 /gen_error500.html
>>ErrorDocument 503 /gen_error503.html
>>
>>JkMount /sitea/* wsitea
>>JkMount /siteb/* wsitea
>>JkOptions +ForwardDirectories
>>
>>
>> When I look for a unexisting resource under Apache 2 control, I got
>> the content of gen_error404.html.
>> Also if the tomcat is unavailable I got back gen_error503.html page.
>>
>> But if I'm looking for an unexisting resource under Tomcat control, I
>> get back the standard Tomcat 404 error instead of the
>> gen_error404.html.
>>
>> Did there is some 'special settings' or configuration to be done on
>> Apache/jk ?
>>
>
> Try creating custom 404 page for tomcat with zero length body.
> In that case Apache httpd error page will be shown
>
>
> Regards
> --
> ^(TM)
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk / Tomcat 6 and ErrorDocument

2008-09-22 Thread Mladen Turk

Henri Gomez wrote:

Hum good idea.

Same thing for 404/500/503 I suppose.



Sure.

if (!r->sent_bodyct && r->status >= HTTP_BAD_REQUEST) {
   ...
   return r->status;
}


Regards
--
^(TM)

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk / Tomcat 6 and ErrorDocument

2008-09-22 Thread Henri Gomez
>> Same thing for 404/500/503 I suppose.
>>
>
> Sure.
>
> if (!r->sent_bodyct && r->status >= HTTP_BAD_REQUEST) {
>   ...
>   return r->status;
> }

I added to the conf/web.xml :

  
  404
  /empty-error.html
  

  
500
/empty-error.html
  

  
503
/empty-error.html
  


I tried with an empty-error.html and then with an inexisting error
page, but I didn't get the ErrorDocument defined in Apache 2.2.x ;(

Here is the HTTP header dump on my Firefox :

Date: Mon, 22 Sep 2008 15:28:37 GMT
Server: Apache/2.2.9 (Win32) DAV/2 mod_jk/1.2.26 SVN/1.4.5
Etag: W/"0-1222097246922"
Last-Modified: Mon, 22 Sep 2008 15:27:26 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Type: text/html

404 Introuvable

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk / Tomcat 6 and ErrorDocument

2008-09-22 Thread Henri Gomez
> Here is the HTTP header dump on my Firefox :
>
> Date: Mon, 22 Sep 2008 15:28:37 GMT
> Server: Apache/2.2.9 (Win32) DAV/2 mod_jk/1.2.26 SVN/1.4.5
> Etag: W/"0-1222097246922"
> Last-Modified: Mon, 22 Sep 2008 15:27:26 GMT
> Vary: Accept-Encoding
> Content-Encoding: gzip
> Content-Type: text/html
>
> 404 Introuvable


Same dump when reaching Tomcat thru it's Coyote connector :

Server: Apache-Coyote/1.1
Etag: W/"0-1222097246922"
Last-Modified: Mon, 22 Sep 2008 15:27:26 GMT
Content-Type: text/html
Content-Length: 0
Date: Mon, 22 Sep 2008 15:29:59 GMT

404 Introuvable

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk / Tomcat 6 and ErrorDocument

2008-09-22 Thread Henri Gomez
Here is the corresponding jk debug trace :

[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(1117): received from ajp13 pos=0 len=102 max=8192
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(1117): 04 01 94 00 0B 49 6E 74 72 6F 75 76 61 62 6C 65  -
.Introuvable
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(1117): 001000 00 04 00 04 45 54 61 67 00 00 13 57 2F 22 30  -
.ETag...W/"0
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(1117): 00202D 31 32 32 32 30 39 37 32 34 36 39 32 32 22 00  -
-1222097246922".
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(1117): 0030A0 05 00 1D 4D 6F 6E 2C 20 32 32 20 53 65 70 20  -
Mon,.22.Sep.
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(1117): 004032 30 30 38 20 31 35 3A 32 37 3A 32 36 20 47 4D  -
2008.15:27:26.GM
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(1117): 005054 00 A0 01 00 09 74 65 78 74 2F 68 74 6D 6C 00  -
T.text/html.
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(1117): 0060A0 03 00 01 30 00 00 00 00 00 00 00 00 00 00 00  -
0...
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(608): status = 404
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(615): Number of headers is = 4
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(671): Header[0] [ETag] = [W/"0-1222097246922"]
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(671): Header[1] [Last-Modified] = [Mon, 22 Sep 2008 15:27:26 GMT]
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(671): Header[2] [Content-Type] = [text/html]
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(671): Header[3] [Content-Length] = [0]
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(1117): received from ajp13 pos=0 len=4 max=8192
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(1117): 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  -

[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(1117): received from ajp13 pos=0 len=2 max=8192
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(1117): 05 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00  -

[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(1661): AJP13 protocol: Reuse is OK
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(691): (w849) resetting endpoint with sd = 1476
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] jk_ajp_common.c
(2522): recycling connection pool slot=0 for worker w849
[Mon Sep 22 17:41:17.813 2008] [2816:4076] [debug] mod_jk.c (2348):
Service finished with status=404 for worker=w849


As you could see the Content-Length is '0', status is 404 but I didn't
get the error page :-(

I'm using Apache 2.2.9 / mod_jk 1.2.26 and Tomcat 6.0.18, everything
on an XP box.

Did the 'if (!r->sent_bodyct && r->status >= HTTP_BAD_REQUEST) {' is
allready in 1.2.26 ?

Regards

2008/9/22 Henri Gomez <[EMAIL PROTECTED]>:
>> Here is the HTTP header dump on my Firefox :
>>
>> Date: Mon, 22 Sep 2008 15:28:37 GMT
>> Server: Apache/2.2.9 (Win32) DAV/2 mod_jk/1.2.26 SVN/1.4.5
>> Etag: W/"0-1222097246922"
>> Last-Modified: Mon, 22 Sep 2008 15:27:26 GMT
>> Vary: Accept-Encoding
>> Content-Encoding: gzip
>> Content-Type: text/html
>>
>> 404 Introuvable
>
>
> Same dump when reaching Tomcat thru it's Coyote connector :
>
> Server: Apache-Coyote/1.1
> Etag: W/"0-1222097246922"
> Last-Modified: Mon, 22 Sep 2008 15:27:26 GMT
> Content-Type: text/html
> Content-Length: 0
> Date: Mon, 22 Sep 2008 15:29:59 GMT
>
> 404 Introuvable
>

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk / Tomcat 6 and ErrorDocument

2008-09-22 Thread Mladen Turk

Henri Gomez wrote:

Same thing for 404/500/503 I suppose.


Sure.

if (!r->sent_bodyct && r->status >= HTTP_BAD_REQUEST) {
  ...
  return r->status;
}


I added to the conf/web.xml :

  
  404
  /empty-error.html
  

  
500
/empty-error.html
  

  
503
/empty-error.html
  


I tried with an empty-error.html and then with an inexisting error
page, but I didn't get the ErrorDocument defined in Apache 2.2.x ;(



Right, sorry for the noise.
There is no way to have that at the moment.
The code I've quoted is when there is error in sending the
error page from the Tomcat, so in that case Httpd takes over,
and sends intended page.

For normal replacement of error pages
this would have to be added to mod_jk.
It's a nice feature to have, but you'll have
to wait for 1.2.27 ;)


Regards
--
^(TM)

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk / Tomcat 6 and ErrorDocument

2008-09-22 Thread Henri Gomez
> Right, sorry for the noise.
> There is no way to have that at the moment.
> The code I've quoted is when there is error in sending the
> error page from the Tomcat, so in that case Httpd takes over,
> and sends intended page.

Yes.

> For normal replacement of error pages
> this would have to be added to mod_jk.
> It's a nice feature to have, but you'll have
> to wait for 1.2.27 ;)

Any date for 1.2.27 ?

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk / Tomcat 6 and ErrorDocument

2008-09-22 Thread Rainer Jung


Henri Gomez schrieb:
>> Right, sorry for the noise.
>> There is no way to have that at the moment.

Sorry to join the discussion to late, but yes: I think it always was
like that, no way of overwriting the Tomcat error pages inside Apache. I
put it on my personal TODO for mod_jk long ago :(

>> For normal replacement of error pages
>> this would have to be added to mod_jk.
>> It's a nice feature to have, but you'll have
>> to wait for 1.2.27 ;)
> 
> Any date for 1.2.27 ?

Mladen did some pretty interesting things lately. I have one question to
him open, to which I want to come back later this week, see

   http://marc.info/?l=tomcat-dev&m=120852255309277&w=2

I have some spare time later this week and next weekend and plan to
finally do the IIS chunked encoding stuff. If we don't find anything
else important we should be able to have a testing tar ball at the end
of the month and soon after start the releasing process. We are a couple
of months over a regular schedule, but 1.2.26 was not too bad, and some
of the new features will be worth the longer waiting time (Mladen's
probing thread, per mount reply timeouts, IIS chunked encoding).

I don't know if Mladen shares this opinion?

Regards,

Rainer

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk / Tomcat 6 and ErrorDocument

2008-09-22 Thread Mladen Turk

Rainer Jung wrote:



I have some spare time later this week and next weekend and plan to
finally do the IIS chunked encoding stuff. If we don't find anything
else important we should be able to have a testing tar ball at the end
of the month and soon after start the releasing process. We are a couple
of months over a regular schedule, but 1.2.26 was not too bad, and some
of the new features will be worth the longer waiting time (Mladen's
probing thread, per mount reply timeouts, IIS chunked encoding).

I don't know if Mladen shares this opinion?



++1
Let's roll as soon as those things are done.
I'll double check the status edits for the new params,
and as soon you finish chunked encoding we are
ready to go.

Regards
--
^(TM)

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Adding NOTICE and LICENSE files to bundled jars; improving the MANIFESTS

2008-09-22 Thread sebb
 The Tomcat 5 and 6 releases contain quite a few jars. Some of these
 may well be useful outside the Tomcat project (e.g. the api jars).

 However the jars do not contain NOTICE or LICENSE files, and the
 MANIFESTs are minimal.

 Please could future releases be updated to fix this?

 The sort of entries that would be useful in the MANIFEST files are:

   Built-By: username
   Name: javax/servlet/
   Specification-Title: Java API for Servlets
   Specification-Version: 2.4
   Specification-Vendor: Sun Microsystems, Inc.
   Implementation-Title: javax.servlet
   Implementation-Version: 2.4.public_draft
   Implementation-Vendor: Apache Software Foundation
   X-Compile-Source-JDK: 1.4
   X-Compile-Target-JDK: 1.4

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: svn commit: r697462 - /tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c

2008-09-22 Thread Tim Whittington
This fails to build in VC.Net 2005 (actually the change in r697451 is the
culprit).
The definition of now/mstarted needs to precede the JK_TRACE_ENTER.

cheers
tim



From: <[EMAIL PROTECTED]>
Reply-To: Tomcat Developers List 
Date: Sun, 21 Sep 2008 09:46:00 -
To: 
Subject: svn commit: r697462 -
/tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c

Author: rjung
Date: Sun Sep 21 02:45:59 2008
New Revision: 697462

URL: http://svn.apache.org/viewvc?rev=697462&view=rev
Log:
Let's use "mstarted" introduced in r697451 in all places,
where it makes sense, and "now" mostly where it is now.

Modified:
tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c

Modified: tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_ajp
_common.c?rev=697462&r1=697461&r2=697462&view=diff

==
--- tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c Sun Sep 21
02:45:59 2008
@@ -2803,10 +2803,10 @@
 return JK_FALSE;
 }
 
-int JK_METHOD ajp_maintain(jk_worker_t *pThis, time_t now, jk_logger_t *l)
+int JK_METHOD ajp_maintain(jk_worker_t *pThis, time_t mstarted, jk_logger_t
*l)
 {
 JK_TRACE_ENTER(l);
-time_t mstarted = now;
+time_t now = mstarted;
 
 if (pThis && pThis->worker_private) {
 ajp_worker_t *aw = pThis->worker_private;
@@ -2821,9 +2821,9 @@
  * Since it's possible that we come here a few milliseconds
  * before the interval has passed, we allow a little tolerance.
  */
-delta = (long)difftime(now, aw->s->last_maintain_time) +
JK_AJP_MAINTAIN_TOLERANCE;
+delta = (long)difftime(mstarted, aw->s->last_maintain_time) +
JK_AJP_MAINTAIN_TOLERANCE;
 if (delta >= aw->maintain_time) {
-aw->s->last_maintain_time = now;
+aw->s->last_maintain_time = mstarted;
 if (aw->s->state == JK_AJP_STATE_OK &&
 aw->s->used == aw->s->used_snapshot)
 aw->s->state = JK_AJP_STATE_IDLE;
@@ -2832,7 +2832,7 @@
 
 jk_shm_unlock();
 
-/* Obtain current time only if needed */
+/* Do connection pool maintenance only if timeouts or keepalives
are set */
 if (aw->cache_timeout <= 0 &&
 aw->connection_keepalive <= 0) {
 /* Nothing to do. */
@@ -2854,7 +2854,7 @@
  i >= 0 && aw->cache_timeout > 0; i--) {
 /* Skip the closed sockets */
 if (aw->ep_cache[i] &&
IS_VALID_SOCKET(aw->ep_cache[i]->sd)) {
-int elapsed = (int)difftime(now,
aw->ep_cache[i]->last_access);
+int elapsed = (int)difftime(mstarted,
aw->ep_cache[i]->last_access);
 if (elapsed > aw->cache_timeout) {
 time_t rt = 0;
 n++;



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Re: svn commit: r697779 - in /tomcat/connectors/trunk/jk: native/common/jk_lb_worker.c native/common/jk_lb_worker.h native/common/jk_shm.h native/common/jk_util.c native/common/jk_util.h xdocs/miscell

2008-09-22 Thread Tim Whittington
This is failing to build in VC++ 2005

In jk_lb_worker.c:

+strcppy(p->s->session_cookie, p->session_cookie);
+strcppy(p->s->session_path, p->session_path);

I can¹t find a strcppy implementation in VC++ 2005, nor can I find
references to it on Google ­ where is this function defined?

cheers
tim



From: <[EMAIL PROTECTED]>
Reply-To: Tomcat Developers List 
Date: Mon, 22 Sep 2008 10:52:16 -
To: 
Subject: svn commit: r697779 - in /tomcat/connectors/trunk/jk:
native/common/jk_lb_worker.c native/common/jk_lb_worker.h
native/common/jk_shm.h native/common/jk_util.c native/common/jk_util.h
xdocs/miscellaneous/changelog.xml

Author: mturk
Date: Mon Sep 22 03:52:16 2008
New Revision: 697779

URL: http://svn.apache.org/viewvc?rev=697779&view=rev
Log:
Add session_cookie and session_path directives for load balancer

Modified:
tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h
tomcat/connectors/trunk/jk/native/common/jk_shm.h
tomcat/connectors/trunk/jk/native/common/jk_util.c
tomcat/connectors/trunk/jk/native/common/jk_util.h
tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml

Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_
worker.c?rev=697779&r1=697778&r2=697779&view=diff

==
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Mon Sep 22
03:52:16 2008
@@ -301,6 +301,8 @@
 p->lblock = p->s->lblock;
 p->max_packet_size = p->s->max_packet_size;
 p->sequence = p->s->h.sequence;
+strncpy(p->session_cookie, p->s->session_cookie, JK_SHM_STR_SIZ);
+strncpy(p->session_path, p->s->session_path, JK_SHM_STR_SIZ);
 
 for (i = 0; i < p->num_of_workers; i++) {
 lb_sub_worker_t *w = &p->lb_workers[i];
@@ -348,6 +350,8 @@
 p->s->lblock = p->lblock;
 p->s->max_packet_size = p->max_packet_size;
 p->s->h.sequence = p->sequence;
+strncpy(p->s->session_cookie, p->session_cookie, JK_SHM_STR_SIZ);
+strncpy(p->s->session_path, p->session_path, JK_SHM_STR_SIZ);
 
 for (i = 0; i < p->num_of_workers; i++) {
 lb_sub_worker_t *w = &p->lb_workers[i];
@@ -468,12 +472,12 @@
 /* Retrieve session id from the cookie or the parameter
  * (parameter first)
  */
-static char *get_sessionid(jk_ws_service_t *s, jk_logger_t *l)
+static char *get_sessionid(jk_ws_service_t *s, lb_worker_t *p, jk_logger_t
*l)
 {
 char *val;
-val = get_path_param(s, JK_PATH_SESSION_IDENTIFIER);
+val = get_path_param(s, p->session_path);
 if (!val) {
-val = get_cookie(s, JK_SESSION_IDENTIFIER);
+val = get_cookie(s, p->session_cookie);
 }
 if (val && !*val) {
 /* TODO: For now only log the empty sessions.
@@ -1070,7 +1074,7 @@
 /* Use sessionid only if sticky_session is
  * defined for this load balancer
  */
-sessionid = get_sessionid(s, l);
+sessionid = get_sessionid(s, p->worker, l);
 }
 if (JK_IS_DEBUG_LEVEL(l))
 jk_log(l, JK_LOG_DEBUG,
@@ -1605,6 +1609,14 @@
 
 p->lbmethod = jk_get_lb_method(props, p->name);
 p->lblock   = jk_get_lb_lock(props, p->name);
+strncpy(p->session_cookie,
+jk_get_lb_session_cookie(props, p->name,
JK_SESSION_IDENTIFIER),
+JK_SHM_STR_SIZ);
+strncpy(p->session_path,
+jk_get_lb_session_path(props, p->name,
JK_PATH_SESSION_IDENTIFIER),
+JK_SHM_STR_SIZ);
+strcppy(p->s->session_cookie, p->session_cookie);
+strcppy(p->s->session_path, p->session_path);
 
 JK_INIT_CS(&(p->cs), i);
 if (i == JK_FALSE) {

Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_
worker.h?rev=697779&r1=697778&r2=697779&view=diff

==
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h Mon Sep 22
03:52:16 2008
@@ -194,7 +194,10 @@
 int  maintain_time;
 unsigned int max_packet_size;
 unsigned int next_offset;
-
+/* Session cookie */
+char session_cookie[JK_SHM_STR_SIZ+1];
+/* Session path */
+char session_path[JK_SHM_STR_SIZ+1];
 };
 typedef struct lb_worker lb_worker_t;
 

Modified: tomcat/connectors/trunk/jk/native/common/jk_shm.h
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_shm
.h?rev=697779&r1=697778&r2=697779&view=diff

==
--- tomcat/connectors/trunk/jk/native/common/jk_shm.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_shm.h Mon Sep 22 03:52:16
2008
@@ -165,6 

DO NOT REPLY [Bug 45852] conf/tomcat-users.xml has invalid encoding "cp932".

2008-09-22 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=45852


Mark Thomas <[EMAIL PROTECTED]> changed:

   What|Removed |Added

 Status|NEW |NEEDINFO




--- Comment #1 from Mark Thomas <[EMAIL PROTECTED]>  2008-09-22 14:49:15 PST ---
This looks like a regression of bug 45532.

A look at
http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.html shows
that using MS932 (or maybe cp942) should work in this case.

Could you test this and if MS932 works then I'll add a special case to the
windows installer to replace cp932 with MS932.


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: EL and TCK

2008-09-22 Thread Mark Thomas
This is currently being raised with the EG for clarification. I'll let
people know when I receive a response. It should be ~3 weeks max.

Mark


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r698012 - /tomcat/trunk/conf/logging.properties

2008-09-22 Thread markt
Author: markt
Date: Mon Sep 22 14:55:50 2008
New Revision: 698012

URL: http://svn.apache.org/viewvc?rev=698012&view=rev
Log:
There is no admin app in tc6.

Modified:
tomcat/trunk/conf/logging.properties

Modified: tomcat/trunk/conf/logging.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/conf/logging.properties?rev=698012&r1=698011&r2=698012&view=diff
==
--- tomcat/trunk/conf/logging.properties (original)
+++ tomcat/trunk/conf/logging.properties Mon Sep 22 14:55:50 2008
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-handlers = 1catalina.org.apache.juli.FileHandler, 
2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 
4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, 
java.util.logging.ConsoleHandler
+handlers = 1catalina.org.apache.juli.FileHandler, 
2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 
4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
 
 .handlers = 1catalina.org.apache.juli.FileHandler, 
java.util.logging.ConsoleHandler
 
@@ -34,13 +34,9 @@
 3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
 3manager.org.apache.juli.FileHandler.prefix = manager.
 
-4admin.org.apache.juli.FileHandler.level = FINE
-4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
-4admin.org.apache.juli.FileHandler.prefix = admin.
-
-5host-manager.org.apache.juli.FileHandler.level = FINE
-5host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
-5host-manager.org.apache.juli.FileHandler.prefix = host-manager.
+4host-manager.org.apache.juli.FileHandler.level = FINE
+4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
 
 java.util.logging.ConsoleHandler.level = FINE
 java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
@@ -57,11 +53,8 @@
 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level 
= INFO
 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers
 = 3manager.org.apache.juli.FileHandler
 
-org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].level = 
INFO
-org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].handlers
 = 4admin.org.apache.juli.FileHandler
-
 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level
 = INFO
-org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers
 = 5host-manager.org.apache.juli.FileHandler
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers
 = 4host-manager.org.apache.juli.FileHandler
 
 # For example, set the com.xyz.foo logger to only log SEVERE
 # messages:



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r698013 - /tomcat/tc6.0.x/trunk/STATUS.txt

2008-09-22 Thread markt
Author: markt
Date: Mon Sep 22 14:57:02 2008
New Revision: 698013

URL: http://svn.apache.org/viewvc?rev=698013&view=rev
Log:
Proposal

Modified:
tomcat/tc6.0.x/trunk/STATUS.txt

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=698013&r1=698012&r2=698013&view=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Sep 22 14:57:02 2008
@@ -228,3 +228,8 @@
   Original change: http://svn.apache.org/viewvc?rev=486217&view=rev
   +1: rjung
   -1: 
+
+* Remove admin app from logging configuration
+  http://svn.apache.org/viewvc?rev=698012&view=rev
+  +1: markt
+  -1: 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[EMAIL PROTECTED]: Project jakarta-tomcat (in module jakarta-tomcat) failed

2008-09-22 Thread Stefan Bodewig
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project jakarta-tomcat has an issue affecting its community integration.
This issue affects 7 projects.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- commons-jelly-tags-ojb :  Commons Jelly
- db-ojb-from-packages-1-0-release :  ObjectRelationalBridge
- db-torque :  Persistence Layer
- jakarta-tomcat :  Servlet 2.2 and JSP 1.1 Reference Implementation
- jakarta-tomcat-coyote-tomcat3 :  Connectors to various web servers
- jakarta-turbine-jcs :  Cache
- test-ojb-from-packages-1-0-release :  ObjectRelationalBridge


Full details are available at:

http://vmgump.apache.org/gump/public/jakarta-tomcat/jakarta-tomcat/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Output [tomcat-util.jar] identifier set to output basename: 
[tomcat-util]
 -DEBUG- Output [tomcat_core.jar] identifier set to output basename: 
[tomcat_core]
 -DEBUG- Output [tomcat_modules.jar] identifier set to output basename: 
[tomcat_modules]
 -DEBUG- Output [facade22.jar] identifier set to output basename: [facade22]
 -DEBUG- Output [core_util.jar] identifier set to output basename: [core_util]
 -DEBUG- Output [jasper.jar] identifier set to output basename: [jasper]
 -DEBUG- Output [container_util.jar] identifier set to output basename: 
[container_util]
 -DEBUG- Output [tomcat.jar] identifier set to output basename: [tomcat]
 -DEBUG- Dependency on jakarta-servletapi exists, no need to add for property 
servlet22.jar.
 -DEBUG- Dependency on jmx exists, no need to add for property jmxtools.jar.
 -DEBUG- Dependency on ant exists, no need to add for property ant.home.
 -DEBUG- Dependency on jsse exists, no need to add for property jsse.home.
 -INFO- Failed with reason build failed
 -DEBUG- Extracted fallback artifacts from Gump Repository



The following work was performed:
http://vmgump.apache.org/gump/public/jakarta-tomcat/jakarta-tomcat/gump_work/build_jakarta-tomcat_jakarta-tomcat.html
Work Name: build_jakarta-tomcat_jakarta-tomcat (Type: Build)
Work ended in a state of : Failed
Elapsed: 16 secs
Command Line: /usr/lib/jvm/java-1.5.0-sun/bin/java -Djava.awt.headless=true 
-Xbootclasspath/p:/srv/gump/public/workspace/xml-xerces2/build/xercesImpl.jar:/srv/gump/public/workspace/xml-commons/java/external/build/xml-apis.jar:/srv/gump/public/workspace/xml-xalan/build/serializer.jar:/srv/gump/public/workspace/xml-xalan/build/xalan-unbundled.jar
 org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml 
-Dbuild.sysclasspath=only 
-Djakarta-tomcat-connectors=/srv/gump/public/workspace/jakarta-tomcat-connectors
 -Djtc.coyote.home=/srv/gump/public/workspace/jakarta-tomcat-connectors/coyote 
-Djaxp.home=/srv/gump/packages/jaxp-1_3 
-Dcommons-modeler.jar=/srv/gump/public/workspace/apache-commons/modeler/dist/commons-modeler-21092008.jar
 -Djmxtools.jar=/srv/gump/packages/jmx-1_2_1-bin/lib/jmxtools.jar 
-Djmx.jar=/srv/gump/packages/jmx-1_2_1-bin/lib/jmxri.jar 
-Dtomcat-util.jar=/srv/gump/public/workspace/jakarta-tomcat-connectors/util/build/lib/tomcat-util.jar
 -Dant.home=/
 srv/gump/public/workspace/ant/dist 
-Dservlet22.jar=/srv/gump/public/workspace/jakarta-servletapi/dist/lib/servlet.jar
 
-Dcommons-logging.jar=/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-api-21092008.jar
 
-Djtc.http11.home=/srv/gump/public/workspace/jakarta-tomcat-connectors/http11/build
 -Djsse.home=/srv/gump/packages/jsse1.0.3 main.lite 
[Working Directory: /srv/gump/public/workspace/jakarta-tomcat]
CLASSPATH: 
/usr/lib/jvm/java-1.5.0-sun/lib/tools.jar:/srv/gump/public/workspace/jakarta-tomcat/build/tomcat/classes:/srv/gump/public/workspace/xml-commons/java/external/build/xml-apis-ext.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-trax.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-nodeps.jar:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/packages/junit3.8.1/junit.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/jakarta-servletapi/dist/lib/servlet.jar:/srv/gump/packages/jsse1.0.3/lib/jcert.jar:/srv/gump/packages/jsse1.0.3/lib/jnet.jar:/srv/gump/packages/jsse1.0.3/lib/jsse.jar:/srv/gump/public/workspace/logging-log4j-12/dist/lib/log4j-21092
 
008.jar:/srv/gump/public/workspace/apache-commons/modeler/dist/commons-modeler-21092008.jar:/srv/gump/public/workspace/ja

DO NOT REPLY [Bug 45852] conf/tomcat-users.xml has invalid encoding "cp932".

2008-09-22 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=45852


Yousei Itou <[EMAIL PROTECTED]> changed:

   What|Removed |Added

 Status|NEEDINFO|ASSIGNED




--- Comment #2 from Yousei Itou <[EMAIL PROTECTED]>  2008-09-22 18:21:08 PST ---
I'd replaced cp932 with utf-8, and it works.
I also tried to reinstall tomcat and replace cp932 with ms932, it works too.

Thank you for reply.


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 45851] FarmWarDeployer fails to properly unpack copied war on target node

2008-09-22 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=45851





--- Comment #1 from Filip Hanik <[EMAIL PROTECTED]>  2008-09-22 19:59:10 PST ---
That's correct, in 6.0.x the deployer no longer works. it broke somewhere
during 5.5.x when the deployer was rebuilt. 

the fix is to go back to 5.0.x strategy, where the files are copied to a temp
directory and deployed from there. but that is work that is to be done. 

contributions happily accepted.

best
Filip


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: svn commit: r697462 - /tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c

2008-09-22 Thread Rainer Jung
Fixed. Sorry I broke it, gcc does allow it, and I always forget I
shouldn't do that. Thanks for the information.

Tim Whittington schrieb:
> This fails to build in VC.Net 2005 (actually the change in r697451 is the
> culprit).
> The definition of now/mstarted needs to precede the JK_TRACE_ENTER.
> 
> cheers
> tim
> 
> 
> 
> From: <[EMAIL PROTECTED]>
> Reply-To: Tomcat Developers List 
> Date: Sun, 21 Sep 2008 09:46:00 -
> To: 
> Subject: svn commit: r697462 -
> /tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c
> 
> Author: rjung
> Date: Sun Sep 21 02:45:59 2008
> New Revision: 697462
> 
> URL: http://svn.apache.org/viewvc?rev=697462&view=rev
> Log:
> Let's use "mstarted" introduced in r697451 in all places,
> where it makes sense, and "now" mostly where it is now.
> 
> Modified:
> tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c
> 
> Modified: tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c
> URL: 
> http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_ajp
> _common.c?rev=697462&r1=697461&r2=697462&view=diff
> 
> ==
> --- tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c (original)
> +++ tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c Sun Sep 21
> 02:45:59 2008
> @@ -2803,10 +2803,10 @@
>  return JK_FALSE;
>  }
>  
> -int JK_METHOD ajp_maintain(jk_worker_t *pThis, time_t now, jk_logger_t *l)
> +int JK_METHOD ajp_maintain(jk_worker_t *pThis, time_t mstarted, jk_logger_t
> *l)
>  {
>  JK_TRACE_ENTER(l);
> -time_t mstarted = now;
> +time_t now = mstarted;
>  
>  if (pThis && pThis->worker_private) {
>  ajp_worker_t *aw = pThis->worker_private;
> @@ -2821,9 +2821,9 @@
>   * Since it's possible that we come here a few milliseconds
>   * before the interval has passed, we allow a little tolerance.
>   */
> -delta = (long)difftime(now, aw->s->last_maintain_time) +
> JK_AJP_MAINTAIN_TOLERANCE;
> +delta = (long)difftime(mstarted, aw->s->last_maintain_time) +
> JK_AJP_MAINTAIN_TOLERANCE;
>  if (delta >= aw->maintain_time) {
> -aw->s->last_maintain_time = now;
> +aw->s->last_maintain_time = mstarted;
>  if (aw->s->state == JK_AJP_STATE_OK &&
>  aw->s->used == aw->s->used_snapshot)
>  aw->s->state = JK_AJP_STATE_IDLE;
> @@ -2832,7 +2832,7 @@
>  
>  jk_shm_unlock();
>  
> -/* Obtain current time only if needed */
> +/* Do connection pool maintenance only if timeouts or keepalives
> are set */
>  if (aw->cache_timeout <= 0 &&
>  aw->connection_keepalive <= 0) {
>  /* Nothing to do. */
> @@ -2854,7 +2854,7 @@
>   i >= 0 && aw->cache_timeout > 0; i--) {
>  /* Skip the closed sockets */
>  if (aw->ep_cache[i] &&
> IS_VALID_SOCKET(aw->ep_cache[i]->sd)) {
> -int elapsed = (int)difftime(now,
> aw->ep_cache[i]->last_access);
> +int elapsed = (int)difftime(mstarted,
> aw->ep_cache[i]->last_access);
>  if (elapsed > aw->cache_timeout) {
>  time_t rt = 0;
>  n++;

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r698091 - /tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c

2008-09-22 Thread rjung
Author: rjung
Date: Mon Sep 22 22:16:15 2008
New Revision: 698091

URL: http://svn.apache.org/viewvc?rev=698091&view=rev
Log:
Declare variable before function body.

Modified:
tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c

Modified: tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c?rev=698091&r1=698090&r2=698091&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c Mon Sep 22 
22:16:15 2008
@@ -2841,10 +2841,10 @@
 int JK_METHOD ajp_maintain(jk_worker_t *pThis, time_t mstarted, jk_logger_t *l)
 {
 JK_TRACE_ENTER(l);
-time_t now = mstarted;
 
 if (pThis && pThis->worker_private) {
 ajp_worker_t *aw = pThis->worker_private;
+time_t now = mstarted;
 int rc;
 long delta;
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r698092 - /tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c

2008-09-22 Thread rjung
Author: rjung
Date: Mon Sep 22 22:20:38 2008
New Revision: 698092

URL: http://svn.apache.org/viewvc?rev=698092&view=rev
Log:
Fix typo.

Modified:
tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c

Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c?rev=698092&r1=698091&r2=698092&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Mon Sep 22 22:20:38 
2008
@@ -1615,8 +1615,8 @@
 strncpy(p->session_path,
 jk_get_lb_session_path(props, p->name, JK_PATH_SESSION_IDENTIFIER),
 JK_SHM_STR_SIZ);
-strcppy(p->s->session_cookie, p->session_cookie);
-strcppy(p->s->session_path, p->session_path);
+strcpy(p->s->session_cookie, p->session_cookie);
+strcpy(p->s->session_path, p->session_path);
 
 JK_INIT_CS(&(p->cs), i);
 if (i == JK_FALSE) {



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: svn commit: r697779 - in /tomcat/connectors/trunk/jk: native/common/jk_lb_worker.c native/common/jk_lb_worker.h native/common/jk_shm.h native/common/jk_util.c native/common/jk_util.h xdocs/miscel

2008-09-22 Thread Rainer Jung
Also fixed. Thanks again.

Tim Whittington schrieb:
> This is failing to build in VC++ 2005
> 
> In jk_lb_worker.c:
> 
> +strcppy(p->s->session_cookie, p->session_cookie);
> +strcppy(p->s->session_path, p->session_path);
> 
> I can¹t find a strcppy implementation in VC++ 2005, nor can I find
> references to it on Google ­ where is this function defined?
> 
> cheers
> tim
> 
> 
> 
> From: <[EMAIL PROTECTED]>
> Reply-To: Tomcat Developers List 
> Date: Mon, 22 Sep 2008 10:52:16 -
> To: 
> Subject: svn commit: r697779 - in /tomcat/connectors/trunk/jk:
> native/common/jk_lb_worker.c native/common/jk_lb_worker.h
> native/common/jk_shm.h native/common/jk_util.c native/common/jk_util.h
> xdocs/miscellaneous/changelog.xml
> 
> Author: mturk
> Date: Mon Sep 22 03:52:16 2008
> New Revision: 697779
> 
> URL: http://svn.apache.org/viewvc?rev=697779&view=rev
> Log:
> Add session_cookie and session_path directives for load balancer
> 
> Modified:
> tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
> tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h
> tomcat/connectors/trunk/jk/native/common/jk_shm.h
> tomcat/connectors/trunk/jk/native/common/jk_util.c
> tomcat/connectors/trunk/jk/native/common/jk_util.h
> tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
> 
> Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
> URL: 
> http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_
> worker.c?rev=697779&r1=697778&r2=697779&view=diff
> 
> ==
> --- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original)
> +++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Mon Sep 22
> 03:52:16 2008
> @@ -301,6 +301,8 @@
>  p->lblock = p->s->lblock;
>  p->max_packet_size = p->s->max_packet_size;
>  p->sequence = p->s->h.sequence;
> +strncpy(p->session_cookie, p->s->session_cookie, JK_SHM_STR_SIZ);
> +strncpy(p->session_path, p->s->session_path, JK_SHM_STR_SIZ);
>  
>  for (i = 0; i < p->num_of_workers; i++) {
>  lb_sub_worker_t *w = &p->lb_workers[i];
> @@ -348,6 +350,8 @@
>  p->s->lblock = p->lblock;
>  p->s->max_packet_size = p->max_packet_size;
>  p->s->h.sequence = p->sequence;
> +strncpy(p->s->session_cookie, p->session_cookie, JK_SHM_STR_SIZ);
> +strncpy(p->s->session_path, p->session_path, JK_SHM_STR_SIZ);
>  
>  for (i = 0; i < p->num_of_workers; i++) {
>  lb_sub_worker_t *w = &p->lb_workers[i];
> @@ -468,12 +472,12 @@
>  /* Retrieve session id from the cookie or the parameter
>   * (parameter first)
>   */
> -static char *get_sessionid(jk_ws_service_t *s, jk_logger_t *l)
> +static char *get_sessionid(jk_ws_service_t *s, lb_worker_t *p, jk_logger_t
> *l)
>  {
>  char *val;
> -val = get_path_param(s, JK_PATH_SESSION_IDENTIFIER);
> +val = get_path_param(s, p->session_path);
>  if (!val) {
> -val = get_cookie(s, JK_SESSION_IDENTIFIER);
> +val = get_cookie(s, p->session_cookie);
>  }
>  if (val && !*val) {
>  /* TODO: For now only log the empty sessions.
> @@ -1070,7 +1074,7 @@
>  /* Use sessionid only if sticky_session is
>   * defined for this load balancer
>   */
> -sessionid = get_sessionid(s, l);
> +sessionid = get_sessionid(s, p->worker, l);
>  }
>  if (JK_IS_DEBUG_LEVEL(l))
>  jk_log(l, JK_LOG_DEBUG,
> @@ -1605,6 +1609,14 @@
>  
>  p->lbmethod = jk_get_lb_method(props, p->name);
>  p->lblock   = jk_get_lb_lock(props, p->name);
> +strncpy(p->session_cookie,
> +jk_get_lb_session_cookie(props, p->name,
> JK_SESSION_IDENTIFIER),
> +JK_SHM_STR_SIZ);
> +strncpy(p->session_path,
> +jk_get_lb_session_path(props, p->name,
> JK_PATH_SESSION_IDENTIFIER),
> +JK_SHM_STR_SIZ);
> +strcppy(p->s->session_cookie, p->session_cookie);
> +strcppy(p->s->session_path, p->session_path);
>  
>  JK_INIT_CS(&(p->cs), i);
>  if (i == JK_FALSE) {
> 
> Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h
> URL: 
> http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_
> worker.h?rev=697779&r1=697778&r2=697779&view=diff
> 
> ==
> --- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h (original)
> +++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h Mon Sep 22
> 03:52:16 2008
> @@ -194,7 +194,10 @@
>  int  maintain_time;
>  unsigned int max_packet_size;
>  unsigned int next_offset;
> -
> +/* Session cookie */
> +char session_cookie[JK_SHM_STR_SIZ+1];
> +/* Session path */
> +char session_path[JK_SHM_STR_SIZ+1];
>  };
>  typedef struct lb_worker lb_worker_t;
>  
> 
> Modified: tomcat/connectors/trunk/jk/native/common/jk_shm.h
> URL: 
> http://svn.apache.org/viewvc/to