What happened to the Tomact 6 Monitor?

2009-03-02 Thread Gary Marshall
All:

I have a Vista machine stoked with maximum memory. The following has
occurred each time I complete an install of Tomcat 6.0 followed by a reboot
of my computer.

I downloaded and successfully installed Tomcat6 setting the checkbox on the
component page that generaates during install that sets Tomcat to start
automatically with Windows . Each install resulted in a Tomcat icon placed
in the system tray at the lower right in Windows, which allows me to stop
and start Tomcat as needed.

Now, I reboot my machine.  When the machine gets to the Window desktop a
"red X" dialog box displays stating " Acess is denied.  Unable to open the
server 'Tomcat6'". I am repeating the message here letter for letter exactly
as it is shown in the dialogue box that pops up.  So I click "OK"

Now at the Windows desktop, the Tomcat Monitor icon is not in the system
tray.   In order to start Tomcat I have to click on Start -> All Progbrams
-> Apache Tomcat 6.0 -> Tomcat Manager.  This brings up the logon dialog and
then I am in the Tomcat manager panel.  However I cannot stop Tomcat since I
cannot open the Monitor, since the icon that existed in the system tray
after the install and before the reboot is not there anymore.

I have had this same behavior several times.

Can anybody tell me what I am missing? Do I need to set some property or
setting someplace in order to get the Tomcat Monitor be on the system tray
and available for my use at all times?

Thanks to all for your assistance.

gary


Re: What happened to the Tomact 6 Monitor?

2009-03-02 Thread Mark Thomas
Gary Marshall wrote:
> 
> Can anybody tell me what I am missing? Do I need to set some property or
> setting someplace in order to get the Tomcat Monitor be on the system tray
> and available for my use at all times?

This is the dev list. This is a question for the users list.

Mark



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r749324 - /tomcat/current/tc5.5.x/STATUS.txt

2009-03-02 Thread mturk
Author: mturk
Date: Mon Mar  2 14:53:42 2009
New Revision: 749324

URL: http://svn.apache.org/viewvc?rev=749324&view=rev
Log:
Re-vote again for the modified patch

Modified:
tomcat/current/tc5.5.x/STATUS.txt

Modified: tomcat/current/tc5.5.x/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/current/tc5.5.x/STATUS.txt?rev=749324&r1=749323&r2=749324&view=diff
==
--- tomcat/current/tc5.5.x/STATUS.txt (original)
+++ tomcat/current/tc5.5.x/STATUS.txt Mon Mar  2 14:53:42 2009
@@ -237,5 +237,5 @@
   Only a problem before 6.0.
   Patch backported from 
http://svn.eu.apache.org/viewvc?view=rev&revision=411577
   Patch available at https://issues.apache.org/bugzilla/attachment.cgi?id=23316
-  +1: rjung, billbarker
+  +1: rjung, billbarker, mturk
   -1: 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Website and stable versions

2009-03-02 Thread Chris Wilson
Dear sirs,

Can I point out that on your website, http://tomcat.apache.org, the "Which 
Version?" page is supposed to help one decide which version to download, 
and it does describe the meaning of the various stability levels, but it 
does not describe what level each version has achieved. E.g. is Tomcat 6.0 
stable yet or not?

Therefore, for me, it does not answer the question of "which version" to 
download as it does not tell me what the latest stable version is.

