Re: Mod_jk 1.2.14 source
Good evening, AFAIK there is no 1.2.14 source 'bundle', but rather it exists in 'head', which is still with CVS rather than SVN. Check out the Jakarta Tomcat pages for the CVS CLI commands to get the latest mod_jk source. Should look similar to the following: cvs -d :pserver:[EMAIL PROTECTED]:/home/cvspublic login cvs -d :pserver:[EMAIL PROTECTED]:/home/cvspublic co jakarta-tomcat-connectors cvs -d :pserver:[EMAIL PROTECTED]:/home/cvspublic logout Norm Jess Holle wrote: Fenlason, Josh wrote: Where could I find the 1.2.14-dev source bundle? Thanks. , Josh. I'm betting you have to snag it with an SVN client. Am I right? If so, is it just a simple/default latest setting to get this? -- Jess Holle - 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: [ANN/VOTE] JK 1.2.11 Released
Good evening All, In trying the latest Mod_Jk (with Mladen's recent 'NetWare' patch), I noticed the jkstatus page provides two configurable parameters for an LB worker: 'retries' and 'recover_wait_time', neither of which are (as yet) documented for the LB worker. I also note the 'retries' can be set via the workers.properties file, (worker.lb1.retries), but, AFAICT, 'recover_wait_time' can not be set. Lastly I note that what ever routine parses workers.properties, it has the view that any property setting it doesn't know about it simply ignores, and gives not even a mention of it in the logs (debug mode). Regards, Norm Mladen Turk wrote: Jean-Jacques Clar wrote: Thank you Mladen, the patch is working for me. Cool :). I cannot put 1.2.11 in our NetWare build because of that problem. Sure. I will run stress test over the week-end and will have functionality testing done in our lab on Monday, both on HEAD. Let's keep the jk 1.2.11 around for a week or so. I will not advertise it as stable because of that bug, but I think we can go to 1.2.12 if nothing else critical found. Regards, Mladen. - 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: [ANN/VOTE] JK 1.2.11 Released
Hello and Good Evening from Au. Thanks for the _very fast_ feedback and clarifies points I had not discovered. :-) Hopefully the pieces of information you provided will eventually make it into the docs? Even the 'global' nature of the retries parameter when used on the lb worker would be of potential use to some users and is not mentioned in the ajp13 section either. :-) I'm not sure if it's a NetWare bug only, but for interest I have two JkEnvVar entries in my .conf and noticed they were not displayed when using the /admin tool with 5.0.30 Tomcat (Resources/MemVars). Or does this only show values set at the Tomcat end? The Jk docs show a sample for the JkEnvVar directive as: JkEnvVar SSL_CLIENT_V_START but Apache expects a two part answer: AP_INIT_TAKE2(JkEnvVar, jk_add_env_var, NULL, RSRC_CONF, Adds a name of environment variable that should be sent to servlet-engine) Most directives are global AFAIK, but it might be of use (to those that need it) if JkEnvVar settings could be limited to directory or location requests if desired, rather than passed to Tomcat for _every_ request. Regards, Norm Mladen Turk wrote: NormW wrote: Good evening All, In trying the latest Mod_Jk (with Mladen's recent 'NetWare' patch), I noticed the jkstatus page provides two configurable parameters for an LB worker: 'retries' and 'recover_wait_time', neither of which are (as yet) documented for the LB worker. If 'retries' set to the lb it will be used instead each worker retries option. It is documented in the workers section. I also note the 'retries' can be set via the workers.properties file, (worker.lb1.retries), but, AFAICT, 'recover_wait_time' can not be set. It can, by using worker.lb1.recover_time=NN (seconds) Minimum value is 60 seconds, and it is used to retry the worker in case the worker is in error state. Regards, Mladen. - 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: Tagging JK 1.2.9 on 3/17/2005
Greetings All, Still get a clean build for NetWare against Apache 2.1 and 2.0.53. The XML pages work fine, although the HTML status pages might put the numbers under headings better if 'border=1' was enabled. AFAIK builds for Apache 1.1.3 for NetWare still has issues, since I've not seen mention of updates for that version. Perhaps JJC can comment? Regards, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/jk/native/common jk_ajp_common.c jk_connect.c
Greetings, Will see... :-) N. [EMAIL PROTECTED] wrote: mturk 2005/02/19 01:13:35 Modified:jk/native/common jk_ajp_common.c jk_connect.c Log: Use alternative is_socket_connected implementation using select with 1 microsecond timeout. It should be both faster and usable on netware too. Revision ChangesPath 1.91 +7 -9 jakarta-tomcat-connectors/jk/native/common/jk_ajp_common.c Index: jk_ajp_common.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp_common.c,v retrieving revision 1.90 retrieving revision 1.91 diff -u -r1.90 -r1.91 --- jk_ajp_common.c 18 Feb 2005 08:27:21 - 1.90 +++ jk_ajp_common.c 19 Feb 2005 09:13:35 - 1.91 @@ -847,10 +847,9 @@ if (ae-worker-cache_timeout 0 || ae-worker-recycle_timeout 0) ae-last_access = time(NULL); if (ae-worker-socket_timeout 0) { -int rc = 0; -if ((rc = jk_is_socket_connected(ae-sd, ae-worker-socket_timeout)) != 1) { -jk_log(l, JK_LOG_INFO, -Socket is not connected any more (status=%d), rc); +if (!jk_is_socket_connected(ae-sd, ae-worker-socket_timeout)) { +jk_log(l, JK_LOG_INFO, + Socket is not connected any more (errno=%d), errno); jk_close_socket(ae-sd); ae-sd = -1; JK_TRACE_EXIT(l); @@ -1161,10 +1160,9 @@ while ((ae-sd 0)) { err = 0; if (ae-worker-socket_timeout) { -int rc = 0; -if ((rc = jk_is_socket_connected(ae-sd, ae-worker-socket_timeout)) != 1) { -jk_log(l, JK_LOG_INFO, - Socket is not connected any more (status=%d), rc); +if (!jk_is_socket_connected(ae-sd, ae-worker-socket_timeout)) { +jk_log(l, JK_LOG_INFO, + Socket is not connected any more (errno=%d), errno); jk_close_socket(ae-sd); ae-sd = -1; err++; 1.43 +48 -2 jakarta-tomcat-connectors/jk/native/common/jk_connect.c Index: jk_connect.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_connect.c,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- jk_connect.c 17 Feb 2005 08:26:42 - 1.42 +++ jk_connect.c 19 Feb 2005 09:13:35 - 1.43 @@ -194,18 +194,36 @@ sock_buf); } -#ifdef WIN32 if (timeout 0) { +#ifdef WIN32 timeout = timeout * 1000; setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char *) timeout, sizeof(int)); setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, (char *) timeout, sizeof(int)); +#else +/* TODO: How to set the timeout for other platforms? */ +#endif if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, timeout %d set for socket=%d, timeout, sock); } +#ifdef SO_NOSIGPIPE +/* The preferred method on Mac OS X (10.2 and later) to prevent SIGPIPEs when + * sending data to a dead peer. Possibly also existing and in use on other BSD + * systems? +*/ +set = 1; +if (setsockopt(sd, SOL_SOCKET, SO_NOSIGPIPE, (const char *)set, + sizeof(int))) { +JK_GET_SOCKET_ERRNO(); +jk_log(l, JK_LOG_ERROR, +failed setting SO_NOSIGPIPE with errno=%d, errno); +jk_close_socket(sock); +JK_TRACE_EXIT(l); +return -1; +} #endif /* Tries to connect to Tomcat (continues trying while error is EINTR) */ do { @@ -405,6 +423,32 @@ return 0; } +#if 1 +int jk_is_socket_connected(int sd, int timeout) +{ +fd_set fd; +struct timeval tv; + +FD_ZERO(fd); +FD_SET(sd, fd); + +/* Wait one microsecond */ +tv.tv_sec = 0; +tv.tv_usec = 1; + +/* If we get a timeout, then we are still connected */ +if (select(1, fd, NULL, NULL, tv) == 0) +return 1; +else { +#if defined(WIN32) || (defined(NETWARE) defined(__NOVELL_LIBC__)) +errno = WSAGetLastError() - WSABASEERR; +#endif +return 0; +} +} + +#else + #if defined(WIN32) || (defined(NETWARE) defined(__NOVELL_LIBC__)) #define EWOULDBLOCK (WSAEWOULDBLOCK - WSABASEERR) #endif @@ -434,3 +478,5 @@ else return rc; } + +#endif - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL
Re: cvs commit: jakarta-tomcat-connectors/jk/native/common jk_ajp_common.c jk_connect.c
Good evening, Can confirm a clean build for 2.1 and 2.0.53 Apache. Time is short now but will test them for basic ops in the morning. I assume these still need the socket_timeout at zero? Regards, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/jk/native/common jk_ajp_common.c jk_connect.c
Hi again... Mladen Turk wrote: NormW wrote: Good evening, Can confirm a clean build for 2.1 and 2.0.53 Apache. Time is short now but will test them for basic ops in the morning. I assume these still need the socket_timeout at zero? Well, new is_socket_connected implementation should be available for netware too (that was the purpose after all). Tell me if it works when you set the socket_timeout to a positive value. Okay - there is time enough to try in the morning and there will be a message shortly thereafter... Regards, Mladen. Norm - 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: cvs commit: jakarta-tomcat-connectors/jk/native/common jk_ajp_common.c jk_connect.c
Good morning, AFAICT this is working fine with a socket timeout of 15. Neither /server-info/ or /status/ show the setting in use, but 15 is what's in the properties file and /server-info/ says that's the file in use. Regards, Norm Mladen Turk wrote: NormW wrote: Good evening, Can confirm a clean build for 2.1 and 2.0.53 Apache. Time is short now but will test them for basic ops in the morning. I assume these still need the socket_timeout at zero? Well, new is_socket_connected implementation should be available for netware too (that was the purpose after all). Tell me if it works when you set the socket_timeout to a positive value. Regards, Mladen. - 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: Config Query for Mod_Jk...
Good evening again. No idea why the size difference but have attached tonights trace log as indicated. The configuration is based on Peter Rosbach's config from a few days ago. The 'worker2' __will__ fail because it is non-existant, but logic says this is similar to a Tomcat that went offline in service, and the balancer (ideally?) should aim everything at worker1, but the trace shows even it is having trouble connecting. If this hadn't worked two days ago I would definitely not be taking this problem further! Apologies for the hassles. Regards, Norm Mladen Turk wrote: NormW wrote: Good evening... From this I assume: 1) The current config is okay, Only not sure why you need /*.jsp and /servlet/*. It's a bad practice. You should map only deployed applications, but OK. 2) You didn't get the trace I sent last night. Think that dev list has a limit on attachments. Just cc to my email address. Regards, Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] . [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_shm.c (68): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_shm.c (90): Initialized shared memory size=1049600 free=1048576 addr=0x81f1dbc0 [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_shm.c (93): exit [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] mod_jk.c (2302): Initialized shm:memory [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (192): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (442): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_uri_worker_map.c (461): rule map size is 7 [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (282): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_uri_worker_map.c (385): match rule /status/=status was added [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (433): exit [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (282): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_uri_worker_map.c (366): suffix rule /.jsp=lb1 was added [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (433): exit [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (282): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_uri_worker_map.c (385): match rule /servlet/=lb1 was added [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (433): exit [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (282): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_uri_worker_map.c (405): exact rule /admin=lb1 was added [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (433): exit [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (282): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_uri_worker_map.c (385): match rule /admin/=lb1 was added [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (433): exit [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (282): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_uri_worker_map.c (405): exact rule /manager=lb1 was added [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (433): exit [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (282): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_uri_worker_map.c (385): match rule /manager/=lb1 was added [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (433): exit [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_uri_worker_map.c (478): there are 7 rules [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (497): exit [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_uri_worker_map.c (199): exit [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_worker.c (44): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_worker.c (213): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_worker.c (219): creating worker lb1 [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_worker.c (105): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_worker.c (125): about to create instance lb1 of lb [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_lb_worker.c (836): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_lb_worker.c (864): exit [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_worker.c (138): about to validate and init lb1 [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_lb_worker.c (665): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_worker.c (105): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_worker.c (125): about to create instance worker1 of ajp13 [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_ajp13_worker.c (83): enter [Fri Feb 18 17:41:39 2005] [0076:0001] [trace] jk_ajp13_worker.c (116): exit [Fri Feb 18 17:41:39 2005] [0076:0001] [debug] jk_worker.c (138): about to validate and init worker1 [Fri
Re: Config Query for Mod_Jk...
Greetings again. Congratulations, Jackpot, Bingo, Bravo, Well Done, etc, etc... Tomcat is back working again. Mladen Turk wrote: NormW wrote: OK. Was not that hard :) . See the latest commit for ajp_common.c. You can use worker.worker1.socket_timeout=0 if not like compling. Will update to the latest patch in the morning I guess. Easier to adjust workers.properties for now. Since Netware is returning EINTR on is_connected, we'll need to check for more return values, not just EWOULDBLOCK. Will try to fix that next week. For now don't use socket_timeout 0 on Netware. No problem... set 0 in workers.properties. Tell me if it works now. Consider this done! Regards, Mladen. regards, Norm - 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]
Progress with Jk-dev
Greetings All, Have the mod_jk 1.2.9-dev up and running on NetWare 6 and AP 2.1.3 but doing much beyond a single worker is a little awkward. I can access the Tomcat html manager web app without visible issues. When I access the /admin/ app a few 'odd' things happen..like some icons aren't displayed until a refresh... and if you try to go to 'lower' contexts within the left 'menu', the left pane changes to 'Service Temporarily Unavailable', while the right pane shows the requested data. Beyond that, the status page displays without issue, although some data alignment under their headings would be 'nice'... The current build includes but the 11 most recent patches. Happy developing, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Progress with Jk-dev
Greetings again... Mladen Turk wrote: NormW wrote: 1. Did you include the latest jk_ajp_common.c (Revision: 1.85). There was a bug in previous patch, causing endpoint corruption. 2. Can you check if the _MT_CODE is compiled in. I'm not sure what '(defined(NETWARE) defined(__NOVELL_LIBC__))' inside jk_mt.h actually means. Does it have pthreads.h included? It won't work without some thread locking. The defined NETWARE applies to AP 1.3 and 2.x but _NOVELL_LIBC_ is the method for identifying AP2 AFAIK. The Novell LibC NDK includes pthread.h, so expect it is using it. Just built the mod_jk using the last 8 or so patches, and without changing any settings now get 'internal server error' for both /admin/ and /manager/html/... Also why would one wish to build on 2.1.3? You have mod_proxy_ajp for that already in the core :). Kill multiple stones with a single bird. I rarely get time to do more than build 2.1 so this tries both, and its design is the future soon we hope... :-) Regards, Mladen Regards, Norm - 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]
Config Query for Mod_Jk...
Greetings All... Two days ago I had a configuration that was working to TC5, but after adding in the patches since then, all I get is 'Internal Server Error' which natuarally enough isn't a great deal of help. The /status/ page(s) show fine. My workers.properties looks like: worker.list=lb1,status worker.worker1.type=ajp13 worker.worker1.port=9009 worker.worker1.host=localhost worker.worker2.type=ajp13 worker.worker2.port=9009 worker.worker2.host=10.202.65.190 worker.lb1.type=lb worker.lb1.balanced_workers=worker1,worker2 worker.status.type=status - and the httpd.conf settings look like: - JkShmFile SYS:/Apache21/conf/shm.file JkWorkersFile SYS:/Apache21/conf/workers.properties JkLogFile SYS:/Apache21/logs/mod_jk21.log JkLogLeveldebug JkMount /status/* status JkMount /*.jsp lb1 JkMount /servlet/* lb1 JkMount /admin lb1 JkMount /admin/*lb1 JkMount /managerlb1 JkMount /manager/* lb1 - Anything radically wrong with this before I start poking in the code and the Tomcat? Regards, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Config Query for Mod_Jk...
Good evening... From this I assume: 1) The current config is okay, 2) You didn't get the trace I sent last night. Will do another; apologies for the hassles. Norm Mladen Turk wrote: NormW wrote: Greetings All... Two days ago I had a configuration that was working to TC5, but after adding in the patches since then, all I get is 'Internal Server Error' which natuarally enough isn't a great deal of help. Hi, as said before: Clear the mod_jk.log. Set: JkLogLevel trace start apache GET /admin/ stop apache Post the mod_jk.log Without that I really can not help. Both linux and win32 have no such problems. Regards, Mladen. - 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]
..and on a positive note, NetWare builds fine... on 2.x
Greetings All.. The 'target' keeps moving, but as of three minutes ago NetWare was building fine for Mod_Jk for AP 2.0.53 and 2.1. Still to resolve 1.3 AFAIK. Regards, Norm PS. Are some docs any time soon in the 'development' phase? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/jk/native/common jk_status.c
Greetings All, You will be pleased to hear that my NetWare build for AP2.1 now works, so _development_ for that goes well!! The AP 1.3 build is less happy with the Make files, but am digging further... Norm [EMAIL PROTECTED] wrote: mturk 2005/02/13 23:58:02 Modified:jk/native/common jk_status.c Log: Use correct line endings. Revision ChangesPath 1.4 +7 -3 jakarta-tomcat-connectors/jk/native/common/jk_status.c Index: jk_status.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_status.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- jk_status.c 13 Feb 2005 22:32:58 - 1.3 +++ jk_status.c 14 Feb 2005 07:58:02 - 1.4 @@ -29,8 +29,12 @@ #define HUGE_BUFFER_SIZE (8*1024) -#define JK_STATUS_HEAD !DOCTYPE HTML PUBLIC \-//W3C// \ -#define JK_STATUS_HEND /body\n/html\n +#define JK_STATUS_HEAD !DOCTYPE HTML PUBLIC \-//W3C// \ + DTD HTML 3.2 Final//EN\\n \ + htmlheadtitleJK Status Manager/title/head\n \ + body\n + +#define JK_STATUS_HEND /body\n/html\n typedef struct status_worker status_worker_t; - 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: cvs commit: jakarta-tomcat-connectors/jk/native/common jk_status.c
Greetings All, Sorry about he delay Mladen Turk wrote: NormW wrote: Greetings All, You will be pleased to hear that my NetWare build for AP2.1 now works, so _development_ for that goes well!! I hope for Apache 2.0.x too ;)? Yes - builds without complaint against 2.0.53 source. The AP 1.3 build is less happy with the Make files, but am digging further... Seems that we will need wrapper for setsockopt and gethostbyname, because they are using char* instead const char* as protos. Can't you simply make compiler not to treat the warnings as errors? It would be the most sane resolution of that problem. Must defer to those experienced in CW ways Regards, Mladen Regards, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Jk_map.c build 'problem'?
Greetings and thanks for the feedback... With: DEFINES = -DNETWARE -D_POSIX_SOURCE in NWGNUenvironment.inc, I get the following (there was a lot more of it but this is the first few lines)... ### mwccnlm Compiler: #File: ..\common\jk_shm.c # --- # 49: CRITICAL_SECTION cs; # Error: # declaration syntax error ### mwccnlm Compiler: # 50: }; # Error: ^ # declaration syntax error ### mwccnlm Compiler: # 55: static jk_shm_t jk_shmem = { 0, NULL, -1, 0, NULL}; # Error: ^ # illegal use of incomplete struct/union/class 'struct jk_shm' ### mwccnlm Compiler: # 64: if (jk_shmem.hdr) { # Error: ^ # illegal use of incomplete struct/union/class 'struct jk_shm' Restoring the DEFINES to its original setting reproduces the error noted previously/below. This was a build attempted against Apache2.1 trunk and JTC CVS. Will cast a fuzzy eye at a 1.3 JTC against AP 1.3 trunk... FTM, Norm Günter Knauf wrote: Hi Norm, that's a netware-own problem; please add -D_POSIX_SOURCE to the compiler flags and see if that fixes teh problem; if so then please also check if we get no other strange behaviours - then we have to go other ways. Guenter. Just zipping the compiler over the recent updates to mod_jk and get the error noted below Nice to see the 'spirit' of JK2 lives on anyway... Regards, Norm Compiling ../common/jk_lb_worker.c Compiling ../common/jk_map.c ### mwccnlm Compiler: #File: ..\common\jk_map.c # --- # 413: jk_shm_set_workers_time(statbuf.st_mtime); # Error: ^ # illegal implicit conversion from 'struct timespec' to # 'long' Errors caused tool to abort. make: *** [Release.o/jk_map.o] Error 1 C:\Projects\gccnlm\jakarta-tomcat-connectors\jk\native\apache-2.0 EOT - 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] . - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Jk_map.c build 'problem'?
Greetings All, Get the following errors when attempting a mod_jk build for Apache 1.3 against the 1.3.33 source tree... Compiling ../common/jk_ajp_common.c Compiling ../common/jk_connect.c ### mwccnlm Compiler: #File: ..\common\jk_connect.c # --- # 105: NetDBgethostbyname( nwSocketCtx, (host) ) # Error: ^ # illegal implicit conversion from 'const char *' to # 'char *' ### mwccnlm Compiler: # 195: sizeof(set)); # Error:^ # illegal implicit conversion from 'const char *' to # 'char *' ### mwccnlm Compiler: # 203: sizeof(keep)); # Error: ^ # illegal implicit conversion from 'const char *' to # 'char *' ### mwccnlm Compiler: # 209: sizeof(len))) { # Error:^ # illegal implicit conversion from 'const char *' to # 'char *' ### mwccnlm Compiler: # 219:sizeof(len))) { # Error: ^ # illegal implicit conversion from 'const char *' to # 'char *' Errors caused tool to abort. make: *** [release/jk_connect.o] Error 1 I guess this doesn't 'help' (kind of...) FTM, Norm Günter Knauf wrote: Hi Norm, can you please also do a build for Apache 1.3.x? I guess there this problem doesnt occure because of the clib headers; its only with Apache2 with libc headers. that's a netware-own problem; please add -D_POSIX_SOURCE to the compiler flags and see if that fixes teh problem; if so then please also check if we get no other strange behaviours - then we have to go other ways. Guenter. Just zipping the compiler over the recent updates to mod_jk and get the error noted below Nice to see the 'spirit' of JK2 lives on anyway... Regards, Norm Compiling ../common/jk_lb_worker.c Compiling ../common/jk_map.c ### mwccnlm Compiler: #File: ..\common\jk_map.c # --- # 413: jk_shm_set_workers_time(statbuf.st_mtime); # Error: ^ # illegal implicit conversion from 'struct timespec' to # 'long' Errors caused tool to abort. make: *** [Release.o/jk_map.o] Error 1 C:\Projects\gccnlm\jakarta-tomcat-connectors\jk\native\apache-2.0 EOT - 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] . - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Jk_map.c build 'problem'?
Good evening, OK will watch for an update and retry. Regards, Norm Mladen Turk wrote: NormW wrote: Greetings and thanks for the feedback... With: DEFINES= -DNETWARE -D_POSIX_SOURCE in NWGNUenvironment.inc, I get the following (there was a lot more of it but this is the first few lines)... ### mwccnlm Compiler: #File: ..\common\jk_shm.c # --- # 49: CRITICAL_SECTION cs; This is my bad :(. It should be JK_CRIT_SECT instead. I'll change that. Mladen. - 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: Jk_map.c build 'problem'?
Good evening Mladen, Guenter can verify, but the Build units are the same, ie CodeWarror, but Apache 1.3 uses an 'older' library set called Clib, whereas Apache2 gets a newer library set called LibC. The only other change is that the Makefile 'standard' changed to the NWGNU format. AFAIK there would not be a problem changing the build file for mod_jk on Apache 1.3 over to the NWGNU form, however there would be no change to the library set used, so the getsocketbyname() issue would remain... unless Guenter can see where I've made an error in the build setup... Norm Mladen Turk wrote: NormW wrote: Greetings All, Get the following errors when attempting a mod_jk build for Apache 1.3 against the 1.3.33 source tree... Also, can you see if it will be possible to create NWGNUmakefile for Apache1. Looking at this file for Apache2 seems that it's quite portable, and can be transformed to Apache1. Since Günter created both, perhaps he could help? It look to me that we have two different build systems and compilers for Netware. Regards, Mladen. - 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: Jk_map.c build 'problem'?
Good evening, OK - will be off and delve into Apache 1.3 a little closer. No idea when Guenter might be through this way, but for now seems AP 1.3 is a NetWare issue and AP 2.0 will get another try when Guenter comes or I come by in the morning... if there is an update. :-) Norm Mladen Turk wrote: NormW wrote: Good evening Mladen, Guenter can verify, but the Build units are the same, ie CodeWarror, but Apache 1.3 uses an 'older' library set called Clib, whereas Apache2 gets a newer library set called LibC. The only other change is that the Makefile 'standard' changed to the NWGNU format. AFAIK there would not be a problem changing the build file for mod_jk on Apache 1.3 over to the NWGNU form, however there would be no change to the library set used, so the getsocketbyname() issue would remain... unless Guenter can see where I've made an error in the build setup... In the case we will need the macros to supress the compile time warnings. Perhaps there is some #pragma or compile time option that will at least not mark those warnings as errors? Those are not errors, just wrongly defined funtion proto, and can be ignored. Mladen. - 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: Jk_map.c build 'problem'?
Still morning and the sky is a little lighter... Günter Knauf wrote: Hi, OK - will be off and delve into Apache 1.3 a little closer. No idea when Guenter might be through this way, but for now seems AP 1.3 is a NetWare issue and AP 2.0 will get another try when Guenter comes or I come by in the morning... if there is an update. :-) There have been many updates this morning from MT but not a fix for the problem that I noted last night (unless put in with something else) but will see what happens. I notice one is an update to the NWGNUmakefile, so perhaps I didn't try your -D_POSIX_SOURCE in the right place? I take a look as soon as time permits; and sure the AP13 makefile can be adapted _now_; but when I created the makefile for Apache 1.3 we were building Apache self with the CodeWarrior project file, and mod_jk with Ant. So I created a simple makefile on my own to avoid the Ant hassle, and that worked fine. Only with recent Apache 1.3.31 I think Novell moved to the NWGUNUMakefile build system; and changing the mod_jk makefile to the new build system is already on my TODO list; however since the old makefile still works fine I didnt see high priority yet... Agree completely... work on your priorities not mod_jk's! Guenter. FTM, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Mod_Jk .. build problem changes...
Greetings All, Just updated mod_jk from CVS and now see the following: Compiling ../common/jk_sockbuf.c Compiling ../common/jk_status.c ### mwccnlm Compiler: #File: ..\common\jk_status.c # -- # 34: DTD HTML 3.2 Final//EN\\n \ # Error: ^ # declaration syntax error Errors caused tool to abort. make: *** [Release.o/jk_status.o] Error 1 Darned at this point if I can spot the reason, however in the hope that this was the only one, tweaked the line to continue, and now get: Compiling ../common/jk_util.c Compiling ../common/jk_worker.c ### mwccnlm Compiler: #File: ..\common\jk_worker.c # -- # 52: we-num_of_workers)) { # Error: ^ # illegal implicit conversion from 'int *' to # 'unsigned int *' Errors caused tool to abort. make: *** [Release.o/jk_worker.o] Error 1 Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/jk/native/common jk_status.c
Greetings All, Aahhh - the extra c\r's were terminating the lines Not being the brightess kid on the block, is there any reason this can't just be in one string without the whitespace? Norm [EMAIL PROTECTED] wrote: fuankg 2005/02/13 14:32:58 Modified:jk/native/common jk_status.c Log: removed obsolete empty lines since they break CodeWarrior compiler. Revision ChangesPath 1.3 +2 -7 jakarta-tomcat-connectors/jk/native/common/jk_status.c Index: jk_status.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_status.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- jk_status.c 13 Feb 2005 12:22:31 - 1.2 +++ jk_status.c 13 Feb 2005 22:32:58 - 1.3 @@ -29,14 +29,9 @@ #define HUGE_BUFFER_SIZE (8*1024) -#define JK_STATUS_HEAD !DOCTYPE HTML PUBLIC \-//W3C// \ - DTD HTML 3.2 Final//EN\\n \ - htmlheadtitleJK Status Manager/title/head\n \ - body\n - +#define JK_STATUS_HEAD !DOCTYPE HTML PUBLIC \-//W3C// \ #define JK_STATUS_HEND /body\n/html\n - typedef struct status_worker status_worker_t; struct status_endpoint - 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]
Jk_map.c build 'problem'?
Greetings All, Just zipping the compiler over the recent updates to mod_jk and get the error noted below Nice to see the 'spirit' of JK2 lives on anyway... Regards, Norm Compiling ../common/jk_lb_worker.c Compiling ../common/jk_map.c ### mwccnlm Compiler: #File: ..\common\jk_map.c # --- # 413: jk_shm_set_workers_time(statbuf.st_mtime); # Error: ^ # illegal implicit conversion from 'struct timespec' to # 'long' Errors caused tool to abort. make: *** [Release.o/jk_map.o] Error 1 C:\Projects\gccnlm\jakarta-tomcat-connectors\jk\native\apache-2.0 EOT - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Mod_Jk string type mismatch...
Greetings All, Running the compiler over the recent updates for mod_jk and get the following errors when building for NetWare on Windows... It seems str_config at line 347 in jk_jni_worker.c needs the added 'const' tweak and all compiles fine... const char *str_config = NULL; Regards, Norm Compiling ../common/jk_jni_worker.c ### mwccnlm Compiler: #File: ..\common\jk_jni_worker.c # -- # 374: if (jk_get_worker_classpath(props, p-name, str_config)) { # Error: ^ # illegal implicit conversion from 'char **' to # 'const char **' ### mwccnlm Compiler: # 388: if (jk_get_worker_jvm_path(props, p-name, str_config)) { # Error:^ # illegal implicit conversion from 'char **' to # 'const char **' ### mwccnlm Compiler: # 398: if (jk_get_worker_cmd_line(props, p-name, str_config)) { # Error:^ # illegal implicit conversion from 'char **' to # 'const char **' ### mwccnlm Compiler: # 402: if (jk_get_worker_stdout(props, p-name, str_config)) { # Error: ^ # illegal implicit conversion from 'char **' to # 'const char **' ### mwccnlm Compiler: # 406: if (jk_get_worker_stderr(props, p-name, str_config)) { # Error: ^ # illegal implicit conversion from 'char **' to # 'const char **' ### mwccnlm Compiler: # 410: if (jk_get_worker_sysprops(props, p-name, str_config)) { # Error:^ # illegal implicit conversion from 'char **' to # 'const char **' ### mwccnlm Compiler: # 415: if (jk_get_worker_str_prop(props, p-name, java2opts, str_config)) { # Error: ^ # illegal implicit conversion from 'char **' to # 'const char **' ### mwccnlm Compiler: # 424: if (jk_get_worker_libpath(props, p-name, str_config)) { # Error: ^ # illegal implicit conversion from 'char **' to # 'const char **' Errors caused tool to abort. make: *** [Release.o/jk_jni_worker.o] Error 1 EOT - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [PATCH] NetWare threading using pthreads
Jean-Jacques Clar wrote: OK. I'm also waiting Jean-Jaques Clar for a Netware threading patch. Here you go. NetWare has now a pthreads library. Thank you for your help and patience Mladen. It has been running on a 4 CPUS box for now over an hour. As far as performance, I will benchmark it against 1.2.6 after the holidays break. Attached is the jk_mt.h patched file and the patch. Gunter and Norm, If you have a chance would you please build and run the new mod_jk. Thanks, Index: jk/native/common/jk_mt.h === RCS file: /home/cvspublic/jakarta-tomcat-connectors/jk/native/common/jk_mt.h,v retrieving revision 1.11 diff -u -r1.11 jk_mt.h --- jk/native/common/jk_mt.h 2 Dec 2004 06:50:01 - 1.11 +++ jk/native/common/jk_mt.h 23 Dec 2004 18:57:35 - @@ -28,11 +28,6 @@ #if defined(WIN32) #define jk_gettid()((int)GetCurrentThreadId()) -#elif defined(NETWARE) -#define jk_gettid()((int)GetThreadID()) -#if !defined(__NOVELL_LIBC__) -#define getpid() ((int)GetThreadGroupID()) -#endif /* __NOVELL_LIBC__ */ #endif @@ -40,7 +35,7 @@ * All WIN32 code is MT, UNIX code that uses pthreads is marked by the POSIX * _REENTRANT define. */ -#if defined (WIN32) || defined(_REENTRANT) +#if defined (WIN32) || defined(_REENTRANT) || defined (NETWARE) /* * Marks execution under MT compilation - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Good morning All, Successfully built Mod_Jk with this patch against the latest Apache2.1. Loads on NW6 sp5 with eDir 8.6.2 and Sept LibC, can access TC and NetWare apps without issue. Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Mod_Jk -- Latest CVS - FWIW
Mladen Turk wrote: Mladen Turk wrote: NormW wrote: Greetings All, Just built the latest Mod_Jk from CVS with Apache2.1 on Win for NetWare, and with only the three 'mandatory' settings for worker1 of type, host and port, all I'm getting is Internal Server Error, and the Jk logs do not show good signs of matching URL's to the worker1... You have a syntax error in the workers.properties. Just post those three lines :) Or perhaps you don't have a fourth line ? workers.list=worker1 Without that it will not work. Look at: http://jakarta.apache.org/tomcat/connectors-doc/config/workers.html (Section: Defining Workers) Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] . Greetings, The lines in question: JkWorkerProperty worker.list=worker1,worker2 # Worker1 JkWorkerProperty worker.worker1.type=ajp13 JkWorkerProperty worker.worker1.host=localhost JkWorkerProperty worker.worker1.port=9009 At the present time there are two workers [ajp13] defined but all URL's are aimed at worker1. If there is a bug in these then the parsing is not picking it up... Q. If the JkWorkersFile Directive is not used, is the module creating a default worker, or looking for a workers.properties file on its own initiative? I would hope to see Mod_Jk fail at start if a Jk URL directive is encountered when no workers have been defined. That's why my first .conf JK directives are to create the workers. Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Mod_Jk -- Latest CVS - FWIW
Mladen Turk wrote: NormW wrote: Look at: http://jakarta.apache.org/tomcat/connectors-doc/config/workers.html (Section: Defining Workers) The lines in question: JkWorkerProperty worker.list=worker1,worker2 # Worker1 JkWorkerProperty worker.worker1.type=ajp13 JkWorkerProperty worker.worker1.host=localhost JkWorkerProperty worker.worker1.port=9009 At the present time there are two workers [ajp13] defined but all URL's are aimed at worker1. If there is a bug in these then the parsing is not picking it up... Yes, that's true, cause the worker will not be created. Q. If the JkWorkersFile Directive is not used, is the module creating a default worker, or looking for a workers.properties file on its own initiative? No. There is no such thing as default worker. The workers.properties file is read only when declared with JkWorkersFile. Great! No 'Defaults' means the reposibility to get things right is with the admin, not the programmer in this regard. I would hope to see Mod_Jk fail at start if a Jk URL directive is encountered when no workers have been defined. That's why my first .conf JK directives are to create the workers. Url mappings are not attached to the worker. Actually url mapping (if positive one made) just picks up the worker name. Then the worker is found that must be listed in the 'worker.list' directive. If there is none, then the messages like you posted will emerge in the log file. I agree with you, that we have a problem with mod_jk not showing any error message in the config phase (when server is started). Like said before it'll have to wait until the next release. I have no problem with waiting, just with things not (seeming to) work, especially when NetWare is only a small fish... strangely enough, I did get it working a few times to the /manager/html/ page... Regards, Mladen - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] . Greetings! Thanks for the _very_ quick reply... you must also have problem keeping food out of the keyboard too... Is it correct then that the worker list should also look like: JkWorkerProperty worker.worker.list=worker1,worker2 (?) Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Online JK Docs - Updates needed
Greetings All, Can the online JTC properties docs be brought up to speed with recent changes to the module, please? TIA, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Mod_Jk -- Latest CVS
Greetings All, Just built the latest Mod_Jk from CVS with Apache2.1 on Win for NetWare, and with only the three 'mandatory' settings for worker1 of type, host and port, all I'm getting is Internal Server Error, and the Jk logs do not show good signs of matching URL's to the worker1... Norm [Sat Dec 18 08:00:53 2004] [76:0] [debug] mod_jk.c (1719): Into handler r-proxyreq=0 r-handler=jakarta-servlet r-notes=-834738016 worker=worker1 [Sat Dec 18 08:00:53 2004] [76:0] [debug] jk_worker.c (88): did not find a worker worker1 [Sat Dec 18 08:01:11 2004] [76:0] [debug] jk_uri_worker_map.c (573): Attempting to map URI '/manager/html/' from 5 maps [Sat Dec 18 08:01:11 2004] [76:0] [debug] jk_uri_worker_map.c (583): Attempting to map context URI '/servlet/*' [Sat Dec 18 08:01:11 2004] [76:0] [debug] jk_uri_worker_map.c (583): Attempting to map context URI '/manager/*' [Sat Dec 18 08:01:11 2004] [76:0] [debug] jk_uri_worker_map.c (636): Found a context match worker1 - /manager/ [Sat Dec 18 08:01:11 2004] [76:0] [debug] mod_jk.c (1719): Into handler r-proxyreq=0 r-handler=jakarta-servlet r-notes=-2125483840 worker=worker1 [Sat Dec 18 08:01:11 2004] [76:0] [debug] jk_worker.c (88): did not find a worker worker1 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Online JK Docs - Updates needed
Mladen Turk wrote: NormW wrote: Greetings All, Can the online JTC properties docs be brought up to speed with recent changes to the module, please? They are in sync (well, except some default values). Tomorrow, OK 8)? Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] . Good evening from Au. Thanks for the reply... if that's all that's changed, great! I only build the executable and its a lot easier to read the docs in html than xml... Thanks! Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Mod_Jk -- Latest CVS
Mladen Turk wrote: NormW wrote: Greetings All, Just built the latest Mod_Jk from CVS with Apache2.1 on Win for NetWare, and with only the three 'mandatory' settings for worker1 of type, host and port, all I'm getting is Internal Server Error, and the Jk logs do not show good signs of matching URL's to the worker1... You have a syntax error in the workers.properties. When ever you find: [debug] jk_worker.c (88): did not find a worker worker1 It means: Uri is parsed for worker1, but the worker1 was failed to create. The problem is that when the worker is created (when reading config) the mod_jk.log is not jet present. I'll try to use apache logger for that, but It'll have to wait for 1.2.9. Just post those three lines :) Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] . Good evening [still...], I'm still using the JkWorkerProperty directive in the Apache conf for all the worker settings, but either way ought to be the same (I guess) so will more closely review the settings and see what difference[s] (if any) I can note using both methods. Thanks again, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Recent JTC Doc Update....
Greetings All, A download of the current JTC CVS gives the following error message: cvs server: Updating jakarta-tomcat-connectors/jk/xdocs/common cvs server: nothing known about jakarta-tomcat-connectors/jk/xdocs/common/ajpv13.xml but there is an ajpv13a.xml and ajpv13ext.xml. I deleted the local copy of .\common but a CVS update gives the same error; looks like the CVS system there needs an update? Regards, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/jk/native/common jk_mt.h jk_util.c
[EMAIL PROTECTED] wrote: mturk 2004/11/11 23:46:49 Modified:jk/native/common jk_mt.h jk_util.c Log: Fix Netware getpid/gettid. Revision ChangesPath 1.8 +10 -6 jakarta-tomcat-connectors/jk/native/common/jk_mt.h Index: jk_mt.h === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_mt.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- jk_mt.h 11 Nov 2004 17:04:04 - 1.7 +++ jk_mt.h 12 Nov 2004 07:46:48 - 1.8 @@ -25,6 +25,13 @@ #include jk_global.h + +#if defined(WIN32) +#define jk_gettid()((int)GetCurrentThreadId()) +#elif defined(NETWARE) +#define jk_gettid()((int)GetThreadID()) +#endif + /* * All WIN32 code is MT, UNIX code that uses pthreads is marked by the POSIX * _REENTRANT define. @@ -47,8 +54,6 @@ #define JK_ENTER_CS(x, rc) EnterCriticalSection(x); rc = JK_TRUE; #define JK_LEAVE_CS(x, rc) LeaveCriticalSection(x); rc = JK_TRUE; -#define JK_THREADID() ((int)GetCurrentThreadId()) - #else /* Unix pthreads */ #include pthread.h @@ -67,8 +72,7 @@ #define JK_LEAVE_CS(x, rc)\ if(pthread_mutex_unlock(x)) rc = JK_FALSE; else rc = JK_TRUE; -#define JK_THREADID() ((int)pthread_self()) - +#define jk_gettid() ((int)pthread_self()) #endif /* Unix pthreads */ #else /* Not an MT code */ @@ -79,7 +83,7 @@ #define JK_DELETE_CS(x, rc) rc = JK_TRUE; #define JK_ENTER_CS(x, rc) rc = JK_TRUE; #define JK_LEAVE_CS(x, rc) rc = JK_TRUE; -#define JK_THREADID() 0 +#define jk_gettid() 0 #endif /* Not an MT code */ 1.36 +3 -3 jakarta-tomcat-connectors/jk/native/common/jk_util.c Index: jk_util.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_util.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- jk_util.c 11 Nov 2004 17:06:06 - 1.35 +++ jk_util.c 12 Nov 2004 07:46:48 - 1.36 @@ -272,11 +272,11 @@ #ifdef USE_SPRINTF /* until we get a snprintf function */ if (line) used += sprintf(buf[used], [%d:%d] , getpid(), -JK_THREADID()); +jk_gettid()); #else if (line) used += snprintf(buf[used], HUGE_BUFFER_SIZE, [%d:%d] , - getpid(), JK_THREADID()); + getpid(), jk_gettid()); #endif if (used 0) { return 0; /* [V] not sure what to return... */ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] . Greetings, Sad to say, the latest CVS jk_util.c still contains, at lines 275 and 279, two references to 'getpid', one of which (not sure which) is still causing CW to abort when building for Apache 1.3. Apache-2.x mod_jk(s) build without issue because the build scripts include hooks into the Apache 2.x source and pick up the 'getpid' definition from there. The os.h (for Apache 1.3) has a definition for 'getpid' as follows: #define getpid() ((pid_t)GetThreadGroupID()) Unfortunately the GetThreadGroupID() isn't part of LibC. So, another patch is attached, which adapts jk_mt.h for NetWare, and have been able to successfully build for Apache 2.0, 2.1 and Apache 1.3 using this. If this is the best solution for you or NetWare I am unable to say. Regards, Norm --- jk_mt.h.orig2004-11-12 20:10:05.0 +1100 +++ jk_mt.h 2004-11-12 21:11:17.0 +1100 @@ -29,6 +29,9 @@ #if defined(WIN32) #define jk_gettid()((int)GetCurrentThreadId()) #elif defined(NETWARE) +#if !defined(__NOVELL_LIBC__) +#define getpid() ((pid_t)GetThreadGroupID()) +#endif #define jk_gettid()((int)GetThreadID()) #endif --- jk_mt.h.orig2004-11-12 20:10:05.0 +1100 +++ jk_mt.h 2004-11-12 21:11:17.0 +1100 @@ -29,6 +29,9 @@ #if defined(WIN32) #define jk_gettid()((int)GetCurrentThreadId()) #elif defined(NETWARE) +#if !defined(__NOVELL_LIBC__) +#define getpid() ((pid_t)GetThreadGroupID()) +#endif #define jk_gettid()((int)GetThreadID()) #endif - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/jk/native/common jk_mt.h
[EMAIL PROTECTED] wrote: mturk 2004/11/12 02:56:04 Modified:jk/native/common jk_mt.h Log: Add getpid for Netware without __NOVELL_LIBC__ Revision ChangesPath 1.9 +5 -1 jakarta-tomcat-connectors/jk/native/common/jk_mt.h Index: jk_mt.h === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_mt.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- jk_mt.h 12 Nov 2004 07:46:48 - 1.8 +++ jk_mt.h 12 Nov 2004 10:56:03 - 1.9 @@ -30,7 +30,11 @@ #define jk_gettid()((int)GetCurrentThreadId()) #elif defined(NETWARE) #define jk_gettid()((int)GetThreadID()) +#if !defined(__NOVELL_LIBC__) +#define getpid() ((int)GetThreadGroupID()) +#endif /* __NOVELL_LIBC__ */ #endif + /* * All WIN32 code is MT, UNIX code that uses pthreads is marked by the POSIX - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] . Thanks and Good Night from Oz! Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/jk/native/common jk_mt.h jk_util.c
Mladen Turk wrote: NormW wrote: +#if !defined(__NOVELL_LIBC__) +#define getpid() ((pid_t)GetThreadGroupID()) +#endif Committed, thanks! Can you confirm that we can compile on Netware now? Regards, Mladen. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] . Good morning, Pleased to advise that all builds fine for NetWare with AP1.3,3.0 and 2.1. Any progress on some docs? Would like to start some testing in earnest. Regards, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Recent updates to Mod_Jk on NetWare ;-(
Mladen Turk wrote: NormW wrote: Good evening All, Following the recent CVS updates a build of Mod_Jk on Windows using CW for NetWare produces the following... # - # 293: __FUNCTION__ ::service sticky_session=%d\n, I was afraid of that :(. GCC and MSVC has a __FUNCTION__ macro, but CW apparently doesn't. Are you aware of the predefined macros for CW? Perhaps __FUNC__ like on C99? MT. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] . Good evening, Nothing like _ALL_ macro's (pun intended). A search of the CLIB/LIBC library source tree finds no match for __FUNC__. I've placed a question on the Novell LibC forum but Murphy's Law of Watched Kettles is in operation. Surely I can't be the only NetWare user watching this considering Novell use Mod_Jk in the Tomcat apps... For the minute, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Recent updates to Mod_Jk on NetWare ;-(
Good evening All, Following the recent CVS updates a build of Mod_Jk on Windows using CW for NetWare produces the following... Compiling ../common/jk_ajp_common.c Compiling ../common/jk_connect.c Compiling ../common/jk_context.c Compiling ../common/jk_jni_worker.c Compiling ../common/jk_lb_worker.c ### mwccnlm Compiler: #File: ..\common\jk_lb_worker.c # - # 293: __FUNCTION__ ::service sticky_session=%d\n, # Error: ^ # ',' expected [one of several - the first module containing the __FUNCTION__ object] The major gripe seems to be that __FUNCTION__ is an unknown. If this is a 'standard' for Unix builds it might need a local definition for builds on NetWare... I'll drop a message in the LibC forum and see what's known as there is nothing in either CLIB or LIBC libraries that I can find. For the minute, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Newest JK commits
Mladen Turk wrote: NormW wrote: Missed a patch perhaps? A build on Apache 2.1 shows symbols F_GETFL, F_SETFL as undefined and a text search through the JTC source tree finds the only references in jk_connect.c Norm Seems that we are missing header on Netware. IMO the F_GETFL/F_SETFL are defined inside nks/fsio.h, correct? I have added the needed header to jk_global.h. Can you check that? If it still doesn't compile can you figure out the needed header files. MT. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] . Good evening, From a 'quick' check, F_GETFL and F_SETFL are in fcntl.h, and can get passed the previous error by just adding fcntl.h on its own at the same place you did (seems errno.h isn't required at this point, but so far I'm just trying a build with 2.1). However, I now get the following error: Generating Release\mod_jk_link.opt Linking Release/mod_jk.nlm ### mwldnlm Linker Error: # Undefined symbol: 'jk_map_free' # referenced from 'jk_apr_pool_cleanup' in mod_jk.o # referenced from 'jk_apr_pool_cleanup' in mod_jk.o # referenced from 'jk_apr_pool_cleanup' in mod_jk.o A text search of the jtc source tree fails to find any reference to where this is definded, which from its prefix, I assume is supposed to be in there somewhere... Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Newest JK commits
NormW wrote: Mladen Turk wrote: NormW wrote: Missed a patch perhaps? A build on Apache 2.1 shows symbols F_GETFL, F_SETFL as undefined and a text search through the JTC source tree finds the only references in jk_connect.c Norm Seems that we are missing header on Netware. IMO the F_GETFL/F_SETFL are defined inside nks/fsio.h, correct? I have added the needed header to jk_global.h. Can you check that? If it still doesn't compile can you figure out the needed header files. MT. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] . Good evening, From a 'quick' check, F_GETFL and F_SETFL are in fcntl.h, and can get passed the previous error by just adding fcntl.h on its own at the same place you did (seems errno.h isn't required at this point, but so far I'm just trying a build with 2.1). However, I now get the following error: Generating Release\mod_jk_link.opt Linking Release/mod_jk.nlm ### mwldnlm Linker Error: # Undefined symbol: 'jk_map_free' # referenced from 'jk_apr_pool_cleanup' in mod_jk.o # referenced from 'jk_apr_pool_cleanup' in mod_jk.o # referenced from 'jk_apr_pool_cleanup' in mod_jk.o A text search of the jtc source tree fails to find any reference to where this is definded, which from its prefix, I assume is supposed to be in there somewhere... Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] . So goes another day. Greetings, Attached are two diff's that, along with the jk_map_free{} updates now let mod_jk build for apache 1.3.33, 2.0.52 and 2.1. 1. The fcntl.h is needed for both apache 1.3 (using CLIB) and 2.x using LibC, and there is a fcntl.h accessible in both libraries. The error.h proved to be unrequired AFAICT and the patch removes it. 2. The uint32_t appears, AFAICT, only referenced within the Apache2 build, where most references use apr_uint32_t... so patch 2 to jk_md5.h provides an alternate (same) definiton normally exported in the Apache2 build but only makes this available when not using LIBC, ie when building Apache 1.3. The built nlm's were 'trialed' on a NetWare platform and no problems access Tomcat were experienced during a brief test. Prudence suggests a more experienced NetWare peron might want to check these patches over, but for the moment at least, these seem to work. Norm jk_global.h --- jk_global.h.orig2004-11-09 20:17:04.0 +1100 +++ jk_global.h 2004-11-10 10:44:21.0 +1100 @@ -65,14 +65,13 @@ #include unistd.h #if defined(NETWARE) defined(__NOVELL_LIBC__) #include novsock2.h -#include nks/fsio.h -#include nks/errno.h #define __sys_socket_h__ #define __netdb_h__ #define __netinet_in_h__ #define HAVE_VSNPRINTF #define HAVE_SNPRINTF #endif +#include fcntl.h #include netdb.h #include netinet/in.h #include sys/socket.h jk_md5.h --- jk_md5.h.orig 2004-11-09 06:24:25.0 +1100 +++ jk_md5.h2004-11-10 10:28:52.0 +1100 @@ -60,8 +60,12 @@ #ifdef WIN32 typedef DWORD JK_UINT4; #else +#if defined(NETWARE) !defined(__NOVELL_LIBC__) +typedef unsigned long int JK_UINT4; +#else typedef uint32_t JK_UINT4; #endif +#endif /* MD5 context. */ typedef struct --- jk_md5.h.orig 2004-11-09 06:24:25.0 +1100 +++ jk_md5.h2004-11-10 10:28:52.0 +1100 @@ -60,8 +60,12 @@ #ifdef WIN32 typedef DWORD JK_UINT4; #else +#if defined(NETWARE) !defined(__NOVELL_LIBC__) +typedef unsigned long int JK_UINT4; +#else typedef uint32_t JK_UINT4; #endif +#endif /* MD5 context. */ typedef struct --- jk_global.h.orig2004-11-09 20:17:04.0 +1100 +++ jk_global.h 2004-11-10 10:44:21.0 +1100 @@ -65,14 +65,13 @@ #include unistd.h #if defined(NETWARE) defined(__NOVELL_LIBC__) #include novsock2.h -#include nks/fsio.h -#include nks/errno.h #define __sys_socket_h__ #define __netdb_h__ #define __netinet_in_h__ #define HAVE_VSNPRINTF #define HAVE_SNPRINTF #endif +#include fcntl.h #include netdb.h #include netinet/in.h #include sys/socket.h - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Newest JK commits
Mladen Turk wrote: Hi all, I've done some JK commits that I've been testing for a long time. The major addition is socket timeout that was missing, causing couple of minutes delays on some platforms if tomcat was down. Also I've back ported the load balance algorithm from proxy_balancer, that actually does what it should. For example the A:lb_factor=5 and B:lb_factor=1 will now give five times more requests to host A. I have also changed one very misleading directive (socket_timeout) to recycle_timeout. The socket_timeout directive is now what it should be (the timeout for the socket), while the recycle_timeout is the inactive socket timeout. I have also revert Jean-Frederic's latest map_free changes (by mistake). Further more IMO we should prefix all public functions using jk_. That's about it. I have tested all patches on unix and win32. What I'd like to see is if I broke something on AIX (Henry ?) and Netware (Norm, Guenter?) Cheers, MLaden. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] . Good morning, Missed a patch perhaps? A build on Apache 2.1 shows symbols F_GETFL, F_SETFL as undefined and a text search through the JTC source tree finds the only references in jk_connect.c Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: New Mod_Proxy - some testing/looking
Good evening Bill, All... Please direct these comments to [EMAIL PROTECTED] - b.t.w., you can check out the latest httpd-2.0 HEAD and pick up the entire proxy solution (you must explicitly --enable-proxy-ajp and have the ajplib sources there too.) Someone want to take a wack at NormW's observations? Bill, thanks for the interest... I can say that the 'problem' noted in proxy_ftp.c has been attended with a recent update from Mladen. A build on the current 2.1 CVS shows (for NetWare): - mod_proxy.c having trouble finding mod_status.h (in ../modules/generators), - the same problem mentioned previously with proxy_connect.c, (Errors at 375 see 26, 80) Bypassing these I now get: Calling NWGNUproxyftp Generating Release\proxyftp_cc.opt Compiling proxy_ftp.c Compiling proxy_util.c Compiling ../arch/netware/libprews.c Generating Release\proxyftp_link.opt Linking Release/proxyftp.nlm ### mwldnlm Linker Error: # Undefined symbol: 'ap_proxy_ssl_enable' # referenced from 'ap_proxy_connection_create' in proxy_util.o ### mwldnlm Linker Error: # Undefined symbol: 'ap_proxy_ssl_disable' # referenced from 'ap_proxy_connection_create' in proxy_util.o As noted above, this is on a NetWare build... Norm At 02:31 AM 8/11/2004, NormW wrote: Greetings All, 1. The testing. Trying a build of the current CVS of the new (ajp) proxy modules and get the following error: #File: proxy_ftp.c # #1896: proxy_hook_scheme_handler(ap_proxy_ftp_handler, NULL, NULL, APR_HOOK_MIDDLE); # Error: ^ # illegal implicit conversion from 'int (struct request_rec *, struct *, char *, const char *, unsigned short)' to # 'int (*)(struct request_rec *, struct proxy_worker *, struct *, char *, const char *, unsigned short)' There is a similar issue in proxy_connect.c at line 374. The one module that does build without issue is proxy_http.c. A check of the coding in proxy_http.c shows a handler structure of: int ap_proxy_http_handler(request_rec *r, proxy_worker *worker, proxy_server_conf *conf, char *url, const char *proxyname, apr_port_t proxyport); whereas those in proxy_ftp and proxy_connect.c have: int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf, char *url, const char *proxyhost, apr_port_t proxyport); If I add the proxy_worker *worker to both proxy_ftp and proxy_connect structures they build without issue. Any comments please? 2. The looking. In proxy_ftp.c, can the const char *proxyhost be changed to const char *proxyname for consistency please? Regards, Norm - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: New Mod_Proxy - some testing/looking
Good morning, NormW wrote: Good evening Bill, All... Please direct these comments to [EMAIL PROTECTED] - b.t.w., you can check out the latest httpd-2.0 HEAD and pick up the entire proxy solution (you must explicitly --enable-proxy-ajp and have the ajplib sources there too.) Someone want to take a wack at NormW's observations? Bill, thanks for the interest... I can say that the 'problem' noted in proxy_ftp.c has been attended with a recent update from Mladen. A build on the current 2.1 CVS shows (for NetWare): - mod_proxy.c having trouble finding mod_status.h (in ../modules/generators), - the same problem mentioned previously with proxy_connect.c, (Errors at 375 see 26, 80) Bypassing these I now get: Calling NWGNUproxyftp Generating Release\proxyftp_cc.opt Compiling proxy_ftp.c Compiling proxy_util.c Compiling ../arch/netware/libprews.c Generating Release\proxyftp_link.opt Linking Release/proxyftp.nlm ### mwldnlm Linker Error: # Undefined symbol: 'ap_proxy_ssl_enable' # referenced from 'ap_proxy_connection_create' in proxy_util.o ### mwldnlm Linker Error: # Undefined symbol: 'ap_proxy_ssl_disable' # referenced from 'ap_proxy_connection_create' in proxy_util.o As noted above, this is on a NetWare build... The code has been moved to httpd use [EMAIL PROTECTED] Both routine are in mod_proxy.c... Something wrong in the build? * Okay - the move to httpd.apache.org duly noted. I had originally been responding to the builds of the versions in JTC/ajp, which is why I posted here. Thanks, Norm Norm At 02:31 AM 8/11/2004, NormW wrote: Greetings All, 1. The testing. Trying a build of the current CVS of the new (ajp) proxy modules and get the following error: #File: proxy_ftp.c # #1896: proxy_hook_scheme_handler(ap_proxy_ftp_handler, NULL, NULL, APR_HOOK_MIDDLE); # Error: ^ # illegal implicit conversion from 'int (struct request_rec *, struct *, char *, const char *, unsigned short)' to # 'int (*)(struct request_rec *, struct proxy_worker *, struct *, char *, const char *, unsigned short)' There is a similar issue in proxy_connect.c at line 374. The one module that does build without issue is proxy_http.c. A check of the coding in proxy_http.c shows a handler structure of: int ap_proxy_http_handler(request_rec *r, proxy_worker *worker, proxy_server_conf *conf, char *url, const char *proxyname, apr_port_t proxyport); whereas those in proxy_ftp and proxy_connect.c have: int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf, char *url, const char *proxyhost, apr_port_t proxyport); If I add the proxy_worker *worker to both proxy_ftp and proxy_connect structures they build without issue. Any comments please? 2. The looking. In proxy_ftp.c, can the const char *proxyhost be changed to const char *proxyname for consistency please? Regards, Norm - 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] - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
New Mod_Proxy - some testing/looking
Greetings All, 1. The testing. Trying a build of the current CVS of the new (ajp) proxy modules and get the following error: #File: proxy_ftp.c # #1896: proxy_hook_scheme_handler(ap_proxy_ftp_handler, NULL, NULL, APR_HOOK_MIDDLE); # Error: ^ # illegal implicit conversion from 'int (struct request_rec *, struct *, char *, const char *, unsigned short)' to # 'int (*)(struct request_rec *, struct proxy_worker *, struct *, char *, const char *, unsigned short)' There is a similar issue in proxy_connect.c at line 374. The one module that does build without issue is proxy_http.c. A check of the coding in proxy_http.c shows a handler structure of: int ap_proxy_http_handler(request_rec *r, proxy_worker *worker, proxy_server_conf *conf, char *url, const char *proxyname, apr_port_t proxyport); whereas those in proxy_ftp and proxy_connect.c have: int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf, char *url, const char *proxyhost, apr_port_t proxyport); If I add the proxy_worker *worker to both proxy_ftp and proxy_connect structures they build without issue. Any comments please? 2. The looking. In proxy_ftp.c, can the const char *proxyhost be changed to const char *proxyname for consistency please? Regards, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
PATCH \jk\native2\common\jk_worker_status.c - minimising calls to jkprintf()
Greetings All, I haven't given up on a jkprint{} buffer but as an interim 'solution', the patch below reduces calls to jkprint() in the four functions shown: _displayStat from 10 to 4, _displayAggregate from 8 to 5, _displayEndpointInfo from 7 to 5, _displayScoreboardInfo from 11 to 8, while leaving the code quite legible. It also supplys two missing /tr tags and capitalises some display fields. http://normw.gknw.com/mod_jk2/patches/jk_worker_status.c.diff If this is acceptable will continue further. Norm --- --- jk_worker_status.c.orig 2004-05-08 07:05:53.0 +1000 +++ jk_worker_status.c 2004-06-16 11:12:31.0 +1000 @@ -52,19 +52,19 @@ unsigned long maxTime = *maxTimeP; char ctimeBuf[APR_CTIME_LEN]; -s-jkprintf(env, s, trtd%d/tdtd%d/tdtd%d/td\n, -stat-workerId, stat-reqCnt, stat-errCnt); -s-jkprintf(env, s, td%s/td\n, JK_CHECK_NULL(stat-active)); +s-jkprintf(env, s, trtd%d/tdtd%d/tdtd%d/tdtd%s/td\n, +stat-workerId, +stat-reqCnt, +stat-errCnt, +JK_CHECK_NULL(stat-active)); totalReq += stat-reqCnt; totalErr += stat-errCnt; apr_ctime(ctimeBuf, stat-connectedTime); -s-jkprintf(env, s, td%s/td\n, ctimeBuf); - -s-jkprintf(env, s, td%ld/td\n, -(long)apr_time_as_msec(stat-totalTime)); -s-jkprintf(env, s, td%ld/td\n, +s-jkprintf(env, s, td%s/tdtd%ld/tdtd%ld/td\n, +ctimeBuf, +(long)apr_time_as_msec(stat-totalTime), (long)apr_time_as_msec(stat-maxTime)); if (stat-reqCnt + stat-errCnt 0) @@ -76,16 +76,14 @@ s-jkprintf(env, s, td-/td\n); apr_ctime(ctimeBuf, stat-startTime); -s-jkprintf(env, s, td%s/td\n, ctimeBuf); -s-jkprintf(env, s, td%ld/td\n, -(long)apr_time_as_msec(stat-jkStartTime - stat-startTime)); -s-jkprintf(env, s, td%ld/td\n, +s-jkprintf(env, s, td%s/tdtd%ld/tdtd%ld/td/tr\n, +ctimeBuf, +(long)apr_time_as_msec(stat-jkStartTime - stat-startTime), (long)apr_time_as_msec(stat-endTime - stat-startTime)); totalTime += (long)stat-totalTime; if (maxTime stat-maxTime) maxTime = (long)stat-maxTime; -s-jkprintf(env, s, /tr\n); *maxTimeP = maxTime; *totalTimeP = totalTime; @@ -104,23 +102,21 @@ s-jkprintf(env, s, Totals:\n); s-jkprintf(env, s, -table bordertrthReq/ththErr/ththMax/ththAvg/th/tr); - -s-jkprintf(env, s, trtd%d/td\n, totalReq); -s-jkprintf(env, s, td%d/td\n, totalErr); +table border\ntrthReq/ththErr/ththMax/ththAvg/th/tr); -s-jkprintf(env, s, td%ld/td\n, apr_time_as_msec(maxTime)); +s-jkprintf(env, s, trtd%d/tdtd%d/tdtd%ld/td\n, +totalReq, +totalErr, +apr_time_as_msec(maxTime)); if (totalErr + totalReq 0) { unsigned long avg = apr_time_as_msec(totalTime / (totalReq + totalErr)); -s-jkprintf(env, s, td%ld/td\n, avg); +s-jkprintf(env, s, td%ld/td/tr\n/table\n, avg); } else { -s-jkprintf(env, s, td-/td\n); +s-jkprintf(env, s, td-/td/tr\n/table\n); } - -s-jkprintf(env, s, /tr/table\n); } /** Information for the internal endpoints ( in this process ). @@ -138,15 +134,10 @@ unsigned long totalTime = 0; unsigned long maxTime = 0; -s-jkprintf(env, s, h2Endpoint info ( no shm )/h2\n); - -s-jkprintf(env, s, table border\n); - -s-jkprintf(env, s, trthWorker/ththReq/ththErr/th); -s-jkprintf(env, s, thLastReq/th\n); -s-jkprintf(env, s, - thConnectionTime/ththTotalTime/ththMaxTime/ththAvgTime/th) ; -s-jkprintf(env, s, thReqStart/thth+jk/thth+end/th); +s-jkprintf(env, s, h2Endpoint Info ( no shm )/h2\ntable border\n); +s-jkprintf(env, s, trthWorker/ththReq/ththErr/ththLastReq/th\n); +s-jkprintf(env, s, thConnectionTime/ththTotalTime/ththMaxTime/th); +s-jkprintf(env, s, thAvgTime/ththReqStart/thth+JK/thth+End/th/tr); for (i = 0; i env-_objects-size(env, env-_objects); i++) { jk_bean_t *mbean = env-_objects-valueAt(env, env-_objects, i); @@ -192,7 +183,7 @@ return; } -s-jkprintf(env, s, h2Scoreboard info (ver=%d slots=%d)/h2\n, +s-jkprintf(env, s, h2Scoreboard Info (Ver=%d Slots=%d)/h2\n, wenv-shm-head-lbVer, wenv-shm-head-lastSlot); s-jkprintf(env, s, a href='jkstatus?scoreboard.reset'reset/a\n); @@ -209,17 +200,14 @@ /* This is an endpoint slot */ void *data = slot-data; -s-jkprintf(env, s, trth colspan='4'%s/th\n, -JK_CHECK_NULL(slot-name)); -s-jkprintf(env, s, thCnt=%d/ththsize=%d/th\n, -slot-structCnt, slot-structSize); - -s-jkprintf(env, s, -trthWorker/ththReq/ththErr/th); -
PATCH (Proposed) jk\native2\common\jk_worker_status.c - Modified service() routine, command structure.
Greetings All, The link below is a proposed diff patch to jk_worker_status.c, modifying the 'service()' routine, to do the following: http://normw.gknw.com/patches/jk_worker_status.c.diff - implement a single point of entry and exit so that all commands call 's-afterRequest(env, s)' routine on exit, - all html-based commands now have the 'links' at the top of the page, - apply classes to some html tags for more specific format control in style sheets if required, - the 'scoreboard' link is replaced by an 'endpoints=' link for platforms not having SHM, - provide for an 'all=' option alluded to in earlier versions of this module, content presently undefined, - provide for a 'help' option, content presently undefined. Help could take the form of an html table or an external file if required, - resetScoreboard() now returns true or false if SHM is available, and the related command now displays the correct message, - if an 'update' occurs, the message is displayed below the html 'links' so the links don't move up and down, - unknown status commands return an error message rather that just display the 'default' page. The diff file makes all this difficult to see; below is pseudo-code of the revised service() structure. The changes have been successfully compiled and tested to work as expected on a NetWare platform. Norm --- if query=NULL, query='def' /* default */ ... * Display response headers and stylesheet if required. * Test for update, log result and inc lbver if SHM installed * Check for text commands if query='dmp', dmp() else if query='lst', lst() else if query='qry', qry() else { * Output html screen heading and links if update, if SHM, message('Update') else message('No SHM') if query='get', get() else if query='set', set() else if query='inv', invoke() else if query='cfgOrig', cfgOrig() else if query='cfgParsed', cfgParsed() else if query='scoreboard.reset', reset() else if query='rld', if SHM, message('Reload') else message('No SHM') else if query='scoreboard', scoreboard() else if query='endpoints', endpoints() else if query='all', message('Undefined') else if query='def', default data else if query='help', message('Undefined') else message('Unknown command') } /* Tidy up and exit. */ s-afterRequest(env, s); --- --- jk_worker_status.c.orig 2004-05-08 07:05:53.0 +1000 +++ jk_worker_status.c 2004-05-30 08:58:28.0 +1000 @@ -305,14 +305,14 @@ } } -static void jk2_worker_status_resetScoreboard(jk_env_t *env, +static int jk2_worker_status_resetScoreboard(jk_env_t *env, jk_ws_service_t *s, jk_workerEnv_t *wenv) { int i, j; if (wenv-shm == NULL || wenv-shm-head == NULL) { -return; +return JK_FALSE; } for (i = 0; i wenv-shm-head-lastSlot; i++) { @@ -336,6 +336,7 @@ } } } +return JK_TRUE; } /** That's the 'bulk' data - everything that was configured, after substitution @@ -1106,7 +1107,7 @@ if (s-query_string == NULL) { -s-query_string = ; +s-query_string = def=; } /* Generate the header */ @@ -1157,122 +1158,188 @@ } } -/** Check for Scoreboard Reset. **/ +/* Updating the config is the first thing done. + All other operations happen on the new config. + */ +w-workerEnv-config-update(env, w-workerEnv-config, didUpdate); -if (strcmp(s-query_string, scoreboard.reset) == 0) { -jk2_worker_status_resetScoreboard(env, s, s-workerEnv); -s-jkprintf(env, s, Scoreboard reset\n); -} +env-l-jkLog(env, env-l, JK_LOG_DEBUG, status.update check %d\n, didUpdate); -/** Updating the config is the first thing we do. -All other operations will happen on the update config. - */ -w-workerEnv-config-update(env, w-workerEnv-config, didUpdate); -env-l-jkLog(env, env-l, JK_LOG_DEBUG, - status.update check %d\n, didUpdate); +/* If Updated, raise Scoreboard version to force + a config reload - tell the user a bit later. + */ if (didUpdate) { + jk_shm_t *shm = w-workerEnv-shm; -/* Update the scoreboard's version - all other - jk2 processes will see this and update - */ if (shm != NULL shm-head != NULL) { + shm-head-lbVer++; -s-jkprintf(env, s, Updated config version to %d\n, -shm-head-lbVer); -} -else { -s-jkprintf(env, s, Update detected. No scoreboard.\n); } } +/* Do Text based commands without HTML Header */ -/* Increment the scoreboard version counter, reload */ -if (strncmp(s-query_string, rld=, 4) == 0) { -jk_shm_t *shm =
Re: PATCH - \jk\native2\common\jk_worker_ajp13.c - get/set updates
Good morning Jean from Au, Thanks for the time and consideration. Norm NormW wrote: Greetings All, The link below is an updated diff to the above referenced file, and which does thefollowing: - adds 'debug' into setAttribute() (it was already listed in setAttributeInfo[]), - adds 'max_connections' to 'setAttributeInfo[]' (it was already in setAttribute()), - adds 'max_connections' to 'getAttributeInfo[]', - adds 'max_connections' to 'getAttribute()', - re-orders getAttributeInfo[] to a more logical sequence for status worker display: : balance related items are grouped, : route items are grouped, : connections items are grouped, : 'debug' and 'disabled' at the end of the list (to be in a standard location). Committed thanks. http://normw.gknw.com/patches/jk_worker_ajp13.c.diff2 The code presentation changes have generally be removed from this to ease analysis of changes...(the original diff remains available). The resulting jk_worker_ajp13.c has been successfully compiled and tested to display correctly in status worker pages on a NetWare platform. Norm. - --- jk_worker_ajp13.c.orig 2004-03-22 07:46:09.0 +1100 +++ jk_worker_ajp13.c 2004-05-26 09:43:59.0 +1000 @@ -35,23 +35,26 @@ #include jk_registry.h /* Impl */ -static char *jk2_worker_ajp13_getAttributeInfo[] = -{ lb_factor, lb_value, debug, channel, level, -route, routeRedirect, errorState, graceful, groups, disabled, -epCount, errorTime, connectTimeout, replyTimeout, -prepostTimeout, NULL +/* + * Properties available to Get. + */ +static char *jk2_worker_ajp13_getAttributeInfo[] = { +channel, groups, max_connections, epCount, level, lb_factor, +lb_value, route, routeRedirect,graceful, errorState, errorTime, +connectTimeout, replyTimeout, prepostTimeout, debug, disabled, NULL }; static char *jk2_worker_ajp13_multiValueInfo[] = { group, NULL }; -static char *jk2_worker_ajp13_setAttributeInfo[] = -{ debug, channel, route, routeRedirect, secretkey, group, -graceful, -disabled, lb_factor, level, connectTimeout, replyTimeout, -prepostTimeout, NULL +/* + * Properties available to Set. + */ +static char *jk2_worker_ajp13_setAttributeInfo[] = { +channel, group, secretkey, max_connections, level, lb_factor, +route, routeRedirect, graceful, connectTimeout, replyTimeout, +prepostTimeout, debug, disabled, NULL }; - static void *JK_METHOD jk2_worker_ajp13_getAttribute(jk_env_t *env, jk_bean_t *bean, char *name) @@ -76,6 +79,9 @@ else if (strcmp(name, groups) == 0) { return jk2_map_concatKeys(env, worker-groups, :); } +else if (strcmp(name, max_connections) == 0) { +return jk2_env_itoa(env, worker-maxEndpoints); +} else if (strcmp(name, level) == 0) { return jk2_env_itoa(env, worker-level); } @@ -116,9 +122,8 @@ } } - /* - * Initialize the worker + * Set worker properties. */ static int JK_METHOD jk2_worker_ajp13_setAttribute(jk_env_t *env, jk_bean_t *mbean, @@ -169,6 +174,9 @@ else if (strcmp(name, max_connections) == 0) { ajp13-maxEndpoints = atoi(value); } + else if (strcmp(name, debug) == 0) { +mbean-debug = atoi(value); +} else { return JK_ERR; } - - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
PATCH - \jk\native2\common\jk_worker_ajp13.c - get/set updates
Greetings All, The link below is an updated diff to the above referenced file, and which does thefollowing: - adds 'debug' into setAttribute() (it was already listed in setAttributeInfo[]), - adds 'max_connections' to 'setAttributeInfo[]' (it was already in setAttribute()), - adds 'max_connections' to 'getAttributeInfo[]', - adds 'max_connections' to 'getAttribute()', - re-orders getAttributeInfo[] to a more logical sequence for status worker display: : balance related items are grouped, : route items are grouped, : connections items are grouped, : 'debug' and 'disabled' at the end of the list (to be in a standard location). http://normw.gknw.com/patches/jk_worker_ajp13.c.diff2 The code presentation changes have generally be removed from this to ease analysis of changes...(the original diff remains available). The resulting jk_worker_ajp13.c has been successfully compiled and tested to display correctly in status worker pages on a NetWare platform. Norm. - --- jk_worker_ajp13.c.orig 2004-03-22 07:46:09.0 +1100 +++ jk_worker_ajp13.c 2004-05-26 09:43:59.0 +1000 @@ -35,23 +35,26 @@ #include jk_registry.h /* Impl */ -static char *jk2_worker_ajp13_getAttributeInfo[] = -{ lb_factor, lb_value, debug, channel, level, -route, routeRedirect, errorState, graceful, groups, disabled, -epCount, errorTime, connectTimeout, replyTimeout, -prepostTimeout, NULL +/* + * Properties available to Get. + */ +static char *jk2_worker_ajp13_getAttributeInfo[] = { +channel, groups, max_connections, epCount, level, lb_factor, +lb_value, route, routeRedirect,graceful, errorState, errorTime, +connectTimeout, replyTimeout, prepostTimeout, debug, disabled, NULL }; static char *jk2_worker_ajp13_multiValueInfo[] = { group, NULL }; -static char *jk2_worker_ajp13_setAttributeInfo[] = -{ debug, channel, route, routeRedirect, secretkey, group, -graceful, -disabled, lb_factor, level, connectTimeout, replyTimeout, -prepostTimeout, NULL +/* + * Properties available to Set. + */ +static char *jk2_worker_ajp13_setAttributeInfo[] = { +channel, group, secretkey, max_connections, level, lb_factor, +route, routeRedirect, graceful, connectTimeout, replyTimeout, +prepostTimeout, debug, disabled, NULL }; - static void *JK_METHOD jk2_worker_ajp13_getAttribute(jk_env_t *env, jk_bean_t *bean, char *name) @@ -76,6 +79,9 @@ else if (strcmp(name, groups) == 0) { return jk2_map_concatKeys(env, worker-groups, :); } +else if (strcmp(name, max_connections) == 0) { +return jk2_env_itoa(env, worker-maxEndpoints); +} else if (strcmp(name, level) == 0) { return jk2_env_itoa(env, worker-level); } @@ -116,9 +122,8 @@ } } - /* - * Initialize the worker + * Set worker properties. */ static int JK_METHOD jk2_worker_ajp13_setAttribute(jk_env_t *env, jk_bean_t *mbean, @@ -169,6 +174,9 @@ else if (strcmp(name, max_connections) == 0) { ajp13-maxEndpoints = atoi(value); } + else if (strcmp(name, debug) == 0) { +mbean-debug = atoi(value); +} else { return JK_ERR; } - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: PATCH - jk\native2\common\jk_worker_ajp13.c - get/set updates
Good morning Jean. Agreed. Noticed this when I put the diff in the mail. Will resub it when I get back. Thanks for the feedback. Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
PATCH - jk\xdocs\jk2\configwebcom.xml - document recent status worker change
Greetings All, The link below is a patch for the above referenced document to add in details of the recent change to the status worker regarding style sheets. http://normw.gknw.com/patches/configwebcom.xml.diff The diff has been tested to display correctly in IE6 and Mozilla 1.6. Norm - --- configwebcom.xml.orig 2004-04-15 18:48:43.0 +1000 +++ configwebcom.xml 2004-05-09 08:05:13.0 +1000 @@ -515,8 +515,74 @@ /p /subsection subsection name=status -pWorker that outputs a page with usefull information to monitor JK2/p -pTo use it add a uri component assigned to this worker/p +pAn optional worker that outputs (HTML) pages with useful information to monitor JK2./p +pTo create the worker, add a [status:] or [status:'a name'] section./p +pThe status worker needs no 'local' name, although one can be used if desired./p +pTo access the worker, add a [uri] section with the group= assigned to this worker./p +pThe status worker has the following additional properties: +table +tr +thProperty name/th +thDefault/th +thDescription/th +/tr +tr +tdstyleMode/td +td0 (None)/td +tdDefines if or how the status worker will apply a Style Sheet to returned pages./td +/tr +tr +tdstylePath/td +tdNULL/td +tdFor styleMode=2 or 3, where to find the Style Sheet file./td +/tr +/table +/p +pThe syleMode setting accepts the following values: +table +tr +thstyleMode value/th +thDescription/th +/tr +tr +td0/td +tdNo Style settings are used. (Default)/td +/tr +tr +td1/td +tdUse the built-in Default Style Sheet. It is presented as an 'Internal Style Sheet' to HTML pages./td +/tr +tr +td2/td +tdUse stylePath as a URI context to an external Style Sheet file to be returned by the Web Server./td +/tr +tr +td3/td +tdUse stylePath as a file-system reference to a Style Sheet file. It is presented as an 'Internal Style +Sheet' to HTML pages./td +/tr +/table +/p +pIf the stylePath has not been set, styleMode=2 and 3 are ignored./p +pThe sylePath setting accepts the following values: +table +tr +thstyleMode value/th +thstylePath Description/th +/tr +tr +td2/td +tdA URI context to a file (e.g /styles/jkstatus.css). It must begin with '/' and include the file name./td +/tr +tr +td3/td +tdA file-system path (suitable for the OS in use) plus file name. Also ${serverRoot}/conf/'file name' +allows the file to be located in Apache's conf directory./td +/tr +/table +/p +pIf the Style file cannot be found, Mode 2 records an Apache log entry, while Mode 3 simply ignores the error./p +pFor styleMode=2 and 3, changes in the Style Sheet are effective on the next access to the status worker./p /subsection subsection name=lb pLoadbalanced worker/p - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
PATCH - jk\native2\common\jk_workerEnv.c - use existing DEFINE
Greetings All, The link below is a diff for the above referenced file, to change two occurrences of a literal string to an existing DEFINE in jk_global.h http://normw.gknw.com/patches/jk_workerEnv.c.diff The changes have been successfully compiled and checked in a NetWare environment. Norm - --- jk_workerEnv.c.orig 2004-03-22 07:46:03.0 +1100 +++ jk_workerEnv.c 2004-04-19 11:09:46.0 +1000 @@ -293,7 +293,7 @@ if (configFile == NULL) { wEnv-config-setPropertyString(env, wEnv-config, config.file, - ${serverRoot}/conf/workers2.properties); +JK_WORKER_FILE_DEF); configFile = wEnv-config-file; } @@ -334,7 +334,7 @@ if (configFile == NULL) { wEnv-config-setPropertyString(env, wEnv-config, config.file, - ${serverRoot}/conf/workers2.properties); +JK_WORKER_FILE_DEF); configFile = wEnv-config-file; } - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
PATCH - jk\native2\common\jk_worker_ajp13.c - get/set updates
Greetings All, The link below is a diff to the above referenced file, and which does the following: - adds 'debug' into setAttribute() (it was listed already in setAttributeInfo[]), - adds 'max_connections' to 'setAttributeInfo[]' (it was already in setAttribute()), - adds 'max_connections' to 'getAttributeInfo[]', - adds 'max_connections' to 'getAttribute()', - re-orders getAttributeInfo[] to a more logical sequence for status worker display: : balance related items are grouped, : route items are grouped, : connections items are grouped, : 'debug' and 'disabled' at the end of the list (to be in a standard location). - code presentaion in related areas made same as status worker. http://normw.gknw.com/patches/jk_worker_ajp13.c.diff The resulting jk_worker_ajp13.c has been successfully compiled and tested to display correctly in status worker pages on a NetWare platform. Norm. - jk_worker_ajp13.c.orig 2004-05-12 17:56:30.0 +1000 +++ jk_worker_ajp13.c 2004-05-12 22:00:46.0 +1000 @@ -35,23 +35,23 @@ #include jk_registry.h /* Impl */ -static char *jk2_worker_ajp13_getAttributeInfo[] = -{ lb_factor, lb_value, debug, channel, level, -route, routeRedirect, errorState, graceful, groups, disabled, -epCount, errorTime, connectTimeout, replyTimeout, -prepostTimeout, NULL -}; - +/* + * Object properties having multiple values. + */ static char *jk2_worker_ajp13_multiValueInfo[] = { group, NULL }; -static char *jk2_worker_ajp13_setAttributeInfo[] = -{ debug, channel, route, routeRedirect, secretkey, group, -graceful, -disabled, lb_factor, level, connectTimeout, replyTimeout, -prepostTimeout, NULL +/* + * Properties available to Get. + */ +static char *jk2_worker_ajp13_getAttributeInfo[] = { +channel, groups, max_connections, epCount, level, lb_factor, +lb_value, route, routeRedirect,graceful, errorState, errorTime, +connectTimeout, replyTimeout, prepostTimeout, debug, disabled, NULL }; - +/* + * Get worker properties. + */ static void *JK_METHOD jk2_worker_ajp13_getAttribute(jk_env_t *env, jk_bean_t *bean, char *name) @@ -59,66 +59,101 @@ jk_worker_t *worker = (jk_worker_t *)bean-object; if (strcmp(name, channelName) == 0 || strcmp(name, channel) == 0) { -if (worker-channel != NULL) + +if (worker-channel != NULL) { + return worker-channel-mbean-name; -else +} +else { + return worker-channelName; -} -else if (strcmp(name, route) == 0) { -return worker-route; -} -else if (strcmp(name, routeRedirect) == 0) { -return worker-routeRedirect; -} -else if (strcmp(name, debug) == 0) { -return jk2_env_itoa(env, bean-debug); +} } else if (strcmp(name, groups) == 0) { + return jk2_map_concatKeys(env, worker-groups, :); } +else if (strcmp(name, max_connections) == 0) { + +return jk2_env_itoa(env, worker-maxEndpoints); +} +else if (strcmp(name, epCount) == 0) { + +if (worker-endpointCache == NULL) { + +return 0; +} +return jk2_env_itoa(env, worker-endpointCache-count); +} else if (strcmp(name, level) == 0) { + return jk2_env_itoa(env, worker-level); } -else if (strcmp(name, errorTime) == 0) { -return jk2_env_itoa(env, worker-error_time); +else if (strcmp(name, lb_factor) == 0) { + +return jk2_env_itoa(env, worker-lb_factor); } else if (strcmp(name, lb_value) == 0) { + return jk2_env_itoa(env, worker-lb_value); } -else if (strcmp(name, lb_factor) == 0) { -return jk2_env_itoa(env, worker-lb_factor); +else if (strcmp(name, route) == 0) { + +return worker-route; } -else if (strcmp(name, errorState) == 0) { -return jk2_env_itoa(env, worker-in_error_state); +else if (strcmp(name, routeRedirect) == 0) { + +return worker-routeRedirect; } else if (strcmp(name, graceful) == 0) { + return jk2_env_itoa(env, worker-graceful); } +else if (strcmp(name, errorState) == 0) { + +return jk2_env_itoa(env, worker-in_error_state); +} +else if (strcmp(name, errorTime) == 0) { + +return jk2_env_itoa(env, worker-error_time); +} else if (strcmp(name, connectTimeout) == 0) { + return jk2_env_itoa(env, worker-connect_timeout); } else if (strcmp(name, replyTimeout) == 0) { + return jk2_env_itoa(env, worker-reply_timeout); } else if (strcmp(name, prepostTimeout) == 0) { + return jk2_env_itoa(env, worker-prepost_timeout); } +else if (strcmp(name, debug) == 0) { + +return jk2_env_itoa(env, bean-debug); +} else if (strcmp(name, disabled) ==
PATCH Jk2\configwebcom.xml for recent Style update
Greetings All, The link below is a diff to the above referenced document, to include details for recent Style Sheet variables added to the status worker. AFAICT the changes are acceptable xml based on being similar to existing coding in the file and displayed without error by my IE6sp1 and Mozilla browsers. http://normw.gknw.com/patches/configwebcom.xml.diff Norm --- configwebcom.xml.orig 2004-04-15 18:48:43.0 +1000 +++ configwebcom.xml 2004-05-09 08:05:13.0 +1000 @@ -515,8 +515,74 @@ /p /subsection subsection name=status -pWorker that outputs a page with usefull information to monitor JK2/p -pTo use it add a uri component assigned to this worker/p +pAn optional worker that outputs (HTML) pages with useful information to monitor JK2./p +pTo create the worker, add a [status:] or [status:'a name'] section./p +pThe status worker needs no 'local' name, although one can be used if desired./p +pTo access the worker, add a [uri] section with the group= assigned to this worker./p +pThe status worker has the following additional properties: +table +tr +thProperty name/th +thDefault/th +thDescription/th +/tr +tr +tdstyleMode/td +td0 (None)/td +tdDefines if or how the status worker will apply a Style Sheet to returned pages./td +/tr +tr +tdstylePath/td +tdNULL/td +tdFor styleMode=2 or 3, where to find the Style Sheet file./td +/tr +/table +/p +pThe syleMode setting accepts the following values: +table +tr +thstyleMode value/th +thDescription/th +/tr +tr +td0/td +tdNo Style settings are used. (Default)/td +/tr +tr +td1/td +tdUse the built-in Default Style Sheet. It is presented as an 'Internal Style Sheet' to HTML pages./td +/tr +tr +td2/td +tdUse stylePath as a URI context to an external Style Sheet file to be returned by the Web Server./td +/tr +tr +td3/td +tdUse stylePath as a file-system reference to a Style Sheet file. It is presented as an 'Internal Style +Sheet' to HTML pages./td +/tr +/table +/p +pIf the stylePath has not been set, styleMode=2 and 3 are ignored./p +pThe sylePath setting accepts the following values: +table +tr +thstyleMode value/th +thstylePath Description/th +/tr +tr +td2/td +tdA URI context to a file (e.g /styles/jkstatus.css). It must begin with '/' and include the file name./td +/tr +tr +td3/td +tdA file-system path (suitable for the OS in use) plus file name. Also ${serverRoot}/conf/'file name' +allows the file to be located in Apache's conf directory./td +/tr +/table +/p +pIf the Style file cannot be found, Mode 2 records an Apache log entry, while Mode 3 simply ignores the error./p +pFor styleMode=2 and 3, changes in the Style Sheet are effective on the next access to the status worker./p /subsection subsection name=lb pLoadbalanced worker/p - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: PATCH Status worker (jk_worker_status.c) and Style Sheet.
Good Morning Henri, Thank You. I will write a patch for the configwebcom xml doc sometime this weekend. Enjoy the approaching summer even as we near to winter. Regards, Norm - Original Message - From: Henri Gomez [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Friday, May 07, 2004 9:52 PM Subject: Re: PATCH Status worker (jk_worker_status.c) and Style Sheet. Commited, Thanks. Pretty busy these days for I don't have much time to track jk2 but continue the good work Norm :) NormW a écrit : Greetings All. Not withstanding that the whole Style Sheet thing for the Status Worker has gone quiet, offer here a patch to add the following: 1. Add a char variable to hold a path to the Style Sheet. 2. Add an int variable to define how the style sheet path should be used. 0 = No style info sent at all 1 = Use the built-in default 2 = Use the style path as a URL context to an external Style Sheet 3 = Use the style path as a file in the file system which is sent as an internal style sheet. Both modes 2 and 3 allow evaluation of colour options without restarting the server. Mode 3 also supports the serverRoot macro. 3. The above parameters have been added to jk_worker.h and do not significantly expand it. 4. GetAttributes and SetAttributes have been added to support the above vars plus 'disabled' and 'debug'. 5. The 'lst=' and 'dmp=' commands don't contain HTML formatting and hence return as 'plain/text'. 6. The default of 'all' is changed to an empty string, since the 'all' command is not yet defined as a command. 7. The order of the headers supports a recommendation in RFC 2616. 8. The Status Worker is now closer to a manageable object. http://normw.gknw.com/patches/jk_worker.h.diff http://normw.gknw.com/patches/jk_worker_status.c.diff The changes have been built and tested satisfactory in a NetWare environment at least. If jk_worker_status.c should ever acquire xml output, assume it will need a style sheet also. Norm - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
PATCH Status worker (jk_worker_status.c) and Style Sheet.
Greetings All. Not withstanding that the whole Style Sheet thing for the Status Worker has gone quiet, offer here a patch to add the following: 1. Add a char variable to hold a path to the Style Sheet. 2. Add an int variable to define how the style sheet path should be used. 0 = No style info sent at all 1 = Use the built-in default 2 = Use the style path as a URL context to an external Style Sheet 3 = Use the style path as a file in the file system which is sent as an internal style sheet. Both modes 2 and 3 allow evaluation of colour options without restarting the server. Mode 3 also supports the serverRoot macro. 3. The above parameters have been added to jk_worker.h and do not significantly expand it. 4. GetAttributes and SetAttributes have been added to support the above vars plus 'disabled' and 'debug'. 5. The 'lst=' and 'dmp=' commands don't contain HTML formatting and hence return as 'plain/text'. 6. The default of 'all' is changed to an empty string, since the 'all' command is not yet defined as a command. 7. The order of the headers supports a recommendation in RFC 2616. 8. The Status Worker is now closer to a manageable object. http://normw.gknw.com/patches/jk_worker.h.diff http://normw.gknw.com/patches/jk_worker_status.c.diff The changes have been built and tested satisfactory in a NetWare environment at least. If jk_worker_status.c should ever acquire xml output, assume it will need a style sheet also. Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
PATCH - jk_workerEnv.c - Use jk_global.h defines
Greetings All. The following link is to a patch which changes two string constants in jk_workerEnv.c to use an existing #define in jk_global.h. A copy of the patch is added at the end. The patch has been successfuly applied and compiled on a NetWare platform. http://normw.gknw.com/patches/jk_workerEnv.c.diff Norm - jk_workerEnv.c.orig 2004-03-22 07:46:03.0 +1100 +++ jk_workerEnv.c 2004-04-19 11:09:46.0 +1000 @@ -293,7 +293,7 @@ if (configFile == NULL) { wEnv-config-setPropertyString(env, wEnv-config, config.file, - ${serverRoot}/conf/workers2.properties); +JK_WORKER_FILE_DEF); configFile = wEnv-config-file; } @@ -334,7 +334,7 @@ if (configFile == NULL) { wEnv-config-setPropertyString(env, wEnv-config, config.file, - ${serverRoot}/conf/workers2.properties); +JK_WORKER_FILE_DEF); configFile = wEnv-config-file; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/jk/xdocs/jk2 configwebcom.xml
Good evening... and rats...(kind of). I'd just started putting jk2_get_most_suitable_worker() into pseudocode myself, but glad that it has finally been done in any case. For those that haven't looked at the code, it will come as a surprise to learn the magnitude of the decision making process. Thanks to you and Angus. Norm - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, April 15, 2004 4:32 PM Subject: cvs commit: jakarta-tomcat-connectors/jk/xdocs/jk2 configwebcom.xml mturk 2004/04/14 23:32:33 Modified:jk/xdocs/jk2 configwebcom.xml Log: Update few missing docs. Thanks to Agnus Mezick. Revision ChangesPath 1.17 +109 -37 jakarta-tomcat-connectors/jk/xdocs/jk2/configwebcom.xml Index: configwebcom.xml === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/xdocs/jk2/configwebcom.xml,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- configwebcom.xml 13 Mar 2004 07:33:24 - 1.16 +++ configwebcom.xml 15 Apr 2004 06:32:33 - 1.17 @@ -156,26 +156,26 @@ thDefault/th thDescription/th /tr -tr -tdfile/td -tdNo default value/td -tdName of the file that will be mmapped to use as shared memory, If set to 'anonymous' use the anonymous shered memory/td -/tr -tr -tdsize/td -tdNo default value/td -tdDeprecated. Size of the file./td -/tr -tr -tdslots/td -td256/td -tdNumber of shared memory slots. Set to the number of child processes/td -/tr -tr -tduseMemory/td -td0/td -tdUse process memory instead of shared memory. Useful for single child mpm's/td -/tr +tr +tdfile/td +tdNo default value/td +tdName of the file that will be mmapped to use as shared memory, If set to 'anonymous' use the anonymous shered memory/td +/tr +tr +tdsize/td +tdNo default value/td +tdDeprecated. Size of the file./td +/tr +tr +tdslots/td +td256/td +tdNumber of shared memory slots. Set to the number of child processes/td +/tr +tr +tduseMemory/td +td0/td +tdUse process memory instead of shared memory. Useful for single child mpm's/td +/tr /table /p /section @@ -346,10 +346,18 @@ tr tdlb_factor/td td1/td -td -Load balancing factor to use. At this moment, it'll be set on the worker, -but in future it should be possible to use lb on a channel level. - /td +tdLoad balancing factor to use. The lower the lb_factor the more often that tomcat will get requests but see +level below./td +/tr +tr +tdlevel/td +td1/td +tdWorker Priority. Valid values are 0-3. The functioning workers with the lowest level +will be checked for the lowest lb_value, and if found will be run. The upper level workers are +only checked upon failure of all workers on ALL of the levels below them. This is very +useful for implementing failover withing a cluster. You could set the tomcat server local +on the same machine as the apache instance to level 0 and all of the other workers to level 1. +This would cause apache to only use the external tomcats when the local tomcat is down./td /tr tr tdgroup/td @@ -359,8 +367,13 @@ tr tdtomcatId/td tdAutomatically set to the
Re: Discussion - /jkstatus and xml
Greetings All. It doesn't seem all that many days ago people had thoughts of designing xml, dtd's and related things, yet this thread gets no comment, other than Mladen volunteering more time and work. I don't believe my document includes even 'good' xml, so what has become of better ideas? I've got a modified jk_worker_status.c that outputs the 'default' runtime tables in an xml-like format, and changing the other tables isn't a big deal, however the first task, as I understand it, is to get suitable xml data elements(and a stylesheet I guess).. even if Mladen's 'template' software is adopted. $0.019 Norm - Original Message - From: Mladen Turk [EMAIL PROTECTED] To: 'Tomcat Developers List' [EMAIL PROTECTED] Sent: Wednesday, April 14, 2004 5:15 PM Subject: RE: Discussion - /jkstatus and xml -Original Message- From: NormW Hmmm It seems your proposal has left everyone speechless which could mean either +1 or +0 perhaps... Norm It's probably +0 thought :) Really, I think it's a good solution, that doesn't change the overall appearance of the current implementation. The current one can be embedded as const char * string parsed, but you may have an external file for what ever format you like. The two directives to the [status] should be added and those are 'template' and 'contentType'. Without it's presence the default one will get displayed. I'm using the code for a custom mod_dir that generates the xml directory listings, and it works good enough. It is useful in any situation where you have mixture of key-value pares combined with the collection of key-value pairs generated using loops. MT. If the appropriate solution is to have a template file that can generate what ever content then I have a solution. http://jakarta.apache.org/~mturk/strproc.zip is a simple state template engine with only 13k of code. You can define loop callbacks and have a content what ever you like html, txt or xml. If the template file is the acceptable solution then I can help you integrate that. The gain is to have a single codebase that can generate any type of a content. - 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: cvs commit: jakarta-tomcat-connectors/jk/xdocs/jk2 configwebcom.xml
10,000 apologies! There should be a law against operating a computer while under the influence of haste. But discern you knew who I meant even if I didn't actually type it and I've been on the end of similar typo's myself, so know where you are coming from. Nrom - Original Message - From: Angus Mezick [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Thursday, April 15, 2004 11:09 PM Subject: RE: cvs commit: jakarta-tomcat-connectors/jk/xdocs/jk2 configwebcom.xml AHH NO NOT AGNUS!!! Sigh, such is my life :) --aNGus -Original Message- From: NormW [mailto:[EMAIL PROTECTED] Sent: Thursday, April 15, 2004 5:18 AM To: Tomcat Developers List Subject: Re: cvs commit: jakarta-tomcat-connectors/jk/xdocs/jk2 configwebcom.xml Good evening... and rats...(kind of). I'd just started putting jk2_get_most_suitable_worker() into pseudocode myself, but glad that it has finally been done in any case. For those that haven't looked at the code, it will come as a surprise to learn the magnitude of the decision making process. Thanks to you and Angus. Norm - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, April 15, 2004 4:32 PM Subject: cvs commit: jakarta-tomcat-connectors/jk/xdocs/jk2 configwebcom.xml mturk 2004/04/14 23:32:33 Modified:jk/xdocs/jk2 configwebcom.xml Log: Update few missing docs. Thanks to Agnus Mezick. - 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: Discussion - /jkstatus and xml
Hello again. It looks like a one-sided discussion at the moment. I must admit being a +0 myself, although, from a technical standpoint, I don't get or need a vote. I've finally got the HTML version worked out, and the 'comfort' that knowledge brings is not readily given up. But a few years ago I didn't even know about Apache, so change seems both inevitable and sneaky. And your suggestion bypasses a decision as to what format to include in the JTC source! At this point, (due to lack of response so far) some questions of likely interest are: 1. What development effort the implementation would need, 2. What timeframe it could take, and 3. Is there a document outlining the development of a 'template'. If this went ahead, it seems all questions would need to be answered by you. However, it might be considered 'early days' yet. Norm - Original Message - From: Mladen Turk [EMAIL PROTECTED] To: 'Tomcat Developers List' [EMAIL PROTECTED] Sent: Wednesday, April 14, 2004 5:15 PM Subject: RE: Discussion - /jkstatus and xml -Original Message- From: NormW Hmmm It seems your proposal has left everyone speechless which could mean either +1 or +0 perhaps... Norm It's probably +0 thought :) Really, I think it's a good solution, that doesn't change the overall appearance of the current implementation. The current one can be embedded as const char * string parsed, but you may have an external file for what ever format you like. The two directives to the [status] should be added and those are 'template' and 'contentType'. Without it's presence the default one will get displayed. I'm using the code for a custom mod_dir that generates the xml directory listings, and it works good enough. It is useful in any situation where you have mixture of key-value pares combined with the collection of key-value pairs generated using loops. MT. If the appropriate solution is to have a template file that can generate what ever content then I have a solution. http://jakarta.apache.org/~mturk/strproc.zip is a simple state template engine with only 13k of code. You can define loop callbacks and have a content what ever you like html, txt or xml. If the template file is the acceptable solution then I can help you integrate that. The gain is to have a single codebase that can generate any type of a content. - 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: Discussion - /jkstatus and xml
Hmmm It seems your proposal has left everyone speechless which could mean either +1 or +0 perhaps... Norm - Original Message - From: Mladen Turk [EMAIL PROTECTED] To: 'Tomcat Developers List' [EMAIL PROTECTED] Sent: Monday, April 12, 2004 8:22 PM Subject: RE: Discussion - /jkstatus and xml Hi, -Original Message- From: NormW Good day All. Below is a link to a 'discussion paper' on the future use of xml for /jkstatus pages, and comes at the request of Henri. Any feedback should be to the general forum and not specifically to me. http://normw.gknw.com/jtcdocs/Discuss_XML.txt Thanks for your time, If the appropriate solution is to have a template file that can generate what ever content then I have a solution. http://jakarta.apache.org/~mturk/strproc.zip is a simple state template engine with only 13k of code. You can define loop callbacks and have a content what ever you like html, txt or xml. If the template file is the acceptable solution then I can help you integrate that. The gain is to have a single codebase that can generate any type of a content. MT. - 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: DO NOT REPLY [Bug 28350] - Tomcat with mod_jk does not serve up files with names containing % character
Good morning. Add the _keyword only_ (forwardURIEscaped) in the workerEnv section in workers2.properties. (ie, it is _not_ used in an 'zzz = xxx' format statement. Norm DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=28350. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=28350 Tomcat with mod_jk does not serve up files with names containing % character --- Additional Comments From [EMAIL PROTECTED] 2004-04-12 22:02 --- Okay, JkOptions +ForwardURIEscaped works great, but how do you accomplish the same thing with mod_jk2? My servlets get called with uri's with path-infos containing %'s when I use mod_jk and this option, but they don't get called with mod_jk2 and I can find no such setting noted in the mod_jk2 docs. Is this a gap in mod_jk2? - 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]
Discussion - /jkstatus and xml
Good day All. Below is a link to a 'discussion paper' on the future use of xml for /jkstatus pages, and comes at the request of Henri. Any feedback should be to the general forum and not specifically to me. http://normw.gknw.com/jtcdocs/Discuss_XML.txt Thanks for your time, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jk2 and debug on specials uri
Good evening Henri, Thanks for taking the patch. The pseudo-code (now below) is mostly an 'analysis' of what I would expect JkUriSet to do based on understanding of the process. From this it is mostly a check list of what to expect to find when looking at what the code actually does. In looking at the uri records the current process creates, I noticed the 'name' and 'uri' now lacks the added numbers, yet when I tried the get= command I couldn't retrieve the object; a dmp= showed the uri records still get an object name that has a number added on, which is a little confusing. As mentioned previously, it's my understanding the uri records are meant to aim a url at a designated worker, and if the uri record is first created in workers2.properties then the 'comment' in the mod_jk2.c source that all entries passed in [via jkuriset] are unique clearly _may_ not apply. In that sense the uri objects are much like database records with a primary key that includes the host, port and context... [uri:/examples/*] says to use the 'default' host and port, and if the Location block isn't inside a virtual host directive, then Location /examples/* effectively means the same thing, so there really isn't a need to create an extra uri object As I said, it's mostly meant as a checklist, and is only valid if I understand the requirements. While I would like to be able to code a patch for this, my C skills are such that I limited my pseudo-code to use enough to make it easier to understand it doesn't necessarily make it right. Thanks for the time. Norm NormW wrote: Good afternoon Henri. In visualising the process of JkUriSet, arrived at the following in pseudo-code. Shame I can't translate it to C otherwise I would offer a diff. :-) Regards, Norm JkUriSet property, value /* Only allow inside a Location block */ if (!location block) { log error, JkUriSet not allowed here return CONFIG_ERROR } /* 2 Parameters - property and value */ if (!property or !value) { log error, missing parameter(s) - property and value return CONFIG_ERROR } /* The property must be in the setAttrInfo list */ if(!property in setAttrInfo() ) { log error, property not settable-, property return CONFIG_ERROR } /* Create uri name using host, port, location */ .. () if(!valid name) { log error, missing or invalid data - , host,port,context return CONFIG_ERROR } /* Check for existing uri object - update it or create a new one */ if(exist uri name) { point to it; log warning, using existing uri object - , name } else { status = create_uri() if(status !=OK) { log emerg, create uri object failed - , status return CONFIG_ERROR } set uri object (name,host,port,context,match_type,timing,disabled,debug) if(default_worker != NULL) { set group = default_worker } } /* Set passed property value but first set if it is set already */ if (getAttr(property) != NULL) { log warning, updating existing uri object property - , property,value } if(setAttr(property, value)!=OK) { log error, setting property failed - , property,value return CONFIG_ERROR } return OK. Thanks to send a diff to latest code so I could commit it. - 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: jk2 and debug on specials uri
Good morning Henri, Being 'in between employment' as they say, I do have some hours, but my first step would be to buy a 'small' book to see what it is all about. Beyond general browsing of the Tomcat xdocs I have little experience with the technology and no experience creating an xml document. Provided the task remains open to allcomers and doesn't stop on the assumption that 'the ball is in my court', I can have a look at it if someone gets it finished first, so much the better. Regards, Norm - Original Message - From: Henri Gomez [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Monday, April 05, 2004 10:03 PM Subject: Re: jk2 and debug on specials uri NormW wrote: Good evening Henri, Thanks for taking the patch. The pseudo-code (now below) is mostly an 'analysis' of what I would expect JkUriSet to do based on understanding of the process. From this it is mostly a check list of what to expect to find when looking at what the code actually does. In looking at the uri records the current process creates, I noticed the 'name' and 'uri' now lacks the added numbers, yet when I tried the get= command I couldn't retrieve the object; a dmp= showed the uri records still get an object name that has a number added on, which is a little confusing. As mentioned previously, it's my understanding the uri records are meant to aim a url at a designated worker, and if the uri record is first created in workers2.properties then the 'comment' in the mod_jk2.c source that all entries passed in [via jkuriset] are unique clearly _may_ not apply. In that sense the uri objects are much like database records with a primary key that includes the host, port and context... [uri:/examples/*] says to use the 'default' host and port, and if the Location block isn't inside a virtual host directive, then Location /examples/* effectively means the same thing, so there really isn't a need to create an extra uri object As I said, it's mostly meant as a checklist, and is only valid if I understand the requirements. While I would like to be able to code a patch for this, my C skills are such that I limited my pseudo-code to use enough to make it easier to understand it doesn't necessarily make it right. Thanks Norm. Any patch welcome. Also what about working on an XML version of jkstatus ? Could you save some hours on it ? - 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: Tomcat 5.0.21 - Problems
Good evening Remy. 1. The zip download of Tomcat 5.0.21 includes catalina-admin.jar 31March, 2004 1091237 bytes The zip download of Tomcat 5.0.19 included catalina-admin.jar 23March, 2004 1090525 bytes This file is determined by diff as the only file changed in the /admin application. The file supplied with 5.0.19 works correctly. The file supplied with 5.0.21 produces the effect as shown: * Tomcat Server |_ null (Catalina) |_ null (localhost) Note the word null is actually spelled out on the TC admin screen. 2. Am unaware of how many other ways to shut down Tomcat but thought stop was self-explanatory. This is being tested on a clean install into NetWare with 1.4.1_6 JVM. The last message on the console is: INFO: unregistering logger Catalina: type=logger and the application remains loaded. There's always a chance these are specific to NetWare, in which case your option to ignore them is appropriate. As this _is_ an alpha release, just trying to do a little bit for OpenSource. Norm - Original Message - From: Remy Maucherat [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Sunday, April 04, 2004 8:29 PM Subject: Re: Tomcat 5.0.21 - Problems Remy Maucherat wrote: 2. The admin application shows the following structure: * Tomcat Server |_ null (Catalina) |_ null (localhost) and only displays a partial list of the registered apps. Also see java.lang.NullPointerException - java.net.URLEncoder.encode(URLEncoder.java:185) which might be either cause or effect. No. Actually, I'm always assuming that changes are being tested: this was not the case here, and there was a bad resource bundle lying around, causing the problem. It is very easy to remove. Rémy - 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]
PATCH, uriEnv.c, Add debug and disabled - path
Good morning All. The link below provides a patch to uriEnv.c that does the following: 1. Adds 'debug' and 'disabled' to the get and set properties functions. 2. Removes 'path' from the getAttrInfo list. This patch as been implemented and tested on NetWare using the get= and set= commands of /jkstatus, displays correctly in the /jkstatus uri table and qry= report and updates the configuration file as appropriate. It has not been tested on Linux or Windows 32 platforms, but does 'borrow' from existing functionality in other objects. The path was removed from the getAttrInfo list as it not an actual property of a uri object (check the structure) but on 'get', returns the same value as 'uri'. This removes a redundant column from the uri runtime table in /jkstatus. http://normw.gknw.com/patches/jk_uriEnv.c.diff Norm --- --- jk_uriEnv.c.orig 2004-04-04 18:45:36.0 +1000 +++ jk_uriEnv.c 2004-04-04 19:23:06.0 +1000 @@ -182,12 +182,11 @@ static char *getAttInfo[] = { host, uri, group, context, inheritGlobals, -match_type, -servlet, timing, aliases, path, NULL + match_type, servlet, timing, aliases, debug, disabled, NULL }; static char *setAttInfo[] = { host, uri, group, context, inheritGlobals, -servlet, timing, alias, path, NULL + servlet, timing, alias, path, debug, disabled, NULL }; static char *matchTypes[] = { @@ -242,6 +241,12 @@ else if (strcmp(inheritGlobals, name) == 0) { return jk2_env_itoa(env, uriEnv-inherit_globals); } +else if (strcmp(name, debug) == 0) { +return jk2_env_itoa(env, bean-debug); +} +else if (strcmp(name, disabled) == 0) { +return jk2_env_itoa(env, bean-disabled); +} return NULL; } @@ -297,27 +302,30 @@ else if (strcmp(inheritGlobals, name) == 0) { uriEnv-inherit_globals = atoi(val); } -else { +else if (strcmp(worker, name) == 0) { /* OLD - DEPRECATED */ -if (strcmp(worker, name) == 0) { -uriEnv-workerName = val; -env-l-jkLog(env, env-l, JK_LOG_INFO, +uriEnv-workerName = val; +env-l-jkLog(env, env-l, JK_LOG_INFO, uriEnv.setAttribute() the %s directive is deprecated. Use 'group' instead.\n, name); -} -else if (strcmp(uri, name) == 0) { -jk2_uriEnv_parseName(env, uriEnv, val); -} -else if (strcmp(name, name) == 0) { -jk2_uriEnv_parseName(env, uriEnv, val); -} -else if (strcmp(vhost, name) == 0) { -if (val == NULL) -uriEnv-virtual = NULL; -else -uriEnv-virtual = -uriEnv-pool-pstrdup(env, uriEnv-pool, val); -} +} +else if (strcmp(uri, name) == 0) { +jk2_uriEnv_parseName(env, uriEnv, val); +} +else if (strcmp(name, name) == 0) { +jk2_uriEnv_parseName(env, uriEnv, val); +} +else if (strcmp(vhost, name) == 0) { +if (val == NULL) +uriEnv-virtual = NULL; + else +uriEnv-virtual = uriEnv-pool-pstrdup(env, uriEnv-pool, val); +} +else if (strcmp(name, debug) == 0) { +mbean-debug = atoi(val); +} +else if (strcmp(name, disabled) == 0) { +mbean-disabled = atoi(val); } return JK_OK; } --- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jk2 and debug on specials uri
Good morning All. A little slower than some, plus intervening activities... A check of jk_uriEnv.c shows neither debug or disabled are 'settable' properties, so using a standard set approach (using setAttr) currently isn't possible; perhaps these could be added to the setAttributes list and function? From a JMX viewpoint these should also then be visible via getAttr, in which case they should be at the end of the Info lists so they are at the right hand end of the /jkstatus page uri table Lastly, being able to control these flags during normal service might be of some operational benefit also. (using /jkstatus?set= ). Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tomcat 5.0.21 - Problems
Good morning All. In trying the 5.0.21 alpha release of Tomcat, note two problems:- 1. Passing the 'stop' command initiates unload but the process hangs at the following point - INFO: unregistering logger Catalina: type=logger Also noted in 5.0.19. 2. The admin application shows the following structure: * Tomcat Server |_ null (Catalina) |_ null (localhost) and only displays a partial list of the registered apps. Also see java.lang.NullPointerException - java.net.URLEncoder.encode(URLEncoder.java:185) which might be either cause or effect. Replacing the {HOME}/server/webapps/admin directory with that from release 5.0.19 displays correctly: * Tomcat Server |_ Service (Catalina) |_ Host (localhost) and displays a full list of the registered apps. If someone wants these in bugzilla please advise. Regards, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jk2 and debug on specials uri
Good afternoon Henri. In visualising the process of JkUriSet, arrived at the following in pseudo-code. Shame I can't translate it to C otherwise I would offer a diff. :-) Regards, Norm JkUriSet property, value /* Only allow inside a Location block */ if (!location block) { log error, JkUriSet not allowed here return CONFIG_ERROR } /* 2 Parameters - property and value */ if (!property or !value) { log error, missing parameter(s) - property and value return CONFIG_ERROR } /* The property must be in the setAttrInfo list */ if(!property in setAttrInfo() ) { log error, property not settable-, property return CONFIG_ERROR } /* Create uri name using host, port, location */ .. () if(!valid name) { log error, missing or invalid data - , host,port,context return CONFIG_ERROR } /* Check for existing uri object - update it or create a new one */ if(exist uri name) { point to it; log warning, using existing uri object - , name } else { status = create_uri() if(status !=OK) { log emerg, create uri object failed - , status return CONFIG_ERROR } set uri object (name,host,port,context,match_type,timing,disabled,debug) if(default_worker != NULL) { set group = default_worker } } /* Set passed property value but first set if it is set already */ if (getAttr(property) != NULL) { log warning, updating existing uri object property - , property,value } if(setAttr(property, value)!=OK) { log error, setting property failed - , property,value return CONFIG_ERROR } return OK. -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jk2 and debug on specials uri
Good evening Henri, Wouldn't it be Location /examples/* JkUriSet group lb JkUriSet debug 1 Location or JkSet uri:/examples/*.debug 1 or JkSet2 uri:/examples/* debug 1 AFAIK of the docs. :-) Norm - Original Message - From: Henri Gomez [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Friday, April 02, 2004 4:11 PM Subject: jk2 and debug on specials uri Hi to all, A quick question : I've got the following in a VirtualHost (Apache 2): Location /examples/* JkUriSet group lb Location I'd like to have this /examples/ uri in debug and wonder how to do it. - 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: jk2 and debug on specials uri
Good morning Henri. I was speaking from theory, as the only JkSet/JkUriSet entries that I've used so far are setting the worker and some logger values, and they work without problem. One thing you might see is that the JkUriSet/JkSet/JkSet2 directives only update the actual object referred to and not the configuration space, so these settings are not seen on the 'OrigConf' jkstatus page. Also, if you are looking at this closely, consider what should happen if there is duplication of a uri in both workers2.properties and Apache .conf files. As mentioned previously, if both files contain settings that result in the same uri-name, then a second uri object should be omitted and a log warning created. Similarly, if a conf entry updates a non-NULL value then a log warning would be good for that also. [uri:/examples/*] group=lb:worker1 - Location /examples/* JkUriSet info some details JkUriSet group lb:worker2 /Location should show as 2 warnings: 1. Because the uri object already exists, 2. Because the 'group' setting was updated. Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Discussion - /jkstatus and stylesheets
Good morning All. I've not looked at XML or XSL for that matter, but in either case, hopefully this still means the colour palette/style selection is still external to the JK2 program, which then still requires a 'path' of some kind to find it. As noted in my initial introduction to the thread, this could either be a fixed or (preferably) a programatic one, and if the latter, adding a variable to the [status:] object still remains, IMO, the most logical option. Norm - Original Message - From: Henri Gomez [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Thursday, April 01, 2004 7:57 PM Subject: Re: Discussion - /jkstatus and stylesheets Craig McClanahan wrote: jean-frederic clere wrote: Thorsten Kamann wrote: Hello, Henri Gomez schrieb: Well I didn't like very well the hardcoded way, so I'd like to have it externally. We could : Define a stylesheet property var in workers2.properties, which will contains a full URL and if this var is null, fallback to previous method. Is there a chance the jk provides the status as xml? So the status can checked programmatically. With an nice XSL-Stylesheet I can integrate the status in every monitor page . Your comments? Sounds a good idea to me. Hmm .. separating the view from the model ... now where have I heard that before? :-) No problem for me to provide the result in XML, since I've got friend aroud which could provide me some nice XSL still sheet. Second advantage, the jkstatus could be used by others apps for example for monitoring purposes. +0 for XML (lack of time to works on this ;(). So we should now define a DTD. - 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: cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 mod_jk2.c
Good morning All. In considering the duplication issue mentioned previously, it would seem entirely possible that a specific uri could be given in both workers2.properties and via a JkUriSet entry... therefore shouldn't the JkUriSet function resolve the name to be used for a uri object and first check for a matching object before creating another one? If the object already exists then only 'non-key' properties such as 'info', 'servlet', 'worker' and so on, should be updated by JkUriSet on the existing obect. Thinking out loud. Norm Good morning All. Just tried Jean's recent change to mod_jk2.c and _pleased_ to say JkUriSet now registers correctly the same as a [uri] section, and can access /admin with only a Location in the httpd.conf. I did note there were duplicate uri objects created (based on their name) if the same uri spec was in both files, but in any case this is a lot closer to theory than in the past. Thanks Jean. Norm - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, April 01, 2004 12:22 AM Subject: cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 mod_jk2.c jfclere 2004/03/31 06:22:04 Modified:jk/native2/server/apache2 mod_jk2.c Log: Fix handling of id added in jk2_create_dir_config(). I do not see why we need this id... May because jk2_merge_dir_config() was buggy. That fixes PR 18472 and 28916. Revision ChangesPath 1.82 +33 -16 jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c Index: mod_jk2.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c,v retrieving revision 1.81 retrieving revision 1.82 diff -u -r1.81 -r1.82 --- mod_jk2.c 21 Mar 2004 09:44:30 - 1.81 +++ mod_jk2.c 31 Mar 2004 14:22:04 - 1.82 @@ -221,14 +221,25 @@ strcpy(tmp_full_url, s-server_hostname); strcat(tmp_full_url, uriEnv-uri); } + uriEnv-mbean-setAttribute(workerEnv-globalEnv, uriEnv-mbean, uri, tmp_full_url); uriEnv-mbean-setAttribute(workerEnv-globalEnv, uriEnv-mbean, path, cmd-path); + uriEnv-name = tmp_virtual; uriEnv-virtual = tmp_virtual; +} else { +/* + * The jk2_create_dir_config added an id to uri and path + * we have to correct it here. + */ + +uriEnv-mbean-setAttribute(workerEnv-globalEnv, uriEnv-mbean, +uri, cmd-path); } + /* now lets actually add the parameter set in the Location block */ uriEnv-mbean-setAttribute(workerEnv-globalEnv, uriEnv-mbean, (char *)name, (void *)val); @@ -293,40 +304,46 @@ jk_uriEnv_t *child = (jk_uriEnv_t *)childv; jk_uriEnv_t *parent = (jk_uriEnv_t *)parentv; jk_uriEnv_t *winner = NULL; -jk_uriEnv_t *loser = NULL; +char *hostchild; +char *hostparent; if (child == NULL || child-uri == NULL || child-workerName == NULL) { winner = parent; -loser = child; } else if (parent == NULL || parent-uri == NULL || parent-workerName == NULL) { winner = child; -loser = parent; /* interresting bit... so far they are equal ... */ } else if (strlen(parent-uri) strlen(child-uri)) { winner = parent; -loser = child; +} +else if (strlen(parent-uri) == strlen(child-uri)) { +/* Try the virtual host to decide */ +hostchild = child-mbean-getAttribute(workerEnv-globalEnv, child-mbean,host); +hostparent = parent-mbean-getAttribute(workerEnv-globalEnv, parent-mbean,host); +if (hostchild == NULL) +winner = parent; +if (hostparent == NULL) +winner = child; +if (winner == NULL) { +if (strlen(hostchild) strlen(hostparent)) +winner = child; +else +winner = parent; +} } else { winner = child; -loser = parent; } /* Do we merge loser into winner - i.e. inherit properties ? */ -/*if ( winner == child ) - fprintf(stderr, Going with the child\n); - else if ( winner == parent ) - fprintf(stderr, Going with the parent\n); - else - fprintf(stderr, Going with NULL\n); - */ -fprintf(stderr, Merging %s %s %s\n, -(winner == NULL || winner-uri == NULL) ? : winner-uri, +ap_log_perror(APLOG_MARK, APLOG_DEBUG,
Discussion - /jkstatus and stylesheets
Good morning All. A recent initiative by Henri Gomez added support for a style block in the return headers for /jkstatus pages, s-jkprintf(env, s, style%s/style\n, DEFAULT_CSS); with the values passed in the block (DEFAULT_CSS) being a 'define' in the program source. A limitation of this approach is that to vary the 'colour scheme' requires changing the source code file and rebuilding, neither step being desirable. As an alternative to the above method I suggest use of an 'external' stylesheet, which has the following advantages: 1. The choice of colour palette is made external to the program and easier to try different variations. 2. It is in keeping with W3C preferences. This change would require replacing the style block with a link block as follows: s-jkprintf(env, s, LINK REL=stylesheet TYPE='text/css' HREF='??'\n ); This approach raises two questions; what might the external stylesheet be called and where might it be placed? My suggestion for the first question is 'jkstatus.css' so that it might be easily identified. As to the second question, I see two possibilities: 1. A 'fixed' location relative to documentRoot, for example: s-jkprintf(env, s, LINK REL=stylesheet TYPE='text/css' HREF='/styles/jkstatus.css'\n ); or 2. Use a variable (style) as a path parameter, such as: s-jkprintf(env, s, LINK REL=stylesheet TYPE='text/css' HREF='%sjkstatus.css'\n, style ); the parameter being of any form the web server can resolve to an actual disk location. While the first method requires the least work to implement, the second approach offers more flexibility for user environments. If the latter method were adopted I see it as more appropriate to add the path variable (called 'style' above) as a property of the status worker rather than as a general environment one. By way of deciding a default 'jkstatus.css' that might be supplied with the connector, at least three methods are feasible: 1. Implement a stylesheet that emulates the current default colour/style scheme, 2. Have the Developers choose one obtained by any method, 3. Make a 'request for suggestions' on the TC-user list. Any comment on the content of this document is welcomed. Regards, Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Discussion - /jkstatus and stylesheets
Hi from Down Under. Hi, As an alternative to the above method I suggest use of an 'external' stylesheet, which has the following advantages: [snip] 1. Implement a stylesheet that emulates the current default colour/style scheme, 2. Have the Developers choose one obtained by any method, 3. Make a 'request for suggestions' on the TC-user list. I would like to suggest a 4. one: test for presense of the the style property, and if not present fallback to the hardcoded style Henri introduced. * I don't see this as another method to obtaining a default stylesheet but rather what to do if one isn't defined, much like so I guess: if( style != NULL) { s-jkprintf(env, s, LINK REL=stylesheet TYPE='text/css' HREF='%sjkstatus.css'\n, style ); } else { s-jkprintf(env, s, style%s/style\n, DEFAULT_CSS); } Admittedly Henri's default style data isn't a big baggage, but another approach would be to not output any style format at all in the 'else' case, such as: if( style != NULL) { s-jkprintf(env, s, LINK REL=stylesheet TYPE='text/css' HREF='%sjkstatus.css'\n, style ); } which is what /jkstatus was doing until Henri added the style block recently. Norm Guenter. - 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: cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 mod_jk2.c
Good morning All. Just tried Jean's recent change to mod_jk2.c and _pleased_ to say JkUriSet now registers correctly the same as a [uri] section, and can access /admin with only a Location in the httpd.conf. I did note there were duplicate uri objects created (based on their name) if the same uri spec was in both files, but in any case this is a lot closer to theory than in the past. Thanks Jean. Norm - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, April 01, 2004 12:22 AM Subject: cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 mod_jk2.c jfclere 2004/03/31 06:22:04 Modified:jk/native2/server/apache2 mod_jk2.c Log: Fix handling of id added in jk2_create_dir_config(). I do not see why we need this id... May because jk2_merge_dir_config() was buggy. That fixes PR 18472 and 28916. Revision ChangesPath 1.82 +33 -16 jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c Index: mod_jk2.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c,v retrieving revision 1.81 retrieving revision 1.82 diff -u -r1.81 -r1.82 --- mod_jk2.c 21 Mar 2004 09:44:30 - 1.81 +++ mod_jk2.c 31 Mar 2004 14:22:04 - 1.82 @@ -221,14 +221,25 @@ strcpy(tmp_full_url, s-server_hostname); strcat(tmp_full_url, uriEnv-uri); } + uriEnv-mbean-setAttribute(workerEnv-globalEnv, uriEnv-mbean, uri, tmp_full_url); uriEnv-mbean-setAttribute(workerEnv-globalEnv, uriEnv-mbean, path, cmd-path); + uriEnv-name = tmp_virtual; uriEnv-virtual = tmp_virtual; +} else { +/* + * The jk2_create_dir_config added an id to uri and path + * we have to correct it here. + */ + +uriEnv-mbean-setAttribute(workerEnv-globalEnv, uriEnv-mbean, +uri, cmd-path); } + /* now lets actually add the parameter set in the Location block */ uriEnv-mbean-setAttribute(workerEnv-globalEnv, uriEnv-mbean, (char *)name, (void *)val); @@ -293,40 +304,46 @@ jk_uriEnv_t *child = (jk_uriEnv_t *)childv; jk_uriEnv_t *parent = (jk_uriEnv_t *)parentv; jk_uriEnv_t *winner = NULL; -jk_uriEnv_t *loser = NULL; +char *hostchild; +char *hostparent; if (child == NULL || child-uri == NULL || child-workerName == NULL) { winner = parent; -loser = child; } else if (parent == NULL || parent-uri == NULL || parent-workerName == NULL) { winner = child; -loser = parent; /* interresting bit... so far they are equal ... */ } else if (strlen(parent-uri) strlen(child-uri)) { winner = parent; -loser = child; +} +else if (strlen(parent-uri) == strlen(child-uri)) { +/* Try the virtual host to decide */ +hostchild = child-mbean-getAttribute(workerEnv-globalEnv, child-mbean,host); +hostparent = parent-mbean-getAttribute(workerEnv-globalEnv, parent-mbean,host); +if (hostchild == NULL) +winner = parent; +if (hostparent == NULL) +winner = child; +if (winner == NULL) { +if (strlen(hostchild) strlen(hostparent)) +winner = child; +else +winner = parent; +} } else { winner = child; -loser = parent; } /* Do we merge loser into winner - i.e. inherit properties ? */ -/*if ( winner == child ) - fprintf(stderr, Going with the child\n); - else if ( winner == parent ) - fprintf(stderr, Going with the parent\n); - else - fprintf(stderr, Going with NULL\n); - */ -fprintf(stderr, Merging %s %s %s\n, -(winner == NULL || winner-uri == NULL) ? : winner-uri, +ap_log_perror(APLOG_MARK, APLOG_DEBUG, 0, NULL, + mod_jk2 Merging %s %s winner: %s\n, (child == NULL || child-uri == NULL) ? : child-uri, -(parent == NULL || parent-uri == NULL) ? : parent-uri); +(parent == NULL || parent-uri == NULL) ? : parent-uri, +(winner == child) ? parent : child ); return (void *)winner; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For
Re: TC5 startup.bat shutdown.bat catalina.bat - FYI
Good morning All. Below are two methods recently noted in NetWare forums to get recent Tomcat-5 to properly compile JSP's. I have tried method 1. and was able to successfully get a jsp to work that had previously failed with a java IOerror. I haven't tried the second approach but its author seemed satisfied. For information and consideration. Norm - Method 1. Try editing conf/web.xml, search for servlet-namejsp/servlet-name. put in: init-param param-namescratchdir/param-name param-value/tomcat/5019/work/param-value /init-param (your tomcat path may not be the same as mine) This *is* a workaround, but it appears to work with the few jsp test pages I have tried... cheers /Stig - Method 2. OK, forget this... I've recompiled Tomcat5 with a rewrite of the faulty renameTo() function on line 230 of SmapUtil.java, something like this: static void install(File classFile, byte[] smap) throws IOException { File tmpFile = new File(classFile.getPath() + tmp); new SDEInstaller(classFile, smap, tmpFile); if (!classFile.delete()) { throw new IOException(classFile.delete() failed); } FileInputStream fis = new FileInputStream(tmpFile); FileOutputStream fos = new FileOutputStream(classFile); byte[] buf = new byte[1024]; int i = 0; while((i=fis.read(buf))!=-1) { fos.write(buf, 0, i); } fis.close(); fos.close(); if (!tmpFile.delete()) { throw new IOException(classFile.delete() failed); } } Works like a charm :-) cheers /Stig - Original Message - From: Mladen Turk [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Wednesday, March 24, 2004 6:27 AM Subject: TC5 startup.bat shutdown.bat catalina.bat Hi, I have some problems with the applications that rely on java.io.tmpdir. The reason is that the startup set the java.io.tmpdir to CATALINA_TMPDIR, and that is ..\temp. So each application looses the system temp dir, and it's quite random. I propose to use the absolute paths for startup, even have a solution, but would like to here if there is any particular reasons not to use the absolute paths, befor any commits. Here is the snapshot for startup.bat that I propose: rem Guess CATALINA_HOME if not defined set CURRENT_DIR=%cd% if not %CATALINA_HOME% == goto gotHome set CATALINA_HOME=%CURRENT_DIR% if exist %CATALINA_HOME%\bin\catalina.bat goto okHome cd .. set CATALINA_HOME=%cd% cd CURRENT_DIR :gotHome ... So instead setting to . or .. I'm using %cd% to obtain current directory. This is basically the same code that I've used for service.bat Didn't test on DOS machines, just NT (but did using command.com). MT. - 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: [Fwd: Releasing JK 2.0.4]
Greetings All! What?! Me? Complain? The only thing that gets me excited in an 'open' forum is being ignored, as if I didn't exist. I want to also echo Guenter's thanks to the committers, less for adopting the suggestions offered but for taking the time to look at and (hopefully) consider them. I suspect all have other commitments beyond Mod_Jk2 and suggestions generally tendered asynchronously with their available time. Yes, there are things I think still need attention, but a lot of people are 'waiting' on 2.0.4, and NetWare is but a newcomer to the Mod_Jk2 house so can bide its time for 2.0.5. Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Fwd: Releasing JK 2.0.4]
Darn. I was hoping to prove I needed a rest. Norm - Original Message - From: Mladen Turk [EMAIL PROTECTED] To: 'Tomcat Developers List' [EMAIL PROTECTED] Sent: Wednesday, March 17, 2004 8:09 AM Subject: RE: [Fwd: Releasing JK 2.0.4] -Original Message- From: NormW I want to also echo Guenter's thanks to the committers, less for adopting the suggestions offered but for taking the time to look at and (hopefully) consider them. I suspect all have other commitments beyond Mod_Jk2 and suggestions generally tendered asynchronously with their available time. The time (and stress) is always a problem. I have a simple stress test available at: http://www.apache.org/~mturk/stress.html Hope you've passed :-). Yes, there are things I think still need attention, but a lot of people are 'waiting' on 2.0.4, and NetWare is but a newcomer to the Mod_Jk2 house so can bide its time for 2.0.5. Yes, it's been quite a while since the last release. MT. - 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]
PATCH jk_shm.c Cosmetic only.
Greetings All. The following links to a 'patch' primarily intended to remove some 'comments' I had put in my previous patch to Guenter but hadn't noticed were also included in the diff he prepared. Cosmetic tidy up only. http://www.gknw.com/norm/jk_shm.c.diff Note this _is_ a different file to yesterdays. - --- jk_shm.c.orig Tue Mar 16 22:19:21 2004 +++ jk_shm.c Wed Mar 17 07:40:54 2004 @@ -463,17 +463,15 @@ result-setAttribute = jk2_shm_setAttribute; result-setAttributeInfo = jk2_shm_setAttributeInfo; -/* Add the following to this function - seems someone else */ -/* thought of it based on the 'comment' previously there */ result-getAttributeInfo = jk2_shm_getAttributeInfo; result-getAttribute = jk2_shm_getAttribute; result-multiValueInfo = NULL; shm-mbean = result; result-object = shm; result-invoke=jk2_shm_invoke; + shm-init = jk2_shm_init; shm-destroy = jk2_shm_destroy; - shm-getSlot = jk2_shm_getSlot; shm-createSlot = jk2_shm_createSlot; shm-reset = jk2_shm_reset; -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
PATCH jk_worker_status.c jk2_worker_status_service()
Greetings All. The following link is a patch which I believe simplifies the structure of the _sevice() function by removing some NULL tests and an If(test) from the processing stream. http://www.gknw.com/norm/jk_worker_status.c.diff The following section shows the structure implemented rather the diff itself as is the usual case. By setting a default query_string first, the NULL tests are no loner required. By doing the common headers first, only one if(qry=) test is needed. Norm -- if( w-mbean-debug 0 ) env-l-jkLog(env, env-l, JK_LOG_DEBUG, status.service() %s %s\n, JK_CHECK_NULL(uri), JK_CHECK_NULL(s-query_string)); if( s-query_string == NULL ) { s-query_string=all; } /* Generate the header */ s-status=200; s-msg=OK; s-headers_out-put(env, s-headers_out, Pragma, no-cache, NULL); s-headers_out-put(env, s-headers_out, Cache-Control, no-cache, NULL); /** Decide if text or html. */ if( strncmp( s-query_string, qry=, 4) == 0 ) { s-headers_out-put(env, s-headers_out, Content-Type, text/plain, NULL); s-head(env, s ); } else { s-headers_out-put(env, s-headers_out, Content-Type, text/html, NULL); s-head(env, s ); s-jkprintf(env, s, style%s/style\n, DEFAULT_CSS ); } /** Process the query string. */ -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
PATCH jk_worker_status.c scoreboard reset update
Greetings All. Attached is a very small patch to jk_worker_status.c to bring the resetScoreboard function in to line with recent changes in jk_shm.c Thanks for the time and attention. Norm -- --- jk_worker_status.c.orig Sun Mar 14 08:25:45 2004 +++ jk_worker_status.c Mon Mar 15 21:52:32 2004 @@ -292,7 +292,7 @@ return; } -for( i=1; i wenv-shm-head-lastSlot; i++ ) { +for( i=0; i wenv-shm-head-lastSlot; i++ ) { jk_shm_slot_t *slot= wenv-shm-getSlot( env, wenv-shm, i ); if( slot==NULL ) continue; -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: SubTopic - Removal of Tabs
Good morning All. The following links to diff's for current Mod_Jk2 source files should remove 99% of Tabs. Will do the remainder 'soon'. \native2\common http://www.gknw.com/norm/jk_channel.c.diff http://www.gknw.com/norm/jk_channel_jni.c.diff http://www.gknw.com/norm/jk_config.c.diff http://www.gknw.com/norm/jk_handler_logon.c.diff http://www.gknw.com/norm/jk_handler_response.c.diff http://www.gknw.com/norm/jk_msg_ajp.c.diff http://www.gknw.com/norm/jk_nwmain.c.diff http://www.gknw.com/norm/jk_registry.h.diff http://www.gknw.com/norm/jk_requtil.c.diff http://www.gknw.com/norm/jk_user.c.diff http://www.gknw.com/norm/jk_workerEnv.c.diff \native2\server\aolserver http://www.gknw.com/norm/jk_logger_ns.c.diff http://www.gknw.com/norm/jk_service_ns.c.diff http://www.gknw.com/norm/nsjk2.c.diff \native2\server\dsapi http://www.gknw.com/norm/config.h.diff http://www.gknw.com/norm/dsapifilter.h.diff http://www.gknw.com/norm/jk_dsapi_plugin.c.diff Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
PATCH jk_shm.c - Add getAttributes functionality.
Greetings All. The following link provides a patch to add the getAttribute feature to the shm object, as per a recent 'request'. It has been tested on a Windows platform by using the qry= command of jkstatus and all values have been correctly returned and displayed in the 'qry' listing. Unfortunately am unable to test on a NetWare platform at this time. ;-( http://www.gknw.com/norm/jk_shm.c.diff Norm -- --- jk_shm.c.orig Mon Mar 15 16:04:08 2004 +++ jk_shm.c Mon Mar 15 19:40:48 2004 @@ -346,6 +346,25 @@ } + +static char *jk2_shm_getAttributeInfo[] = {file, size, slots, useMemory, NULL}; + +static void * JK_METHOD jk2_shm_getAttribute(jk_env_t *env, jk_bean_t *mbean, char *name ) +{ +jk_shm_t *shm = (jk_shm_t *)mbean-object; + +if( strcmp( name, file )==0 ) { +return shm-fname; +} else if( strcmp( name, size ) == 0 ) { +return jk2_env_itoa( env, shm-size ); +} else if( strcmp( name, slots ) == 0 ) { +return jk2_env_itoa( env, shm-slotMaxCount ); +} else if( strcmp( name, useMemory ) == 0 ) { +return jk2_env_itoa( env, shm-inmem ); +} +return NULL; +} + /** Copy a chunk of data into a named slot */ static int jk2_shm_writeSlot( jk_env_t *env, jk_shm_t *shm, @@ -438,7 +457,11 @@ result-setAttribute = jk2_shm_setAttribute; result-setAttributeInfo = jk2_shm_setAttributeInfo; -/* result-getAttribute=jk2_shm_getAttribute; */ +/* Add the following to this function - seems someone else */ +/* thought of it based on the 'comment' previously there */ +result-getAttributeInfo = jk2_shm_getAttributeInfo; +result-getAttribute = jk2_shm_getAttribute; +result-multiValueInfo = NULL; shm-mbean = result; result-object = shm; result-invoke=jk2_shm_invoke; @@ -451,4 +474,5 @@ return JK_OK; } + -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: SubTopic source code Tabs - part2
Greetings All. Find at the links below the last Tab's I've found. Please note the mod_jk2.c referred to is the \server\Apache13 version. \native2\common http://www.gknw.com/norm/jk_channel_un.c.diff \native2\server\apache13 http://www.gknw.com/norm/mod_jk2.c.diff Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/jk/xdocs/jk2 configwebcom.xml
Good day, or it will be for you in about 6 hours or so (we're +10 GMT) From: NormW Perhaps in 2.0.5 * Suggested mainly for consistency with most of the other objects, but it also now has enough properties that could appear in a qry= dump. Well, you may always make a patch :-). Okay, it seems a useful challenge; I'll see what I can pull together And lastly, the configwebcom.xml indicates the default value for slots is 256, but the program if (!shm-slotMaxCount) shm-slotMaxCount = 1; suggests rather that it is 1, AFAICT. No, It's a sanity check if someone puts solts=0 in config, and for potential settings from server side. The default value is defined by DEFAULT_SLOT_COUNT, and it is set when the shm object is created. * Checking for sanity should be done more often. :-) Thanks again, and will now have to focus on Novell. Have a Good Morning Good Day Good Evening Good Night! Norm I'm from Croatia (GMT+1) :-) MT. Thanks for taking the time to reply. Will be back with a patch 'soon', but don't wait for me... Norm - 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: cvs commit: jakarta-tomcat-connectors/jk/xdocs/jk2 configwebcom.xml
Good morning Mladen. Okay, a little bluff. The sun isn't quite up but the sky is clear. The Good morning is as much to indicate that this project is a global thing as it is a social sense. Thanks for the time and consideration given the 'ideas' sent. Hi, -Original Message- From: NormW jakarta-tomcat-connectors/jk/xdocs/jk2 configwebcom.xml Good morning. It depends where :-) * True, but one can only describe their experience and regards. In looking at the new shm, note the following: 1. SHM no longer works on NetWare with either file option. ... will have to look into that. Good. It shouldn't, cause shm is not officially supported on Netware. That's why I've added the memory (changed to useMemory) option, where the mapping is done using plain allocated memory. That enables to use the stats and lb factors consistently. If you wish that useMemory will be the default behavior disable the apr's APR_HAS_SHARED_MEMORY flag. Since you have only single child process shm is not needed after all. I think that shm was planned to be the communication channel too, but that was never implemented. * Sniff... we had it for a while, and now it's gone again, but that might be the basis to prod Novell's own developers. 2. Is it possible to have a 'slots' 'auto' option that gets the value from either the platform or the build rather than a hard coded 256? Perhaps in 2.0.5 But I'll see if I can put that to workerEnv 3. Can the shm 'memory' option be changed to 'memoryType' so that it more self-explanatory. [memory=0 isn't.] Changed to useMemory. * Thanks. 4. The fourth line added should read ...memory. If set to 'anonymous' use the anonymous shared memory. 5. The second last line added should read Use the process memory... I think. 6. Can the size, file, slots and memory[Type] properties be added to a shm getAttribute method? Perhaps in 2.0.5 * Suggested mainly for consistency with most of the other objects, but it also now has enough properties that could appear in a qry= dump. Thanks for any feedback, Norm And lastly, the configwebcom.xml indicates the default value for slots is 256, but the program if (!shm-slotMaxCount) shm-slotMaxCount = 1; suggests rather that it is 1, AFAICT. Thanks again, and will now have to focus on Novell. Have a Good Morning Good Day Good Evening Good Night! Norm - 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: cvs commit: jakarta-tomcat-connectors/jk/xdocs/jk2 configwebcom.xml
Good... what ever part of the day pleases... :-) Another look at the new shm.c and would comment on a design point, perhaps to consider for 2.0.5. The setAttributes() list for shm.c includes a 'resetEndpointStats' element, which is not a 'property' of shm but a means to reset its counters as such it is actually closer to a method for the shm object. It is a matter of design interpretation, but I see setAttributes() as a mechanism for setting the value of a property rather than an alternate means to call local object functions. My $0.02. Norm Hi, -Original Message- From: NormW jakarta-tomcat-connectors/jk/xdocs/jk2 configwebcom.xml Good morning. It depends where :-) In looking at the new shm, note the following: 1. SHM no longer works on NetWare with either file option. ... will have to look into that. Good. It shouldn't, cause shm is not officially supported on Netware. That's why I've added the memory (changed to useMemory) option, where the mapping is done using plain allocated memory. That enables to use the stats and lb factors consistently. If you wish that useMemory will be the default behavior disable the apr's APR_HAS_SHARED_MEMORY flag. Since you have only single child process shm is not needed after all. I think that shm was planned to be the communication channel too, but that was never implemented. 2. Is it possible to have a 'slots' 'auto' option that gets the value from either the platform or the build rather than a hard coded 256? Perhaps in 2.0.5 But I'll see if I can put that to workerEnv 3. Can the shm 'memory' option be changed to 'memoryType' so that it more self-explanatory. [memory=0 isn't.] Changed to useMemory. 4. The fourth line added should read ...memory. If set to 'anonymous' use the anonymous shared memory. 5. The second last line added should read Use the process memory... I think. 6. Can the size, file, slots and memory[Type] properties be added to a shm getAttribute method? Perhaps in 2.0.5 Thanks for any feedback, Norm - 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: jk2 2.0.4 release
Good morning Henri. 1. I have tried your recently added style section for the jkstatus page, and the dab of colour is a nice addition. Application of some more P's and H? to the output display would make a small refinement to the approach. However, the notion that one has to recompile the module just to change the colour scheme seems a little too heavyweight. An alternative I tried was to embed a LINK HREF= [in jk_worker_status.c] to an external stylesheet in /styles/jkstatus.css. While hard coding isn't always appreciated (I've seen a few sites with this type of directory) the external file makes changing colour combinations a _lot_ easier. While this might expose the colouring to some tampering, the same is also true with Apache and Mod_Jk2 when external config files are used. 2. A recent e-mail from me to TC-dev indicated a 'problem' with JkUriSet, whereby the 'match_type' is being incorrectly set in the uri bean due to the digits added to the uri passed to the jk_uriEnv_init function. Jean Clere offered some feedback regarding this, but the question still remains. This currently 'breaks' JkUriSet AFAICTest and it 'ought' to be working for the 2.0.4 release if possible. The 'primary key' for URI objects is the URI type + a name field made up of a possible host,port and context. If the same values can be recovered for a particular Location entry in an Apache conf file, then it makes sense to simply update an existing [matching] uri object created through workers2.properties... in which case there is no point to adding the extra numbers, which prevents identical uri keys from being detected. 3. I recently suggested a patch for uriEnv.c to remove a duplicated field from the uri runtime display in /jkstatus. While I can even stand a reply of 'Idiot - it can't be done because...', it's not polite to just ignore offers of assistance to make the module better. Thanks for the time and effort given, Norm Hi, We see many bug fixes in the last 2 weeks in jk2, and I wonder if some of you still have some corrections to commit. I plan to tag jk2 next Monday morning, and make the release on monday afternoon. If nobody object, I'll do like this - 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: cvs commit: jakarta-tomcat-connectors/jk/xdocs/jk2 configwebcom.xml
Good morning. In looking at the new shm, note the following: 1. SHM no longer works on NetWare with either file option. ... will have to look into that. 2. Is it possible to have a 'slots' 'auto' option that gets the value from either the platform or the build rather than a hard coded 256? 3. Can the shm 'memory' option be changed to 'memoryType' so that it more self-explanatory. [memory=0 isn't.] 4. The fourth line added should read ...memory. If set to 'anonymous' use the anonymous shared memory. 5. The second last line added should read Use the process memory... I think. 6. Can the size, file, slots and memory[Type] properties be added to a shm getAttribute method? Thanks for any feedback, Norm - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Saturday, March 13, 2004 6:33 AM Subject: cvs commit: jakarta-tomcat-connectors/jk/xdocs/jk2 configwebcom.xml mturk 2004/03/12 11:33:24 Modified:jk/xdocs/jk2 configwebcom.xml Log: Some docs about new shm directives. Revision ChangesPath 1.15 +21 -11 jakarta-tomcat-connectors/jk/xdocs/jk2/configwebcom.xml Index: configwebcom.xml === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/xdocs/jk2/configwebcom.xml,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- configwebcom.xml 10 Mar 2004 09:36:39 - 1.14 +++ configwebcom.xml 12 Mar 2004 19:33:24 - 1.15 @@ -156,16 +156,26 @@ thDefault/th thDescription/th /tr -tr -tdfile/td -tdNo default value/td -tdName of the file that will be mmapped to use as shared memory./td -/tr -tr -tdsize/td -tdNo default value/td -tdSize of the file./td -/tr +tr +tdfile/td +tdNo default value/td +tdName of the file that will be mmapped to use as shared memory, if set to 'anonymous' use the anonymous shered memory/td +/tr +tr +tdsize/td +tdNo default value/td +tdDeprecated. Size of the file./td +/tr +tr +tdslots/td +td256/td +tdNumber of shared memory slots. Set to the number of child processes/td +/tr +tr +tdmemory/td +td0/td +tdUse the precess memory instead of shared memory. Useful for single child mpm's/td +/tr /table /p /section - 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: jk2 2.0.4 release
Good morning again. As a PS to my last message, while testing the new changes to Jk2 noted that, in jk_worker_status.c the qry= option uses a plain/text coding rather than plain/html, and as a consequence, the recently added STYLE block is shown at the top of the page... it needs to be moved inside the if (qry=)/else block. Norm Hi, We see many bug fixes in the last 2 weeks in jk2, and I wonder if some of you still have some corrections to commit. I plan to tag jk2 next Monday morning, and make the release on monday afternoon. If nobody object, I'll do like this - 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]
PATCH configwebcom.xml
Good morning All. Please find attached a patch foe what I believe is the last erroneous reference to lb:0. It left here as an attachment and replicated it below. Thanks, Norm --- configwebcom.xml.orig Fri Mar 5 07:09:26 2004 +++ configwebcom.xml Wed Mar 10 06:35:57 2004 @@ -205,7 +205,7 @@ /tr tr tdgroup/td -tdlb:0 (The default loadbalancer)/td +tdlb:lb (The default loadbalancer)/td tdName of the tomcat group or worker that will process the request corresponding to the uri. This used to be called 'worker'/td /tr - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
PATCH jk_uriEnv.c - duplicated GET property
Good morning All. In jk_uriEnv.c, the getAttr function presently supports both uri and path as properties. However both 'properties' return the same value, namely uriEnv-uri. This patch removes path from the getAttr properties list only, the nett affect being that one less (duplicated) column would be displayed on the /jkstatus page for runtime uri's. A search of the source indicates no specific GET's using the path property and only mod_jk2 uses the setAttr path property, which is not affected by this patch. Norm --- jk_uriEnv.c.orig Sat Feb 28 07:05:06 2004 +++ jk_uriEnv.c Wed Mar 10 10:09:14 2004 @@ -175,7 +175,8 @@ static char *getAttInfo[]={ host, uri, group, context, inheritGlobals, match_type, -servlet, timing, aliases, path, NULL }; +servlet, timing, aliases, NULL }; +/*servlet, timing, aliases, path, NULL }; */ static char *setAttInfo[]={ host, uri, group, context, inheritGlobals, servlet, timing, alias, path, NULL }; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
JkUriSet bug.
Good morning All In Mod_Jk2, jk_UriEnv.c, line 419, there is is a test to determine which end of a URL template string has the *, to determine if the 'match type' should be PREFIX or SUFFIX. [ if (uri[strlen(uri) - 1] == '*') { ] A URL template found in a workers2.properties [uri] section is passed to jk_UriEnv_init() [line 321] without modification, and everything works as expected. URL's passed to jk_UriEnv_init() from Apache's .conf file have a (-nn) number added to the end of them, thus the test at line 419 always fails, and so they always default to being flagged as MATCH_TYPE_SUFFIX. Log entry when using .conf (Location /admin/*) is as follows (the -1 is the appended number, which increments for each conf url) : [jk_uriEnv.c (448)] uriEnv.init() uri:/admin/*-1 host=* uri=/admin/*-1 type=2 ctx=(null) prefix=(null) suffix=/admin/*-1 and when using [uri:/admin/*] is as follows: [jk_uriEnv.c (448)] uriEnv.init() uri:/admin/* host=* uri=/admin/* type=1 ctx=(null) prefix=/admin/ suffix=(null) Additionally, the extra characters on the end of the passed 'template' will mean suffix_len and prefix_len are incorrectly set also when received from Apache. I'm uncertain about why the numbers are added when received from Apache and not when generated from inside workers2.properties. Can someone comment on this please? Norm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [OT] problems posting attachments to the list - Yoav??
Good morning All. Just checked my recent echoed patches and while OE6 shows a paperclip symbol against them, the attachments (if still present) are not accessible. Norm Hi Yoav, since you are the list moderator, maybe you can also look into the attachment problem I (and probably others too) have? Every time I attach a patch, when my post returns through the list the attachment is replaced by a 'noname.txt' containing the footer which is normally appended to each post. Can you perhaps solve this issue?? Am I the only one having this problem, or are there others seeing this too? I use AkMail and have no problems on other Apache lists, so it's most likely that there's a problem with the footer which is automatically added, and then destroys the attachment... thanks, Guenter. - 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: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c
Good evening Henri. Can the 'avaiable' be 'available' by the time of the jk2 release? :-) Norm P.S. Great work regardless of my nitpicking. P.S.2 Gunter deliberately puts a few crumbs in his contributions so others less gifted can contribute something. hgomez 2004/02/27 00:37:48 Modified:jk/native2/common jk_worker_status.c Log: Gunter addon (and initial stylesheet) Revision ChangesPath 1.49 +5 -0 jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c Index: jk_worker_status.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_status.c,v retrieving revision 1.48 retrieving revision 1.49 diff -u -r1.48 -r1.49 --- jk_worker_status.c 24 Feb 2004 08:44:40 - 1.48 +++ jk_worker_status.c 27 Feb 2004 08:37:48 - 1.49 @@ -36,6 +36,8 @@ #define JK_CHECK_NULL( str ) ( ((str)==NULL) ? null : (str) ) +#define DEFAULT_CSS (BODY {COLOR: #00; FONT-STYLE: normal; FONT-FAMILY: \Times New Roman\, Times, serif; BACKGROUND-COLOR: #ff} H1 { COLOR: #0033cc; FONT-FAMILY: Arial, Helvetica, sans-serif} H2 { COLOR: #0033cc; FONT-FAMILY: Arial, Helvetica, sans-serif} H3 {FONT: 110% Arial, Helvetica, sans-serif; COLOR: #0033cc} B {FONT-WEIGHT: bold} ) + /** Display info for one endpoint */ static void jk2_worker_status_displayStat(jk_env_t *env, jk_ws_service_t *s, @@ -173,6 +175,7 @@ int needHeader=JK_TRUE; if( wenv-shm==NULL || wenv-shm-head==NULL) { + s-jkprintf(env, s, h3No Scoreboard avaiable/h3\n); return; } @@ -942,6 +945,8 @@ Content-Type, text/html, NULL); } s-head(env, s ); + + s-jkprintf(env, s, style%s/style\n, DEFAULT_CSS ); /** Process the query string. */ - 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: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_status.c
Good evening from Down Under. NormW wrote: Good evening Henri. Can the 'avaiable' be 'available' by the time of the jk2 release? :-) Norm P.S. Great work regardless of my nitpicking. P.S.2 Gunter deliberately puts a few crumbs in his contributions so others less gifted can contribute something. Fixed. * Thanks. Should quieten less socially aware nitpickers... I wonder how to cleanup the HTML for jkstatus, so if you're CSS specialist, you're more than welcome :) * Not a CSS specialist but will give it a closer look. The one thing that did surprise was a line 353 characters long if there are tab-police out there, this might excite some... but it will do for testing regardless. BTW, don't expect release before next week ;-( * When giving birth to a baby, it's best to wait until all the bits are in working order. Sooner one good fully-featured release than a number chase. Norm - 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]