Re: DO NOT REPLY [Bug 13907] - security manager does not give read permission on a context by default
Glenn, On Fri, Oct 25, 2002 at 08:40:28AM -0500, Glenn Nielsen wrote: I suspect that for some reason the Context does not have a context directory. Add FWIW, I'm not running the context from a WAR file -- it's just the examples context that comes with the default install. String docBase = context.getRealPath(/); to your test jsp and see if it returns null. could you fully qualify the context Class -- if it's the same as: pageContext.getServletContext().getRealPath(/); then docBase returns /usr/local/tomcat/webapps/examples/ correctly. ie. if I have just the following in the JSP: String fullPath = pageContext.getServletContext().getRealPath(/test2.new); out.println(brfullPath: + fullPath); String docBase = pageContext.getServletContext().getRealPath(/); out.println(brdocBase: + docBase); I correctly get: fullPath: /usr/local/tomcat/webapps/examples/test2.new docBase: /usr/local/tomcat/webapps/examples/ however when I add: java.io.File foo = new java.io.File(fullPath); if (foo.exists()) out.println(Exists: + fullPath); else { out.println(does not exist); } to the JSP I get the old: java.io.FilePermission /usr/local/tomcat/webapps/examples/test2.new read the debug output is appended below (let me know if you want more) -- I set all the debug flats in server.xml to 9. Also try setting the debug attributes in your server.xml to 9 and capture the debug output. from localhost_examples_log: 2002-10-25 14:25:19 Authenticator[/examples]: Security checking request GET /examples/jsp/test.jsp 2002-10-25 14:25:19 Authenticator[/examples]: Checking constraint 'SecurityConstraint[Protected Area]' against GET /jsp/test.jsp -- false 2002-10-25 14:25:19 Authenticator[/examples]: No applicable constraint located 2002-10-25 14:25:19 Authenticator[/examples]: Not subject to any constraint 2002-10-25 14:25:19 StandardContext[/examples]: Mapping contextPath='/examples' with requestURI='/examples/jsp/test.jsp' and relativeURI='/jsp/test.jsp' 2002-10-25 14:25:19 StandardContext[/examples]: Trying exact match 2002-10-25 14:25:19 StandardContext[/examples]: Trying prefix match 2002-10-25 14:25:19 StandardContext[/examples]: Trying extension match 2002-10-25 14:25:19 StandardContext[/examples]: Mapped to servlet 'jsp' with servlet path '/jsp/test.jsp' and path info 'null' and update=true 2002-10-25 14:25:27 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception org.apache.jasper.JasperException: access denied (java.io.FilePermission /usr/local/tomcat/webapps/examples/test2.new read) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:471) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at
Re: DO NOT REPLY [Bug 13907] - security manager does not give readpermission on a context by default
Hmmm... I did some reviews of CVS for the code which sets the context dir FilePermission. I had made a cut n paste mistake when changing code related to this which would have prevented the context dir FilePermission from being created. This bug only existed for 6 hours in CVS before I fixed it. This also the same day that the Tomcat 4.1.12 version was tagged in CVS. 4.1.12 may have been released with this bug. Please try Tomcat 4.1.13 and see if the problem still exists. Regards, Glenn Aditya wrote: Glenn, On Fri, Oct 25, 2002 at 08:40:28AM -0500, Glenn Nielsen wrote: I suspect that for some reason the Context does not have a context directory. Add FWIW, I'm not running the context from a WAR file -- it's just the examples context that comes with the default install. String docBase = context.getRealPath(/); to your test jsp and see if it returns null. could you fully qualify the context Class -- if it's the same as: pageContext.getServletContext().getRealPath(/); then docBase returns /usr/local/tomcat/webapps/examples/ correctly. ie. if I have just the following in the JSP: String fullPath = pageContext.getServletContext().getRealPath(/test2.new); out.println(brfullPath: + fullPath); String docBase = pageContext.getServletContext().getRealPath(/); out.println(brdocBase: + docBase); I correctly get: fullPath: /usr/local/tomcat/webapps/examples/test2.new docBase: /usr/local/tomcat/webapps/examples/ however when I add: java.io.File foo = new java.io.File(fullPath); if (foo.exists()) out.println(Exists: + fullPath); else { out.println(does not exist); } to the JSP I get the old: java.io.FilePermission /usr/local/tomcat/webapps/examples/test2.new read the debug output is appended below (let me know if you want more) -- I set all the debug flats in server.xml to 9. Also try setting the debug attributes in your server.xml to 9 and capture the debug output. from localhost_examples_log: 2002-10-25 14:25:19 Authenticator[/examples]: Security checking request GET /examples/jsp/test.jsp 2002-10-25 14:25:19 Authenticator[/examples]: Checking constraint 'SecurityConstraint[Protected Area]' against GET /jsp/test.jsp -- false 2002-10-25 14:25:19 Authenticator[/examples]: No applicable constraint located 2002-10-25 14:25:19 Authenticator[/examples]: Not subject to any constraint 2002-10-25 14:25:19 StandardContext[/examples]: Mapping contextPath='/examples' with requestURI='/examples/jsp/test.jsp' and relativeURI='/jsp/test.jsp' 2002-10-25 14:25:19 StandardContext[/examples]: Trying exact match 2002-10-25 14:25:19 StandardContext[/examples]: Trying prefix match 2002-10-25 14:25:19 StandardContext[/examples]: Trying extension match 2002-10-25 14:25:19 StandardContext[/examples]: Mapped to servlet 'jsp' with servlet path '/jsp/test.jsp' and path info 'null' and update=true 2002-10-25 14:25:27 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception org.apache.jasper.JasperException: access denied (java.io.FilePermission /usr/local/tomcat/webapps/examples/test2.new read) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:471) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
OT: Scarab Tomcat 4.1
Jon Scott Stevens wrote: on 2002/10/25 3:40 PM, Glenn Nielsen [EMAIL PROTECTED] wrote: I just checked. I removed xerces related apis from common/endorsed and put them in server/lib. That removed them from the jar's visible to the scarab webapp. But left them available for the container to use. This is using JDK 1.3.1. Regards, Glenn Great! That was the part I couldn't figure out. Scarab now defaults to use Tomcat 4.1.12 (I also worked around the bug I reported that was fixed) and I withdraw my request to do a release of 4.0.7. Right now scarab comes with Xerces 1.4.4. Will Scarab be upgraded so it can use Xerces 2.x? The only sad thing to report is that at first glance Tomcat 4.1.12 doesn't seem any faster than Tomcat 4.0.6. It is significantly faster for a certain templating technology which I will leave unmentioned. ;-) Most of the other changes between 4.0 and 4.1 were feature related except for the Coyote connector and JK2. Regards, Glenn -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup Bootstrap.java Catalina.java
remm2002/10/26 05:29:56 Modified:catalina/src/share/org/apache/catalina/startup Bootstrap.java Catalina.java Log: - Fix service functionality. Revision ChangesPath 1.7 +7 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Bootstrap.java Index: Bootstrap.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Bootstrap.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Bootstrap.java24 Oct 2002 22:06:04 - 1.6 +++ Bootstrap.java26 Oct 2002 12:29:56 - 1.7 -86,6 +86,7 * class path and therefore not visible to application level classes. * * author Craig R. McClanahan + * author Remy Maucherat * version $Revision$ $Date$ */ -358,9 +359,11 try { String command = args[0]; if (command.equals(startd)) { +args[0] = start; daemon.load(args); daemon.start(); } else if (command.equals(stopd)) { +args[0] = stop; daemon.stop(); } else if (command.equals(start)) { daemon.setAwait(true); 1.9 +5 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Catalina.java Index: Catalina.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Catalina.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Catalina.java 24 Oct 2002 22:06:04 - 1.8 +++ Catalina.java 26 Oct 2002 12:29:56 - 1.9 -98,6 +98,7 * /u * * author Craig R. McClanahan + * author Remy Maucherat * version $Revision$ $Date$ */ -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 mod_jk2.c jk_service_apache2.c
mturk 2002/10/26 05:38:45 Modified:jk/native2/server/apache2 mod_jk2.c jk_service_apache2.c Log: Move the scoreboard and childId detection from service_apache2 to the mod_jk2. Also set the child_init hook as last, so that mpm has a chance to create the scoreboard. Revision ChangesPath 1.55 +92 -14jakarta-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.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- mod_jk2.c 9 Oct 2002 17:10:52 - 1.54 +++ mod_jk2.c 26 Oct 2002 12:38:45 - 1.55 -69,6 +69,7 #include jk_apache2.h #include scoreboard.h +#include ap_mpm.h #include util_script.h -248,6 +249,8 if( child-mbean-debug -1 ) { fprintf(stderr, mod_jk2:mergeDirConfig() Merged dir config %#lx %s %s %s %s\n, child, child-uri, parent-uri, child-workerName, parent-workerName); +fprintf(stderr, mod_jk2:mergeDirConfig() Merged dir config %#lx %s %s %s %s\n, +child, child-uri, parent-uri, child-workerName, parent-workerName); } } -311,7 +314,6 env-l-jkLog(env, env-l, JK_LOG_ERROR, Error creating workerEnv\n); return; } - workerEnv-initData-add( env, workerEnv-initData, serverRoot, workerEnv-pool-pstrdup( env, workerEnv-pool, ap_server_root)); env-l-jkLog(env, env-l, JK_LOG_INFO, Set serverRoot %s\n, ap_server_root); -329,16 +331,19 { jk_uriEnv_t *newUri; jk_bean_t *jkb; - + if( workerEnv==NULL ) { jk2_create_workerEnv(p, s ); } -if( s-is_virtual == 1 ) { +if( s-is_virtual ) { /* Virtual host */ -fprintf( stderr, Create config for virtual host\n); +ap_log_perror(APLOG_MARK, APLOG_DEBUG, 0, p, + mod_jk Create config for virtual host %s\n, + s-server_hostname ); } else { -/* Default host */ -/* fprintf( stderr, Create config for main host\n); */ +ap_log_perror(APLOG_MARK, APLOG_DEBUG, 0, p, + mod_jk Create config for default server %s\n, + s-server_hostname ); } jkb = workerEnv-globalEnv-createBean2( workerEnv-globalEnv, -363,7 +368,9 jk_uriEnv_t *base = (jk_uriEnv_t *) basev; jk_uriEnv_t *overrides = (jk_uriEnv_t *)overridesv; -fprintf(stderr, Merging workerEnv \n ); +ap_log_perror(APLOG_MARK, APLOG_DEBUG, 0, p, + mod_jk Merging workerEnv\n); + /* The 'mountcopy' option should be implemented in common. */ -375,6 +382,9 jk_env_t *env; if (workerEnv) { env=workerEnv-globalEnv; + +env-l-jkLog(env, env-l, JK_LOG_INFO, + mod_jk2 Shutting down\n); workerEnv-close(env, workerEnv); workerEnv = NULL; } -394,6 +404,10 static char * jk2_init(jk_env_t *env, apr_pool_t *pconf, jk_workerEnv_t *workerEnv, server_rec *s ) { +/* Ugly hack to get the childId - the index used in the scoreboard, + which we'll use in the jk scoreboard +*/ + workerEnv-init(env, workerEnv ); workerEnv-server_name = (char *)ap_get_server_version(); /* Should be done in post config instead (cf DAV2) */ -459,7 +473,12 rc=jk2_apache2_isValidating( plog, gPool ); env-setAprPool(env, gPool); - + +if (!ap_exists_scoreboard_image()) { +env-l-jkLog(env, env-l, JK_LOG_ERROR, +jk2_postconfig() No scoreboard image %d\n, getpid()); +} + if( rc == JK_OK gPool != NULL ) { /* This is the first step */ env-l-jkLog(env, env-l, JK_LOG_INFO, -472,6 +491,7 env-l-jkLog(env, env-l, JK_LOG_INFO, mod_jk.post_config() second invocation\n ); + workerEnv-parentInit( env, workerEnv); -488,6 +508,7 static void jk2_child_init(apr_pool_t *pconf, server_rec *s) { +apr_proc_t proc; jk_uriEnv_t *serverEnv=(jk_uriEnv_t *) ap_get_module_config(s-module_config, jk2_module); jk_env_t *env; -496,16 +517,71 workerEnv = serverEnv-workerEnv; env=workerEnv-globalEnv; + +if (!workerEnv-childProcessId) +workerEnv-childProcessId = getpid(); + +proc.pid = workerEnv-childProcessId; -if(!workerEnv-was_initialized) { +/* detect if scoreboard exists +*/ +if (!ap_exists_scoreboard_image()) { +
cvs commit: jakarta-tomcat-connectors/jk/native2/include jk_workerEnv.h
mturk 2002/10/26 05:41:29 Modified:jk/native2/include jk_workerEnv.h Log: Add the childGeneration variable to the worken env that is readed from scoreboard for multiprocess servers, and gives the child generation number. This is used to prevent the initialization if the jvm fails with killing its own process. Revision ChangesPath 1.27 +2 -1 jakarta-tomcat-connectors/jk/native2/include/jk_workerEnv.h Index: jk_workerEnv.h === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_workerEnv.h,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- jk_workerEnv.h31 May 2002 17:49:07 - 1.26 +++ jk_workerEnv.h26 Oct 2002 12:41:29 - 1.27 -160,6 +160,7 */ int childId; int childProcessId; +int childGeneration; struct jk_env *globalEnv; -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
cvs commit: jakarta-tomcat-connectors/jk/native2/server/isapi jk_isapi_plugin.c
mturk 2002/10/26 05:42:45 Modified:jk/native2/server/isapi jk_isapi_plugin.c Log: Fake the childId as resolved so that worker_jni works properly. We don't have a multiprocess server here. Revision ChangesPath 1.51 +2 -1 jakarta-tomcat-connectors/jk/native2/server/isapi/jk_isapi_plugin.c Index: jk_isapi_plugin.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/isapi/jk_isapi_plugin.c,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- jk_isapi_plugin.c 9 Oct 2002 17:11:22 - 1.50 +++ jk_isapi_plugin.c 26 Oct 2002 12:42:44 - 1.51 -803,6 +803,7 return env; } +workerEnv-childId = 0; /* XXX Detect install dir, be means of service configs, */ -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
DO NOT REPLY [Bug 13989] New: - Linux's binary mod_jk2-1.3-noeapi.so and mod_jk-1.3-noeapi.so does not work on Apache 1.3.27
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13989. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13989 Linux's binary mod_jk2-1.3-noeapi.so and mod_jk-1.3-noeapi.so does not work on Apache 1.3.27 Summary: Linux's binary mod_jk2-1.3-noeapi.so and mod_jk-1.3- noeapi.so does not work on Apache 1.3.27 Product: Tomcat 4 Version: 4.1.12 Platform: Other OS/Version: Linux Status: NEW Severity: Critical Priority: Other Component: Connector:Coyote JK 2 AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I download following binaries and install to apache's libexec/mod_jk.so, libexec/mod_jk2.so: http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.0/bin/linux/i386/mod_jk-1.3-noeapi.so http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk2/release/v2.0.1/bin/linux/i386/mod_jk2-1.3-noeapi.so When I try apachectl start(or configtest), I got following message: Cannot load /usr/local/apache/libexec/mod_jk.so into server: /usr/local/apache/libexec/mod_jk.so: undefined symbol: ap_ctx_get of course, trying JK2, I got following message: Cannot load /usr/local/apache/libexec/mod_jk2.so into server: /usr/local/apache/libexec/mod_jk2.so: undefined symbol: ap_ctx_get AFAIK ap_ctx_get is one of API in Apache's EAPI. I think that mod_jk2-1.3-noeapi.so and mod_jk-1.3-noeapi.so were build in wrong environment. Please check thease binaries, again. -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
cvs commit: jakarta-tomcat-5 tomcat.nsi
remm2002/10/26 07:20:47 Modified:.tomcat.nsi Log: - Use Bootstrap class for NT service. Revision ChangesPath 1.10 +2 -2 jakarta-tomcat-5/tomcat.nsi Index: tomcat.nsi === RCS file: /home/cvs/jakarta-tomcat-5/tomcat.nsi,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- tomcat.nsi9 Oct 2002 12:20:40 - 1.9 +++ tomcat.nsi26 Oct 2002 14:20:47 - 1.10 -89,7 +89,7 SetOutPath $INSTDIR\bin File /oname=tomcat.exe bin\tomcat.exe - ExecWait '$INSTDIR\bin\tomcat.exe -install Apache Tomcat 5.0 $2 -Djava.class.path=$INSTDIR\bin\bootstrap.jar -Dcatalina.home=$INSTDIR -Djava.endorsed.dirs=$INSTDIR\common\endorsed -start org.apache.catalina.startup.BootstrapService -params start -stop org.apache.catalina.startup.BootstrapService -params stop -out $INSTDIR\logs\stdout.log -err $INSTDIR\logs\stderr.log' + ExecWait '$INSTDIR\bin\tomcat.exe -install Apache Tomcat 5.0 $2 -Djava.class.path=$INSTDIR\bin\bootstrap.jar -Dcatalina.home=$INSTDIR -Djava.endorsed.dirs=$INSTDIR\common\endorsed -start org.apache.catalina.startup.Bootstrap -params startd -stop org.apache.catalina.startup.Bootstrap -params stopd -out $INSTDIR\logs\stdout.log -err $INSTDIR\logs\stderr.log' BringToFront ClearErrors -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
cvs commit: jakarta-tomcat-5 build.properties.default build.xml
remm2002/10/26 07:23:12 Modified:.build.properties.default build.xml Log: - Update to new versions. - Remove Watchdog from download target. It takes an insane amount of time to complete, and is mostly not needed. IMO, it should be moved to a different download-watchdog target or something. - Optimize release targets using new Ant features. This should help my poor laptop HD last a bit longer. Revision ChangesPath 1.47 +4 -4 jakarta-tomcat-5/build.properties.default Index: build.properties.default === RCS file: /home/cvs/jakarta-tomcat-5/build.properties.default,v retrieving revision 1.46 retrieving revision 1.47 diff -u -r1.46 -r1.47 --- build.properties.default 24 Oct 2002 11:48:51 - 1.46 +++ build.properties.default 26 Oct 2002 14:23:12 - 1.47 -59,13 +59,13 commons-collections.loc=http://jakarta.apache.org/builds/jakarta-commons/release/commons-collections/v2.1/commons-collections-2.1.tar.gz -# - Commons Launcher, version 20021012 or later - -commons-launcher.home=${base.path}/commons-launcher +# - Commons Launcher, version 0.9 or later - +commons-launcher.home=${base.path}/commons-launcher-0.9 commons-launcher.lib=${commons-launcher.home} commons-launcher.bin=${commons-launcher.home}/bin commons-launcher.jar=${commons-launcher.bin}/commons-launcher.jar commons-launcher.bootstrap.class=${commons-launcher.bin}/LauncherBootstrap.class -commons-launcher.loc=jakarta-commons-sandbox/launcher +commons-launcher.loc=http://jakarta.apache.org/builds/jakarta-commons/release/commons-launcher/v0.9/commons-launcher-0.9.tar.gz # - Commons Digester, version 20020820 or later - 1.49 +59 -110 jakarta-tomcat-5/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-tomcat-5/build.xml,v retrieving revision 1.48 retrieving revision 1.49 diff -u -r1.48 -r1.49 --- build.xml 18 Oct 2002 20:47:59 - 1.48 +++ build.xml 26 Oct 2002 14:23:12 - 1.49 -573,34 +573,14 arg value=tomcat.nsi / /exec move file=${tomcat.dist}/tomcat-installer.exe - tofile=${tomcat.dist}/${final.name}.exe / + tofile=${tomcat.release}/v${version}/bin/${final.name}.exe / /target !-- RELEASE: Create Release === -- - target name=release depends=prepare-release,clean,dist,dist-source,installer,package-zip,package-tgz,package-src-zip,package-src-tgz + target name=release depends=clean,dist,dist-source,prepare-release,installer,package-zip,package-tgz,package-src-zip,package-src-tgz description=Create a Tomcat 5 packaged distribution -mkdir dir=${tomcat.release}/ -mkdir dir=${tomcat.release}/v${version}/ -mkdir dir=${tomcat.release}/v${version}/bin/ -mkdir dir=${tomcat.release}/v${version}/src/ - -copy file=${tomcat.dist}/${final.name}.exe - todir=${tomcat.release}/v${version}/bin - failonerror=false/ -delete file=${tomcat.dist}/${final.name}.exe - failonerror=false/ -move file=${tomcat.dist}/${final.name}.tar.gz - todir=${tomcat.release}/v${version}/bin/ -move file=${tomcat.dist}/${final.name}.zip - todir=${tomcat.release}/v${version}/bin/ - -move file=${tomcat.dist}/${final-src.name}.tar.gz - todir=${tomcat.release}/v${version}/src/ -move file=${tomcat.dist}/${final-src.name}.zip - todir=${tomcat.release}/v${version}/src/ - filter token=VERSION value=${version}/ copy file=KEYS todir=${tomcat.release}/v${version}/ -616,10 +596,11 copy file=resources/welcome.bin.html tofile=${tomcat.release}/v${version}/bin/README.html filtering=true/ + /target target name=package-zip -zip zipfile=${tomcat.dist}/${final.name}.zip +zip zipfile=${tomcat.release}/v${version}/bin/${final.name}.zip zipfileset dir=${tomcat.dist} prefix=${final.name} includes=bin/** / zipfileset dir=${tomcat.dist} prefix=${final.name} -654,6 +635,12 /target target name=prepare-release + +mkdir dir=${tomcat.release}/ +mkdir dir=${tomcat.release}/v${version}/ +mkdir dir=${tomcat.release}/v${version}/bin/ +mkdir dir=${tomcat.release}/v${version}/src/ + condition property=execute.installer and os family=windows / -662,103 +649,72 available file=${nsis.installoptions.dll} / /and /condition + /target target name=package-tgz -mkdir dir=${tomcat.dist}/${final.name} / -copy todir=${tomcat.dist}/${final.name} - fileset dir=${tomcat.dist} -include
cvs commit: jakarta-tomcat-5 build.xml
remm2002/10/26 07:27:13 Modified:.build.xml Log: - Remove taglibs and commons checkouts. (Ideally), we should have only binary dependencies on these, right ? Revision ChangesPath 1.50 +0 -6 jakarta-tomcat-5/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-tomcat-5/build.xml,v retrieving revision 1.49 retrieving revision 1.50 diff -u -r1.49 -r1.50 --- build.xml 26 Oct 2002 14:23:12 - 1.49 +++ build.xml 26 Oct 2002 14:27:13 - 1.50 -902,16 +902,10 command=checkout -P jakarta-tomcat-jasper dest=../ cvs cvsroot=${cvsroot} quiet=true - command=checkout -P jakarta-commons - dest=../ -cvs cvsroot=${cvsroot} quiet=true command=checkout -P jakarta-tomcat-connectors dest=../ cvs cvsroot=${cvsroot} quiet=true command=checkout -P jakarta-servletapi-5 - dest=../ -cvs cvsroot=${cvsroot} quiet=true - command=checkout -P jakarta-taglibs dest=../ /target -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
DO NOT REPLY [Bug 13990] New: - Error in build.xml.txt dist target
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13990. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13990 Error in build.xml.txt dist target Summary: Error in build.xml.txt dist target Product: Tomcat 4 Version: 4.1.12 Platform: All URL: http://jakarta.apache.org/tomcat/tomcat-4.1- doc/appdev/build.xml.txt OS/Version: All Status: NEW Severity: Minor Priority: Other Component: Webapps:Documentation AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] The build.xml.txt example file has the following fragment in the dist target: !-- Copy documentation subdirectories -- mkdir todir=${dist.home}/docs/ copytodir=${dist.home}/docs fileset dir=${docs.home}/ /copy The 'mkdir' line has the attribute todir which is illegal and results in the following error using 'ant dist'. NOTE: I am using Ant 1.5.1 dist: BUILD FAILED file:c:/usr/devel/hello/build.xml:334: The mkdir task doesn't support the todir attribute. Total time: 12 seconds Modifying the line to read: mkdir dir=${dist.home}/docs/ fixes the problem. If I could have attached a patch file to this bug report I would have. -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_jni.c jk_vm_default.c
mturk 2002/10/26 07:46:28 Modified:jk/native2/common jk_worker_jni.c jk_vm_default.c Log: Disable the jni worker and vm if the JVM called abort() in the previous child generation. This prevents ifinite loop trying to load wrong JVM on multi-process servers. Revision ChangesPath 1.31 +34 -3 jakarta-tomcat-connectors/jk/native2/common/jk_worker_jni.c Index: jk_worker_jni.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_jni.c,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- jk_worker_jni.c 14 Oct 2002 06:29:53 - 1.30 +++ jk_worker_jni.c 26 Oct 2002 14:46:28 - 1.31 -216,8 +216,8 jstring stderr_name = NULL; jint rc = 0; char *str_config = NULL; -jk_map_t *props=_this-workerEnv-initData; -jk_vm_t *vm=_this-workerEnv-vm; +jk_map_t *props; +jk_vm_t *vm; jclass jstringClass; jarray jargs; int i=0; -227,12 +227,25 return JK_ERR; } +vm = _this-workerEnv-vm; if( vm == NULL ) { env-l-jkLog(env, env-l, JK_LOG_ERROR, workerJni.init() No VM found\n); return JK_ERR; } +/* XXX Allow only the first child to execute the worker + * The WM will be shared between processes. +*/ +if (_this-workerEnv-childId != 0) { +env-l-jkLog(env, env-l, JK_LOG_INFO, + workerJni.init() Skipping initialization for process %d %d\n, + _this-workerEnv-childId, _this-workerEnv-childProcessId); + + _this-lb_disabled = JK_TRUE; +return JK_OK; +} +props=_this-workerEnv-initData; jniWorker = _this-worker_private; if( jniWorker-className==NULL ) -379,7 +392,7 { jk_worker_t *_this=bean-object; jni_worker_data_t *jniWorker; -jk_vm_t *vm=_this-workerEnv-vm; +jk_vm_t *vm; JNIEnv *jniEnv; jstring cmd_line = NULL; jstring stdout_name = NULL; -392,6 +405,24 env-l-jkLog(env, env-l, JK_LOG_EMERG, In destroy, assert failed - invalid parameters\n); return JK_ERR; +} +vm = _this-workerEnv-vm; + +if( vm == NULL ) { +env-l-jkLog(env, env-l, JK_LOG_ERROR, + jni.destroy() No VM found\n); +return JK_ERR; +} + +/* XXX Allow only the first child to execute the worker + * The WM will be shared between processes. +*/ +if (_this-workerEnv-childId != 0) { +env-l-jkLog(env, env-l, JK_LOG_INFO, + workerJni.init() Skipping destroying for process %d %d\n, + _this-workerEnv-childId, _this-workerEnv-childProcessId); + +return JK_OK; } jniWorker = _this-worker_private; 1.25 +6 -1 jakarta-tomcat-connectors/jk/native2/common/jk_vm_default.c Index: jk_vm_default.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_vm_default.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- jk_vm_default.c 25 Oct 2002 06:52:54 - 1.24 +++ jk_vm_default.c 26 Oct 2002 14:46:28 - 1.25 -655,6 +655,12 jk_vm_t *jkvm; jk_workerEnv_t *workerEnv; +workerEnv=env-getByName( env, workerEnv ); + +if (workerEnv-childGeneration 0) { +result-disabled = 1; +return JK_OK; +} jkvm = (jk_vm_t *)pool-calloc(env, pool, sizeof(jk_vm_t )); jkvm-pool=pool; -671,7 +677,6 result-setAttribute=jk2_jk_vm_setProperty; jkvm-mbean=result; -workerEnv=env-getByName( env, workerEnv ); jkvm-properties=workerEnv-initData; workerEnv-vm=jkvm; -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 mod_jk2.c
mturk 2002/10/26 07:47:33 Modified:jk/native2/server/apache2 mod_jk2.c Log: Some cleanup of the previous patch, skipping some debug code. Revision ChangesPath 1.56 +2 -19 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.55 retrieving revision 1.56 diff -u -r1.55 -r1.56 --- mod_jk2.c 26 Oct 2002 12:38:45 - 1.55 +++ mod_jk2.c 26 Oct 2002 14:47:33 - 1.56 -404,9 +404,6 static char * jk2_init(jk_env_t *env, apr_pool_t *pconf, jk_workerEnv_t *workerEnv, server_rec *s ) { -/* Ugly hack to get the childId - the index used in the scoreboard, - which we'll use in the jk scoreboard -*/ workerEnv-init(env, workerEnv ); workerEnv-server_name = (char *)ap_get_server_version(); -458,7 +455,6 server_rec *s) { apr_pool_t *gPool=NULL; -void *data=NULL; int rc; jk_env_t *env; -474,11 +470,6 env-setAprPool(env, gPool); -if (!ap_exists_scoreboard_image()) { -env-l-jkLog(env, env-l, JK_LOG_ERROR, -jk2_postconfig() No scoreboard image %d\n, getpid()); -} - if( rc == JK_OK gPool != NULL ) { /* This is the first step */ env-l-jkLog(env, env-l, JK_LOG_INFO, -490,16 +481,8 env-l-jkLog(env, env-l, JK_LOG_INFO, mod_jk.post_config() second invocation\n ); - - workerEnv-parentInit( env, workerEnv); - -/* if(!workerEnv-was_initialized) { */ -/* workerEnv-was_initialized = JK_OK; */ - -/* jk2_init( env, pconf, workerEnv, s ); */ -/* } */ return OK; } -565,7 +548,7 ++ap_scoreboard_image-parent[workerEnv-childId].generation; } -if(!workerEnv-was_initialized !workerEnv-childGeneration) { +if(!workerEnv-was_initialized) { workerEnv-was_initialized = JK_TRUE; jk2_init( env, pconf, workerEnv, s ); -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
RE RE: If you know........................ Thanks !
I follow your tutorial bat can't start my servlet !!! Error 404: .. !!!%#$!*7^ I change the name directory Servlet1 to myApp and modifi web.xml what happen ? Visit www.bocajuniors.com.ar -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
cvs commit: jakarta-tomcat-5/resources build.xml
remm2002/10/26 11:52:56 Modified:.build.xml Added: resources build.xml Log: - Add a mainbuild script to allow newbies to build Tomcat very easily once Ant is correctly setup (at least with JDK 1.3+). - The small build.xml will be made available online as a separate (and small) download, as it's the only thing required. - New building documentation coming soon. Revision ChangesPath 1.51 +7 -0 jakarta-tomcat-5/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-tomcat-5/build.xml,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- build.xml 26 Oct 2002 14:27:13 - 1.50 +++ build.xml 26 Oct 2002 18:52:56 - 1.51 @@ -498,6 +498,13 @@ mkdir dir=${tomcat.dist}/src/${jasper.project}/ mkdir dir=${tomcat.dist}/src/${jasper.project}/jasper2/ +!-- Main build file -- +copy todir=${tomcat.dist}/src + fileset dir=${basedir}/resources +include name=build.xml / + /fileset +/copy + !-- jakarta-tomcat-5 source -- copy todir=${tomcat.dist}/src/${tomcat.project} fileset dir=${basedir} 1.1 jakarta-tomcat-5/resources/build.xml Index: build.xml === project name=Tomcat 5.0 Netbuild default=build basedir=. !-- = Initialize Property Values === -- !-- See build.properties.sample in the top level directory for all -- !-- property values you must customize for successful building!!!-- property file=${user.home}/build.properties/ property file=build.properties/ property file=build.properties.default/ !-- Project Properties -- property name=name value=Apache Tomcat / property name=year value=2002 / property name=version value=5.0 / property name=project value=jakarta-tomcat / property name=final.namevalue=${project}-${version} / property name=final-src.namevalue=${project}-${version}-src / !-- CVSROOT -- property name=cvsroot value=:pserver:[EMAIL PROTECTED]:/home/cvspublic / !-- Subprojects -- property name=api.project value=jakarta-servletapi-5 / property name=tomcat.projectvalue=jakarta-tomcat-5 / property name=catalina.project value=jakarta-tomcat-catalina / property name=jtc.project value=jakarta-tomcat-connectors / property name=jasper.projectvalue=jakarta-tomcat-jasper / !-- Source dependencies -- property name=api.home value=${basedir}/${api.project}/ property name=catalina.home value=${basedir}/${catalina.project}/ property name=jasper.home value=${basedir}/${jasper.project}/jasper2/ property name=jtc.home value=${basedir}/${jtc.project}/ property name=tomcat.home value=${basedir}/${tomcat.project}/ target name=build depends=check.source,get.source description=Builds all components ant dir=${tomcat.home} target=download / ant dir=${tomcat.home} target=deploy / /target target name=check.source available property=source.exists file=${basedir}/${tomcat.project} / /target target name=get.source unless=source.exists antcall target=checkout / /target target name=checkout description=Update or checkout required sources from CVS cvs cvsroot=${cvsroot} quiet=true command=checkout -P ${tomcat.project} dest=${basedir} compression=true / cvs cvsroot=${cvsroot} quiet=true command=checkout -P ${catalina.project} dest=${basedir} compression=true / cvs cvsroot=${cvsroot} quiet=true command=checkout -P ${jasper.project} dest=${basedir} compression=true / cvs cvsroot=${cvsroot} quiet=true command=checkout -P ${jtc.project} dest=${basedir} compression=true / cvs cvsroot=${cvsroot} quiet=true command=checkout -P ${api.project} dest=${basedir} compression=true / /target /project -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
Servlet alias in 5.0?
Hi, Are there any plans to introduce a servlet alias or URL rewrite function into Tomcat 5.0.x? As far as I understand, there is currently no way in Tomcat 4.0.x or 4.1.x to redirect URL:s from various contexts to a (single instance) servlet. I've tried to use a context declaration with the same basedir as another web application, but that results in multiple instances of the servlet (which for other reasons does not work for me). Cheers, /Per Per Cederberg http://www.percederberg.net/ -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
DO NOT REPLY [Bug 10373] - Wrong response status code for custom error page
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10373. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10373 Wrong response status code for custom error page --- Additional Comments From [EMAIL PROTECTED] 2002-10-27 04:00 --- Oops... I should point out I was reading the 2.3 spec. 2.4 apparently clarifies the 500 response code thing by saying it only applies as a default if there are no other matches. -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org