Also, the link to the FAQ on the Bug Report page ("FAQ's for all Jakarta 
projects can be found here.") is broken.

Cheers, Chris.
-- 
Aptivate | http://www.aptivate.org | Phone: +44 1223 760887
The Humanitarian Centre, Fenner's, Gresham Road, Cambridge CB1 2ES

Aptivate is a not-for-profit company registered in England and Wales
with company number 04980791.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



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

2009-03-02 Thread rjung
Author: rjung
Date: Mon Mar  2 21:54:38 2009
New Revision: 749447

URL: http://svn.apache.org/viewvc?rev=749447&view=rev
Log:
Indentation cleanup. No functional change.

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=749447&r1=749446&r2=749447&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Mon Mar  2 21:54:38 
2009
@@ -512,9 +512,9 @@
  * Return the number of workers not in error state.
  */
 static int recover_workers(lb_worker_t *p,
-jk_uint64_t curmax,
-time_t now,
-jk_logger_t *l)
+   jk_uint64_t curmax,
+   time_t now,
+   jk_logger_t *l)
 {
 unsigned int i;
 int non_error = 0;



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r749452 - /tomcat/connectors/trunk/jk/native/common/jk_status.c

2009-03-02 Thread rjung
Author: rjung
Date: Mon Mar  2 22:04:40 2009
New Revision: 749452

URL: http://svn.apache.org/viewvc?rev=749452&view=rev
Log:
Replace integer constants by defines for the various
side effect indicators (bit mask) in commit_member.
Sorted the values (1,2,4) -> (2,4,1) differently
and replaced the test against non-zero with setting
and testing for a defined bit.

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

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=749452&r1=749451&r2=749452&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Mon Mar  2 22:04:40 
2009
@@ -191,6 +191,10 @@
 #define JK_STATUS_MASK_GOOD_DEF0x000F
 #define JK_STATUS_MASK_BAD_DEF 0x00FF1010
 
+#define JK_STATUS_NEEDS_PUSH   0x0001
+#define JK_STATUS_NEEDS_RESET_LB_VALUES0x0002
+#define JK_STATUS_NEEDS_UPDATE_MULT0x0004
+
 #define JK_STATUS_WAIT_AFTER_UPDATE"3"
 #define JK_STATUS_REFRESH_DEF  "10"
 #define JK_STATUS_ESC_CHARS("<>?\"")
@@ -3111,13 +3115,13 @@
 jk_log(l, JK_LOG_INFO,
"Status worker '%s' setting 'activation' for sub worker 
'%s' of lb worker '%s' to '%s'",
w->name, wr->name, lb_name, jk_lb_get_activation(wr, 
l));
-rc |= 1;
+rc |= JK_STATUS_NEEDS_RESET_LB_VALUES | JK_STATUS_NEEDS_PUSH;
 }
 }
 if (set_int_if_changed(p, wr->name, "lbfactor", 
JK_STATUS_ARG_LBM_FACTOR,
1, INT_MAX, &wr->lb_factor, lb_name, l))
 /* Recalculate the load multiplicators wrt. lb_factor */
-rc |= 2;
+rc |= JK_STATUS_NEEDS_UPDATE_MULT | JK_STATUS_NEEDS_PUSH;
 if ((rv = status_get_string(p, JK_STATUS_ARG_LBM_ROUTE,
 NULL, &arg, l)) == JK_TRUE) {
 if (strncmp(wr->route, arg, JK_SHM_STR_SIZ)) {
@@ -3125,7 +3129,7 @@
"Status worker '%s' setting 'route' for sub worker '%s' 
of lb worker '%s' to '%s'",
w->name, wr->name, lb_name, arg);
 strncpy(wr->route, arg, JK_SHM_STR_SIZ);
-rc |= 4;
+rc |= JK_STATUS_NEEDS_PUSH;
 if (!wr->domain[0]) {
 char * id_domain = strchr(wr->route, '.');
 if (id_domain) {
@@ -3143,7 +3147,7 @@
"Status worker '%s' setting 'redirect' for sub worker 
'%s' of lb worker '%s' to '%s'",
w->name, wr->name, lb_name, arg);
 strncpy(wr->redirect, arg, JK_SHM_STR_SIZ);
-rc |= 4;
+rc |= JK_STATUS_NEEDS_PUSH;
 }
 }
 if ((rv = status_get_string(p, JK_STATUS_ARG_LBM_DOMAIN,
@@ -3153,17 +3157,17 @@
"Status worker '%s' setting 'domain' for sub worker 
'%s' of lb worker '%s' to '%s'",
w->name, wr->name, lb_name, arg);
 strncpy(wr->domain, arg, JK_SHM_STR_SIZ);
-rc |= 4;
+rc |= JK_STATUS_NEEDS_PUSH;
 }
 }
 if (set_int_if_changed(p, wr->name, "distance", 
JK_STATUS_ARG_LBM_DISTANCE,
0, INT_MAX, &wr->distance, lb_name, l))
-rc |= 4;
+rc |= JK_STATUS_NEEDS_PUSH;
 }
 old = aw->cache_timeout;
 if (set_int_if_changed(p, aw->name, "connection_pool_timeout", 
JK_STATUS_ARG_AJP_CACHE_TO,
0, INT_MAX, &aw->cache_timeout, lb_name, l)) {
-rc |= 4;
+rc |= JK_STATUS_NEEDS_PUSH;
 if (old == 0) {
 unsigned int i;
 for (i = 0; i < aw->ep_cache_sz; i++) {
@@ -3180,14 +3184,14 @@
 "Status worker '%s' setting 'host' for sub worker '%s' to 
'%s'",
 w->name, aw->name, arg);
 strncpy(host, arg, JK_SHM_STR_SIZ);
-rc |= 4;
+rc |= JK_STATUS_NEEDS_PUSH;
 as = 1;
 }
 }
 port = aw->s->port;
 if (set_int_if_changed(p, aw->name, "port", JK_STATUS_ARG_AJP_PORT_INT,
0, INT_MAX, &port, lb_name, l)) {
-rc |= 4;
+rc |= JK_STATUS_NEEDS_PUSH;
 as = 1;
 }
 if (as) {
@@ -3210,31 +3214,31 @@
 }
 if (set_int_if_changed(p, aw->name, "ping_timeout", 
JK_STATUS_ARG_AJP_PING_TO,
0, INT_MAX, &aw->ping_timeout, lb_name, l))
-rc |= 4;
+rc |= JK_STATUS_NEEDS_PUSH;
 if (set_int_if_changed(p, aw->name, "connect_timeout", 
JK_STATUS_ARG_AJP_CONNECT_TO,
0, INT_MAX, &aw->connect_timeout, lb_name, l))

svn commit: r749457 - /tomcat/connectors/trunk/jk/native/common/jk_status.c

2009-03-02 Thread rjung
Author: rjung
Date: Mon Mar  2 22:26:46 2009
New Revision: 749457

URL: http://svn.apache.org/viewvc?rev=749457&view=rev
Log:
commit_member() in status worker now returns
JK_TRUE/JK_FALSE. The additional information about
needed push etc. is returned via side effect argument.
We need this in order to be able to escalate
errors from commit_member to the calling functions.

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

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=749457&r1=749456&r2=749457&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Mon Mar  2 22:26:46 
2009
@@ -3079,12 +3079,13 @@
  lb_worker_t *lb,
  lb_sub_worker_t *wr,
  ajp_worker_t *aw,
+ int *side_effect,
  jk_logger_t *l)
 {
 const char *arg;
 const char *lb_name = NULL;
 status_worker_t *w = p->worker;
-int rc = 0;
+int rc = JK_TRUE;
 int rv;
 int i;
 int old;
@@ -3115,13 +3116,13 @@
 jk_log(l, JK_LOG_INFO,
"Status worker '%s' setting 'activation' for sub worker 
'%s' of lb worker '%s' to '%s'",
w->name, wr->name, lb_name, jk_lb_get_activation(wr, 
l));
-rc |= JK_STATUS_NEEDS_RESET_LB_VALUES | JK_STATUS_NEEDS_PUSH;
+*side_effect |= JK_STATUS_NEEDS_RESET_LB_VALUES | 
JK_STATUS_NEEDS_PUSH;
 }
 }
 if (set_int_if_changed(p, wr->name, "lbfactor", 
JK_STATUS_ARG_LBM_FACTOR,
1, INT_MAX, &wr->lb_factor, lb_name, l))
 /* Recalculate the load multiplicators wrt. lb_factor */
-rc |= JK_STATUS_NEEDS_UPDATE_MULT | JK_STATUS_NEEDS_PUSH;
+*side_effect |= JK_STATUS_NEEDS_UPDATE_MULT | JK_STATUS_NEEDS_PUSH;
 if ((rv = status_get_string(p, JK_STATUS_ARG_LBM_ROUTE,
 NULL, &arg, l)) == JK_TRUE) {
 if (strncmp(wr->route, arg, JK_SHM_STR_SIZ)) {
@@ -3129,7 +3130,7 @@
"Status worker '%s' setting 'route' for sub worker '%s' 
of lb worker '%s' to '%s'",
w->name, wr->name, lb_name, arg);
 strncpy(wr->route, arg, JK_SHM_STR_SIZ);
-rc |= JK_STATUS_NEEDS_PUSH;
+*side_effect |= JK_STATUS_NEEDS_PUSH;
 if (!wr->domain[0]) {
 char * id_domain = strchr(wr->route, '.');
 if (id_domain) {
@@ -3147,7 +3148,7 @@
"Status worker '%s' setting 'redirect' for sub worker 
'%s' of lb worker '%s' to '%s'",
w->name, wr->name, lb_name, arg);
 strncpy(wr->redirect, arg, JK_SHM_STR_SIZ);
-rc |= JK_STATUS_NEEDS_PUSH;
+*side_effect |= JK_STATUS_NEEDS_PUSH;
 }
 }
 if ((rv = status_get_string(p, JK_STATUS_ARG_LBM_DOMAIN,
@@ -3157,17 +3158,17 @@
"Status worker '%s' setting 'domain' for sub worker 
'%s' of lb worker '%s' to '%s'",
w->name, wr->name, lb_name, arg);
 strncpy(wr->domain, arg, JK_SHM_STR_SIZ);
-rc |= JK_STATUS_NEEDS_PUSH;
+*side_effect |= JK_STATUS_NEEDS_PUSH;
 }
 }
 if (set_int_if_changed(p, wr->name, "distance", 
JK_STATUS_ARG_LBM_DISTANCE,
0, INT_MAX, &wr->distance, lb_name, l))
-rc |= JK_STATUS_NEEDS_PUSH;
+*side_effect |= JK_STATUS_NEEDS_PUSH;
 }
 old = aw->cache_timeout;
 if (set_int_if_changed(p, aw->name, "connection_pool_timeout", 
JK_STATUS_ARG_AJP_CACHE_TO,
0, INT_MAX, &aw->cache_timeout, lb_name, l)) {
-rc |= JK_STATUS_NEEDS_PUSH;
+*side_effect |= JK_STATUS_NEEDS_PUSH;
 if (old == 0) {
 unsigned int i;
 for (i = 0; i < aw->ep_cache_sz; i++) {
@@ -3184,14 +3185,14 @@
 "Status worker '%s' setting 'host' for sub worker '%s' to 
'%s'",
 w->name, aw->name, arg);
 strncpy(host, arg, JK_SHM_STR_SIZ);
-rc |= JK_STATUS_NEEDS_PUSH;
+*side_effect |= JK_STATUS_NEEDS_PUSH;
 as = 1;
 }
 }
 port = aw->s->port;
 if (set_int_if_changed(p, aw->name, "port", JK_STATUS_ARG_AJP_PORT_INT,
0, INT_MAX, &port, lb_name, l)) {
-rc |= JK_STATUS_NEEDS_PUSH;
+*side_effect |= JK_STATUS_NEEDS_PUSH;
 as = 1;
 }
 if (as) {
@@ -3202,6 +3203,7 @@
 jk_log(l, JK_LOG_ERROR,
"Status worker '%s' failed

svn commit: r749463 - /tomcat/connectors/trunk/jk/native/common/jk_status.c

2009-03-02 Thread rjung
Author: rjung
Date: Mon Mar  2 23:05:39 2009
New Revision: 749463

URL: http://svn.apache.org/viewvc?rev=749463&view=rev
Log:
Make writing of the "OK" refresh page in status worker
a separate function. Do not generate the page, in case
any error occured, so that the user can read the error
and must "commit" it by navigating back to the status
page.

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

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=749463&r1=749462&r2=749463&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Mon Mar  2 23:05:39 
2009
@@ -1218,6 +1218,22 @@
 return JK_TRUE;
 }
 
+static void write_html_refresh_response(jk_ws_service_t *s,
+status_endpoint_t *p,
+const char *err,
+jk_logger_t *l)
+{
+if (!err) {
+jk_puts(s, "\n");
+jk_putv(s, "Result: OK - You will be redirected in "
+JK_STATUS_WAIT_AFTER_UPDATE " seconds.", NULL);
+}
+}
+
 static int fetch_worker_and_sub_worker(status_endpoint_t *p,
const char *operation,
const char **worker,
@@ -4433,15 +4449,7 @@
 /* unlock the shared memory */
 jk_shm_unlock();
 if (mime == JK_STATUS_MIME_HTML) {
-jk_puts(s, "\n");
-if (!err) {
-jk_putv(s, "Result: OK - You will be redirected in "
-JK_STATUS_WAIT_AFTER_UPDATE " seconds.", 
NULL);
-}
+write_html_refresh_response(s, p, err, l);
 }
 }
 else if (cmd == JK_STATUS_CMD_RESET) {
@@ -4453,15 +4461,7 @@
 /* unlock the shared memory */
 jk_shm_unlock();
 if (mime == JK_STATUS_MIME_HTML) {
-jk_puts(s, "\n");
-if (!err) {
-jk_putv(s, "Result: OK - You will be redirected in "
-JK_STATUS_WAIT_AFTER_UPDATE " seconds.", 
NULL);
-}
+write_html_refresh_response(s, p, err, l);
 }
 }
 else if (cmd == JK_STATUS_CMD_RECOVER) {
@@ -4473,15 +4473,7 @@
 /* unlock the shared memory */
 jk_shm_unlock();
 if (mime == JK_STATUS_MIME_HTML) {
-jk_puts(s, "\n");
-if (!err) {
-jk_putv(s, "Result: OK - You will be redirected in "
-JK_STATUS_WAIT_AFTER_UPDATE " seconds.", 
NULL);
-}
+write_html_refresh_response(s, p, err, l);
 }
 }
 else {



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r749488 - /tomcat/connectors/trunk/jk/native/common/jk_status.c

2009-03-02 Thread rjung
Author: rjung
Date: Tue Mar  3 00:22:46 2009
New Revision: 749488

URL: http://svn.apache.org/viewvc?rev=749488&view=rev
Log:
Whitespace cleanup, no functional change.

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

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=749488&r1=749487&r2=749488&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Tue Mar  3 00:22:46 
2009
@@ -3587,7 +3587,7 @@
 }
 
 if (sub_worker && sub_worker[0]) {
-if(search_sub_worker(s, p, jw, worker, &wr, sub_worker,
+if (search_sub_worker(s, p, jw, worker, &wr, sub_worker,
  NULL, l) == JK_FALSE) {
 JK_TRACE_EXIT(l);
 return JK_FALSE;
@@ -3794,7 +3794,7 @@
 return JK_FALSE;
 }
 if (sub_worker && sub_worker[0]) {
-if(search_sub_worker(s, p, jw, worker, &wr, sub_worker,
+if (search_sub_worker(s, p, jw, worker, &wr, sub_worker,
  NULL, l) == JK_FALSE) {
 JK_TRACE_EXIT(l);
 return JK_FALSE;
@@ -3855,8 +3855,8 @@
 JK_TRACE_EXIT(l);
 return JK_TRUE;
 }
-else  {
-if(search_sub_worker(s, p, jw, worker, &wr, sub_worker,
+else {
+if (search_sub_worker(s, p, jw, worker, &wr, sub_worker,
  NULL, l) == JK_FALSE) {
 JK_TRACE_EXIT(l);
 return JK_FALSE;
@@ -3952,7 +3952,7 @@
 JK_TRACE_EXIT(l);
 return JK_TRUE;
 }
-else  {
+else {
 unsigned int idx = 0;
 unsigned int *wi = NULL;
 
@@ -4083,8 +4083,8 @@
 JK_TRACE_EXIT(l);
 return JK_TRUE;
 }
-else  {
-if(search_sub_worker(s, p, jw, worker, &wr, sub_worker,
+else {
+if (search_sub_worker(s, p, jw, worker, &wr, sub_worker,
  NULL, l) == JK_FALSE) {
 JK_TRACE_EXIT(l);
 return JK_FALSE;
@@ -4163,7 +4163,7 @@
 return JK_FALSE;
 }
 
-if(search_sub_worker(s, p, jw, worker, &wr, sub_worker,
+if (search_sub_worker(s, p, jw, worker, &wr, sub_worker,
  NULL, l) == JK_FALSE) {
 JK_TRACE_EXIT(l);
 return JK_FALSE;
@@ -4503,7 +4503,7 @@
 }
 else if (cmd == JK_STATUS_CMD_SHOW) {
 /* Step 2: Display detailed configuration */
-if(show_worker(s, p, l) != JK_TRUE) {
+if (show_worker(s, p, l) != JK_TRUE) {
 err = "Error in showing this worker.";
 }
 }
@@ -4534,7 +4534,7 @@
 }
 else if (cmd == JK_STATUS_CMD_SHOW) {
 /* Step 2: Display detailed configuration */
-if(show_worker(s, p, l) != JK_TRUE) {
+if (show_worker(s, p, l) != JK_TRUE) {
 err = "Error in showing this worker.";
 }
 }
@@ -4559,7 +4559,7 @@
 }
 else if (cmd == JK_STATUS_CMD_SHOW) {
 /* Step 2: Display detailed configuration */
-if(show_worker(s, p, l) != JK_TRUE) {
+if (show_worker(s, p, l) != JK_TRUE) {
 err = "Error in showing this worker.";
 }
 }
@@ -4721,13 +4721,13 @@
 }
 else if (cmd == JK_STATUS_CMD_SHOW) {
 /* Step 2: Display detailed configuration */
-if(show_worker(s, p, l) != JK_TRUE) {
+if (show_worker(s, p, l) != JK_TRUE) {
 err = "Error in showing this worker.";
 }
 }
 else if (cmd == JK_STATUS_CMD_EDIT) {
 /* Step 2: Display edit form */
-if(edit_worker(s, p, l) != JK_TRUE) {
+if (edit_worker(s, p, l) != JK_TRUE) {
 err = "Error in generating this worker's configuration 
form.";
 }
 }



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r749491 - /tomcat/connectors/trunk/jk/native/common/jk_status.c

2009-03-02 Thread rjung
Author: rjung
Date: Tue Mar  3 00:33:05 2009
New Revision: 749491

URL: http://svn.apache.org/viewvc?rev=749491&view=rev
Log:
Make wildcards in sub worker names work for
update commands of status worker.
It couldn't work, because check_worker() was
not wildcard aware.
Also reset the error string "could not find sub worker"
at the end of the wildcard loop.

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

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=749491&r1=749490&r2=749491&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Tue Mar  3 00:33:05 
2009
@@ -165,6 +165,7 @@
 #define JK_STATUS_CMD_PROP_DUMP_LINK   0x0100
 #define JK_STATUS_CMD_PROP_LINK_HELP   0x0200
 #define JK_STATUS_CMD_PROP_LEGEND  0x0400
+#define JK_STATUS_CMD_PROP_WILDCARD0x0800
 
 #define JK_STATUS_MIME_UNKNOWN (0)
 #define JK_STATUS_MIME_HTML(1)
@@ -973,6 +974,8 @@
 cmd == JK_STATUS_CMD_VERSION ||
 cmd == JK_STATUS_CMD_DUMP)
 props |= JK_STATUS_CMD_PROP_BACK_LINK;
+if (cmd == JK_STATUS_CMD_UPDATE)
+props |= JK_STATUS_CMD_PROP_WILDCARD;
 if (cmd != JK_STATUS_CMD_EDIT &&
 cmd != JK_STATUS_CMD_UPDATE &&
 cmd != JK_STATUS_CMD_RESET &&
@@ -3572,10 +3575,12 @@
 
 static int check_worker(jk_ws_service_t *s,
 status_endpoint_t *p,
+jk_uint32_t allow_wildchars,
 jk_logger_t *l)
 {
 const char *worker;
 const char *sub_worker;
+status_worker_t *w = p->worker;
 jk_worker_t *jw = NULL;
 lb_sub_worker_t *wr = NULL;
 
@@ -3587,8 +3592,24 @@
 }
 
 if (sub_worker && sub_worker[0]) {
+unsigned int idx = 0;
+unsigned int *wi = NULL;
+if (strchr(sub_worker, '*') || strchr(sub_worker, '?')) {
+/* We have a wildchar matching rule */
+if (!allow_wildchars) {
+jk_log(l, JK_LOG_ERROR,
+   "Status worker '%s' wildcards in sub worker '%s' of 
worker '%s' not allowed for this command",
+   w->name, sub_worker, worker ? worker : "(null)");
+p->msg = "wildcard not allowed in sub worker for this command";
+JK_TRACE_EXIT(l);
+return JK_FALSE;
+}
+else {
+wi = &idx;
+}
+}
 if (search_sub_worker(s, p, jw, worker, &wr, sub_worker,
- NULL, l) == JK_FALSE) {
+  wi, l) == JK_FALSE) {
 JK_TRACE_EXIT(l);
 return JK_FALSE;
 }
@@ -3955,10 +3976,12 @@
 else {
 unsigned int idx = 0;
 unsigned int *wi = NULL;
+int is_wildchar = JK_FALSE;
 
 if (strchr(sub_worker, '*') || strchr(sub_worker, '?')) {
 /* We have a wildchar matching rule */
 wi = &idx;
+is_wildchar = JK_TRUE;
 }
 for (;;) {
 if (search_sub_worker(s, p, jw, worker, &wr, sub_worker,
@@ -3969,6 +3992,7 @@
 }
 else {
 /* We have found at least one match previously */
+p->msg = "OK";
 break;
 }
 }
@@ -4417,7 +4441,7 @@
 err = "Invalid mime type.";
 }
 else if (cmd_props & JK_STATUS_CMD_PROP_CHECK_WORKER &&
- (check_worker(s, p, l) != JK_TRUE)) {
+ (check_worker(s, p, cmd_props & JK_STATUS_CMD_PROP_WILDCARD, 
l) != JK_TRUE)) {
 err = p->msg;
 }
 }
@@ -,7 +4468,10 @@
 /* lock shared memory */
 jk_shm_lock();
 if (update_worker(s, p, l) == JK_FALSE) {
-err = "Update failed";
+if (strncmp("OK", p->msg, 3))
+err = p->msg;
+else
+err = "Update failed";
 }
 /* unlock the shared memory */
 jk_shm_unlock();



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r749498 - /tomcat/connectors/trunk/jk/native/common/jk_status.c

2009-03-02 Thread rjung
Author: rjung
Date: Tue Mar  3 00:42:16 2009
New Revision: 749498

URL: http://svn.apache.org/viewvc?rev=749498&view=rev
Log:
Provide an error message in status worker, in case
a new worker address could not be resolved.
Use error messages coming from commit_member() in
update_worker() and augment them in the wildcard case.

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

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=749498&r1=749497&r2=749498&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Tue Mar  3 00:42:16 
2009
@@ -3219,8 +3219,12 @@
 aw->port = aw->s->port;
 if (!jk_resolve(host, port, &inet_addr,
 aw->worker.we->pool, l)) {
+const char *msg = "Update failed (at least partially): could not 
resolve address '%s:%d' for sub worker '%s'.";
+size_t size = strlen(msg) + strlen(host) + strlen(aw->name) + 10 + 
1;
+p->msg = jk_pool_alloc(s->pool, size);
+snprintf(p->msg, size, msg, host, port, aw->name);
 jk_log(l, JK_LOG_ERROR,
-   "Status worker '%s' failed resolving 'address' for sub 
worker '%s' to '%s:%d'",
+   "Status worker '%s' failed resolving 'address' for sub 
worker '%s' to '%s:%d'.",
w->name, aw->name, host, port);
 rc = JK_FALSE;
 }
@@ -4012,7 +4016,25 @@
 if (rv & JK_STATUS_NEEDS_UPDATE_MULT)
 /* Recalculate the load multiplicators wrt. lb_factor */
 update_mult(lb, l);
-if (!wi || (rc == JK_FALSE))
+if (rc == JK_FALSE) {
+jk_log(l, JK_LOG_ERROR,
+   "Status worker '%s' failed updating sub worker '%s' 
(at least partially).%s",
+   w->name, aw->name, (is_wildchar == JK_TRUE) ? " 
Aborting further wildcard updates." : "");
+if (!strncmp("OK", p->msg, 3)) {
+const char *msg = "Update failed (at least partially) 
for sub worker '%s'";
+size_t size = strlen(msg) + strlen(aw->name) + 1;
+p->msg = jk_pool_alloc(s->pool, size);
+snprintf(p->msg, size, msg, aw->name);
+}
+if (is_wildchar == JK_TRUE) {
+const char *msg = " Aborting further wildcard 
updates.";
+size_t size = strlen(msg) + strlen(p->msg) + 1;
+p->msg = jk_pool_realloc(s->pool, size, p->msg, 
strlen(p->msg) + 1);
+strcat(p->msg, msg);
+}
+break;
+}
+if (!wi)
 break;
 }
 JK_TRACE_EXIT(l);



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r749503 - /tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml

2009-03-02 Thread rjung
Author: rjung
Date: Tue Mar  3 01:12:39 2009
New Revision: 749503

URL: http://svn.apache.org/viewvc?rev=749503&view=rev
Log:
Add status worker changes to changelog.

Modified:
tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml

Modified: tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml?rev=749503&r1=749502&r2=749503&view=diff
==
--- tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml Tue Mar  3 
01:12:39 2009
@@ -43,6 +43,16 @@
   
   
 
+  
+Status: Wildcards in sub worker names were broken for update actions. 
(rjung)
+  
+  
+Status: Do not redirect to the show or list page, if an error occured
+during an action. (rjung)
+  
+  
+Status: Allow update actions to show error messages in the result 
page. (rjung)
+  
   
 AJP: Allow worker ports lower or equal to 1024. (rjung)
   



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r749506 - in /tomcat/connectors/trunk/jk: native/common/jk_status.c xdocs/miscellaneous/changelog.xml

2009-03-02 Thread rjung
Author: rjung
Date: Tue Mar  3 02:09:27 2009
New Revision: 749506

URL: http://svn.apache.org/viewvc?rev=749506&view=rev
Log:
In status worker, when doing Show - Edit - Show
you always end up with a single lb member show,
even when started from an all members lb show.
Like we use "from" to save the previous cmd,
we now also use "psw" to save and restore the
previously used sub worker.

Modified:
tomcat/connectors/trunk/jk/native/common/jk_status.c
tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml

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=749506&r1=749505&r2=749506&view=diff
==
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Tue Mar  3 02:09:27 
2009
@@ -60,6 +60,7 @@
 #define JK_STATUS_ARG_REFRESH  "re"
 #define JK_STATUS_ARG_WORKER   "w"
 #define JK_STATUS_ARG_SUB_WORKER   "sw"
+#define JK_STATUS_ARG_PREV_SUB_WORKER  "psw"
 #define JK_STATUS_ARG_ATTRIBUTE"att"
 #define JK_STATUS_ARG_MULT_VALUE_BASE  "val"
 #define JK_STATUS_ARG_OPTIONS  "opt"
@@ -1036,6 +1037,8 @@
 int sz;
 int started = 0;
 int from;
+int restore_sub_worker = JK_FALSE;
+int save_sub_worker = JK_FALSE;
 int prev;
 unsigned int opt = 0;
 const char *arg;
@@ -1048,11 +1051,15 @@
 from = status_cmd_int(arg);
 status_get_string(p, JK_STATUS_ARG_CMD, NULL, &arg, l);
 prev = status_cmd_int(arg);
+if (cmd == JK_STATUS_CMD_SHOW && prev == JK_STATUS_CMD_EDIT) {
+restore_sub_worker = JK_TRUE;
+}
 if (cmd == JK_STATUS_CMD_UNKNOWN) {
 if (prev == JK_STATUS_CMD_UPDATE ||
 prev == JK_STATUS_CMD_RESET ||
 prev == JK_STATUS_CMD_RECOVER) {
 cmd = from;
+restore_sub_worker = JK_TRUE;
 }
 }
 if (cmd != JK_STATUS_CMD_UNKNOWN) {
@@ -1063,6 +1070,7 @@
 cmd == JK_STATUS_CMD_RECOVER) {
 jk_printf(s, "%s%s=%s", "&",
   JK_STATUS_ARG_FROM, status_cmd_text(prev));
+save_sub_worker = JK_TRUE;
 }
 started=1;
 }
@@ -1103,7 +,24 @@
 if (!strcmp(k, JK_STATUS_ARG_WORKER) && worker) {
 continue;
 }
-if (!strcmp(k, JK_STATUS_ARG_SUB_WORKER) && (sub_worker || cmd == 
JK_STATUS_CMD_LIST)) {
+if (!strcmp(k, JK_STATUS_ARG_SUB_WORKER)) {
+if (save_sub_worker == JK_TRUE) {
+jk_printf(s, "%s%s=%s", started ? "&" : "?",
+  JK_STATUS_ARG_PREV_SUB_WORKER, v);
+started=1;
+continue;
+}
+else if (sub_worker || cmd == JK_STATUS_CMD_LIST) {
+continue;
+}
+else if (restore_sub_worker == JK_TRUE) {
+continue;
+}
+}
+if (!strcmp(k, JK_STATUS_ARG_PREV_SUB_WORKER) && restore_sub_worker == 
JK_TRUE && cmd != JK_STATUS_CMD_LIST) {
+jk_printf(s, "%s%s=%s", started ? "&" : "?",
+  JK_STATUS_ARG_SUB_WORKER, v);
+started=1;
 continue;
 }
 if (!strcmp(k, JK_STATUS_ARG_ATTRIBUTE) && attribute) {

Modified: tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml?rev=749506&r1=749505&r2=749506&view=diff
==
--- tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml Tue Mar  3 
02:09:27 2009
@@ -44,6 +44,10 @@
   
 
   
+Status: Show - Edit - Show always ends in single lb member show,
+even when started from all members lb show.
+  
+  
 Status: Wildcards in sub worker names were broken for update actions. 
(rjung)
   
   



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org